library(readxl)
library(ggplot2)
r <- read_excel("D:/DATA/datar.xlsx")
head(r)
## # A tibble: 6 × 4
##   Date                 SP500      DJ    VNI
##   <dttm>               <dbl>   <dbl>  <dbl>
## 1 2023-07-10 00:00:00  0.240  0.482   0.887
## 2 2023-07-07 00:00:00 -0.287 -0.555   1.05 
## 3 2023-07-06 00:00:00 -0.795 -1.08   -0.743
## 4 2023-07-05 00:00:00 -0.197 -0.363   0.807
## 5 2023-07-03 00:00:00  0.117  0.0232  0.474
## 6 2023-06-30 00:00:00  1.22   0.828  -0.464

Thực hiện kiểm định chuỗi lợi suất của VNI và S&P500

Chúng tôi thực hiện thu thập chuỗi lợi suất của 2 thị trường chứng khoán Việt Nam và Mỹ đại diện lần lượt bởi 2 chỉ số VNI và S&P 500 với chuỗi liệu hằng ngày từ 3/12/2019 đến 10/07/2023. Tiếp theo, ta thực hiện một số kiểm định đói với các chuỗi tỷ suất sinh lợi như sau:

Kiểm định phân phối chuẩn (Jarque-Bera)

Để kiểm định một chuỗi dữ liệu có phải là phân phối chuẩn hay không, chúng ta có rất nhiều phương pháp. Trong phần này, ta sử dụng kiểm định Jarque-Bera để kiểm tra điều đó.

Ta có bài toán kiểm định

Thực hiện kiểm định cho chuỗi lợi suất VNI:

library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
jarque.bera.test(r$VNI)
## 
##  Jarque Bera Test
## 
## data:  r$VNI
## X-squared = 611.27, df = 2, p-value < 2.2e-16

Ta thấy giá trị p_value < 2.2 * 10^-16 = 0.00000000000000022. Do đó bác bỏ giả thuyết H0. Vậy chuỗi lợi suất VNI không có phân phối chuẩn.

Tiếp tục, ta thực hiện kiểm định cho chuỗi lợi suất S&P500 như sau:

library(tseries)
jarque.bera.test(r$SP500)
## 
##  Jarque Bera Test
## 
## data:  r$SP500
## X-squared = 4899, df = 2, p-value < 2.2e-16

Ta thấy giá trị p_value < 2.2 * 10^-16 = 0.00000000000000022. Do đó bác bỏ giả thuyết H0. Vậy chuỗi lợi suất S&P500 không có phân phối chuẩn.

Kiểm định tính dừng(Augmented Dickey–Fuller)

Ta có bài toán kiểm định như sau:

Giá định:

H0: Dữ liệu không ổn định H1: Dữ liệu đã ổn định

Thực hiện kiểm định đối với chuỗi lợi suất VNI như sau:

library(tseries)
adf.test(r$VNI, alternative = "stationary")
## Warning in adf.test(r$VNI, alternative = "stationary"): p-value smaller than
## printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  r$VNI
## Dickey-Fuller = -8.6418, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary

Ta thấy p_value=0.01 < 5%. Bác bỏ giá thuyết H0. Vậy chuỗi lợi suất VNI dừng.

Tiếp tục thực hiện cho chuỗi lợi suất S&P500 như sau:

library(tseries)
adf.test(r$SP500, alternative = "stationary")
## Warning in adf.test(r$SP500, alternative = "stationary"): p-value smaller than
## printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  r$SP500
## Dickey-Fuller = -8.6899, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary

Ta thấy p_value=0.01 < 5%. Bác bỏ giá thuyết H0. Vậy chuỗi lợi suất S&P500 dừng.

Kiểm định tương quan chuỗi Ljung-Box:

Bài toán kiểm định:

H0: Không có tương quan chuỗi H1: Có tương quan chuỗi

Thực hiện kiểm định chuỗi lợi suất VNI như sau:

library(tseries)
library(zoo)
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
Box.test(r$VNI,lag=1)
## 
##  Box-Pierce test
## 
## data:  r$VNI
## X-squared = 3.4556, df = 1, p-value = 0.06304

Ta thấy p_value=0.06304 < 10%. Do đó, chấp nhận H0. Nghĩa là chuỗi lợi suất VNI có hiện tượng tương quan chuỗi.

Thực hiện kiểm định đối với chuỗi lợi suất S&P500 như sau:

library(tseries)
Box.test(r$SP500)
## 
##  Box-Pierce test
## 
## data:  r$SP500
## X-squared = 39.396, df = 1, p-value = 3.46e-10

Ta thấy p_value=3.46 * 10^-10 < 5%. Do đó, bác bỏ H0. Nghĩa là chuỗi lợi suất S&P500 có hiện tượng tự tương quan trong chuỗi.

Kiểm định hiệu ứng ARCH-LM: