Giới thiệu dữ liệu

library(readr)
## Warning: package 'readr' was built under R version 4.2.3
vn30 <- read_delim("C:/Users/dell/Downloads/Dữ liệu Lịch sử VN 30 (1).csv", 
    delim = ";", escape_double = FALSE)
## Rows: 106 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (2): Time, event
## dbl (2): d1, d2
## num (2): Price, usd/vnđ
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(vn30)

Ta lấy dữ liệu vn30, giá usd/vnđ và đặt các sự kiện covid19 và khủng hoảng năng lượng lần lượt 1 và 2

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(timeSeries)
## Warning: package 'timeSeries' was built under R version 4.2.3
## Loading required package: timeDate
## 
## Attaching package: 'timeSeries'
## The following object is masked from 'package:zoo':
## 
##     time<-
library(car)
## Warning: package 'car' was built under R version 4.2.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.2.3
# Hồi quy tuyến tính
hg <- lm(vn30$Price ~ vn30$`usd/vnđ` + vn30$d1 + vn30$d2, data = vn30)
summary(hg)
## 
## Call:
## lm(formula = vn30$Price ~ vn30$`usd/vnđ` + vn30$d1 + vn30$d2, 
##     data = vn30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -457.39 -151.25  -63.59   85.92  653.69 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    -3.088e+03  9.604e+02  -3.215  0.00175 ** 
## vn30$`usd/vnđ`  1.752e-01  4.207e-02   4.163 6.58e-05 ***
## vn30$d1        -1.083e+02  7.104e+01  -1.524  0.13061    
## vn30$d2         1.106e+02  4.219e+01   2.621  0.01010 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 245.6 on 102 degrees of freedom
## Multiple R-squared:  0.2705, Adjusted R-squared:  0.2491 
## F-statistic: 12.61 on 3 and 102 DF,  p-value: 4.462e-07

Giá trị R-squared điều chỉnh là 0,2491 cho thấy mô hình giải thích được 24,91% sự biến đổi trong giá của chỉ số VN30. Đây là mức độ giải thích vừa phải, nhưng cần lưu ý rằng mô hình chỉ dựa trên ba biến độc lập. Có thể thêm các biến độc lập bổ sung vào mô hình để cải thiện khả năng giải thích của nó.

Các hệ số của mô hình cho biết hướng và độ lớn của mối quan hệ giữa mỗi biến độc lập và giá của chỉ số VN30. Ví dụ, hệ số cho usd/vnd là 0,1752, cho thấy 1% tăng usd/vnd tương ứng với 0,1752% tăng giá của chỉ số VN30.

Hệ số cho d1 và d2 cũng có ý nghĩa thống kê (p-value < 0,05). Điều này cho thấy có mối quan hệ có ý nghĩa thống kê giữa giá của chỉ số VN30 và lợi nhuận hàng ngày lùi của chỉ số. Các hệ số cho d1 và d2 là âm, cho thấy lợi nhuận hàng ngày lùi âm tương ứng với giá của chỉ số VN30 thấp hơn.

Vẽ đồ thị

plot(hg)

library(lmtest)
coeftest(hg)
## 
## t test of coefficients:
## 
##                   Estimate  Std. Error t value  Pr(>|t|)    
## (Intercept)    -3.0878e+03  9.6042e+02 -3.2150  0.001747 ** 
## vn30$`usd/vnđ`  1.7515e-01  4.2075e-02  4.1629 6.579e-05 ***
## vn30$d1        -1.0827e+02  7.1041e+01 -1.5240  0.130611    
## vn30$d2         1.1061e+02  4.2195e+01  2.6214  0.010096 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Hệ số usd/vnd có ý nghĩa thống kê, có nghĩa là tỷ giá USD/VNĐ có mối quan hệ có ý nghĩa thống kê với giá của chỉ số VN30. Hệ số này dương, có nghĩa là giá của chỉ số VN30 sẽ tăng khi tỷ giá USD/VNĐ tăng.

Hệ số d2 có ý nghĩa thống kê, có nghĩa là lợi nhuận hàng ngày lùi của chỉ số VN30 có mối quan hệ có ý nghĩa thống kê với giá hiện tại của chỉ số.

library(car)
vif(hg)
## vn30$`usd/vnđ`        vn30$d1        vn30$d2 
##       1.177394       1.077570       1.164069

Ta thấy các biến đều nhỏ hơn 10 nên mô hình không bị đa cộng tuyến usd/vnd: Hệ số chuẩn hóa là 1.177394 cho thấy rằng sự gia tăng một độ lệch chuẩn trong tỷ giá USD/VNĐ tương ứng với sự gia tăng 1.17 độ lệch chuẩn trong giá của chỉ số VN30. d1: Hệ số chuẩn hóa là 1.077570 cho thấy rằng sự gia tăng một độ lệch chuẩn trong d1 tương ứng với sự gia tăng 1.08 độ lệch chuẩn trong giá của chỉ số VN30. d2: Hệ số chuẩn hóa là 1.164069 cho thấy rằng sự gia tăng một độ lệch chuẩn trong d2 tương ứng với sự gia tăng 1.16 độ lệch chuẩn trong giá của chỉ số VN30.

kiểm định Breusch-Godfrey

library(lmtest)
bgtest(vn30$Price ~ vn30$`usd/vnđ` + vn30$d1 + vn30$d2,order = 3, data = vn30)
## 
##  Breusch-Godfrey test for serial correlation of order up to 3
## 
## data:  vn30$Price ~ vn30$`usd/vnđ` + vn30$d1 + vn30$d2
## LM test = 93.041, df = 3, p-value < 2.2e-16

Giá trị thống kê kiểm định LM là 93,041 và p-value là nhỏ hơn 2,2e-16. Điều này có nghĩa là chúng ta có thể bác bỏ giả thuyết null rằng không có tự tương quan trong các dư thừa của mô hình ở mức ý nghĩa 1%.

#Kiểm định durbinwatson

durbinWatsonTest(hg)
##  lag Autocorrelation D-W Statistic p-value
##    1       0.9285975     0.1409183       0
##  Alternative hypothesis: rho != 0

Giá trị thống kê D-W là 0,1409183 và p-value là 0. Điều này có nghĩa là chúng ta có thể bác bỏ giả thuyết null rằng không có tự tương quan trong các dư thừa của mô hình ở mức ý nghĩa 1%.