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