Tải dữ liệu

setwd("d:/DATA2020/CAR/MuaData")
library(foreign)
dulieu <- read.dta("KetHop12.dta")
head(dulieu)
##   MACK ThoiGian PRICE GiaDongCua  Nam thang VNINDEX Thang
## 1  BCE 20160301  4.08        6.8 2016    03  561.56    03
## 2  HDA 20160301 11.16       13.4 2016    03  561.56    03
## 3  DVP 20160301 46.65       66.0 2016    03  561.56    03
## 4  HPG 20160301  7.92       27.4 2016    03  561.56    03
## 5  ELC 20160301 19.16       24.0 2016    03  561.56    03
## 6  RAL 20160301 54.45       67.5 2016    03  561.56    03

Tính Ri và Rm

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
attach(dulieu)
dulieu <- dulieu %>% arrange(MACK,ThoiGian)
dulieu <- dulieu %>% group_by(MACK) %>% mutate(lagPRICE=lag(PRICE, n=1))
dulieu <- dulieu %>% group_by(MACK) %>% mutate(lagVNINDEX=lag(VNINDEX, n=1))
dulieu <- dulieu %>% group_by(MACK) %>% mutate(Ri=log(lagPRICE/PRICE))
dulieu <- dulieu %>% group_by(MACK) %>% mutate(Rm=log(lagVNINDEX/VNINDEX))

dulieu <- dulieu %>% group_by(MACK) %>% mutate(STT = 1:n())
dulieu <- dulieu %>% mutate(CUASO = STT-24)
dulieu1 <-dulieu %>% dplyr::filter(CUASO >= -20 & CUASO <= 20)

Tính AR

hoiquy <-lm(Ri~Rm,data=dulieu1)
summary(hoiquy)
## 
## Call:
## lm(formula = Ri ~ Rm, data = dulieu1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.17283 -0.01138  0.00176  0.01325  2.34126 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.0015928  0.0008931  -1.784   0.0745 .  
## Rm           0.1685382  0.0282175   5.973 2.46e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.0698 on 6312 degrees of freedom
## Multiple R-squared:  0.00562,    Adjusted R-squared:  0.005463 
## F-statistic: 35.67 on 1 and 6312 DF,  p-value: 2.459e-09
names(hoiquy)
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "xlevels"       "call"          "terms"         "model"
dulieu1 <- dulieu1%>% mutate(AR=Ri-(hoiquy$coefficients[1]+hoiquy$coefficients[2]*Rm))
dulieu1 <- dulieu1 %>%group_by(MACK)%>% mutate(CAR=cumsum(AR))

dulieu1 <- dulieu1 %>% group_by(ThoiGian) %>% mutate(AAR= mean(AR))
dulieu2 <- dulieu1 %>% dplyr:: filter(MACK=="AAA") %>% select(ThoiGian,CUASO, AAR)
dulieu2$CAAR<-cumsum(dulieu2$AAR)



attach(dulieu2)
## The following object is masked from dulieu:
## 
##     ThoiGian
dulieu2$t1 <- AAR/sd(AAR)
dulieu2$p1 <- pt(dulieu2$t1,154)
dulieu2$t2 <- CAAR/sd(CAAR)
dulieu2$p2 <- pt(dulieu2$t2,154)
head(dulieu2, 21)
## # A tibble: 21 x 8
## # Groups:   ThoiGian [21]
##    ThoiGian CUASO       AAR     CAAR      t1    p1     t2     p2
##       <int> <dbl>     <dbl>    <dbl>   <dbl> <dbl>  <dbl>  <dbl>
##  1 20160304   -20 -0.00524  -0.00524 -0.777  0.219 -0.561 0.288 
##  2 20160307   -19  0.00121  -0.00403  0.179  0.571 -0.432 0.333 
##  3 20160308   -18  0.00233  -0.00171  0.345  0.635 -0.183 0.428 
##  4 20160309   -17 -0.000330 -0.00204 -0.0490 0.481 -0.218 0.414 
##  5 20160310   -16 -0.00762  -0.00966 -1.13   0.130 -1.03  0.151 
##  6 20160311   -15 -0.00214  -0.0118  -0.317  0.376 -1.26  0.104 
##  7 20160314   -14 -0.00284  -0.0146  -0.421  0.337 -1.57  0.0594
##  8 20160315   -13  0.00672  -0.00792  0.996  0.840 -0.849 0.199 
##  9 20160316   -12 -0.00206  -0.00999 -0.306  0.380 -1.07  0.143 
## 10 20160317   -11 -0.00466  -0.0146  -0.692  0.245 -1.57  0.0593
## # ... with 11 more rows