require(tidyverse)
## Loading required package: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.0 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.1 ✔ tibble 3.1.8
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(ggplot2)
library(readxl)
## Warning: package 'readxl' was built under R version 4.2.3
library(plm)
##
## Attaching package: 'plm'
##
## The following objects are masked from 'package:dplyr':
##
## between, lag, lead
library(lmtest)
## 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
setwd("C:/MPNN2")
data <- read_excel("data.xlsx",3)
## New names:
## • `` -> `...1`
data <- data[,2:8]
data
Câu 5: Chạy mô hình với các phân phối khác nhau của các biến đầu vào.
Sau khi kiểm định phân phối cho các biến độc lập thì kết quả cho thấy các biến độc lập đều không tuân theo phân phối nào. Vì thế tác giả sẽ sử dụng chuyển động Brown để mô phỏng lại các biến độc lập theo công thức sau:
\[S_t=S_0exp((μ−σ^{2}/2)t+σW_t\]
Trong đó
\(S_0\): Giá gốc ban đầu
μ: Giá trị trung bình của tỷ giá sinh lời kỳ vọng
σ: Độ biến động của tỷ giá sinh lời kỳ vọng
r_exr <- diff(log(data$EXR))
r_vni <- diff(log(data$VNI))
r_hnx <- diff(log(data$HNX))
r_sp500 <- diff(log(data$SP500))
r_xau <- diff(log(data$XAU))
r_wti <- diff(log(data$WTI))
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$EXR[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_exr) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_exr-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
EXR <- gbm.f(n,S0,mu,sigma)
plot(EXR, type = 'l', col = 'green', main = "Tỷ giá hối đoái", ylab = "EXR", xlab = "Ngày")
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$VNI[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_vni) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_vni-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
VNI <- gbm.f(n,S0,mu,sigma)
plot(VNI, type = 'l', col = 'green', main = "Chỉ số VN-Index", ylab = "VNI", xlab = "Ngày")
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$HNX[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_hnx) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_hnx-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
HNX <- gbm.f(n,S0,mu,sigma)
plot(HNX, type = 'l', col = 'green', main = "Chỉ số HNX-Index", ylab = "HNX", xlab = "Ngày")
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$SP500[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_sp500) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_sp500-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
SP500 <- gbm.f(n,S0,mu,sigma)
plot(SP500, type = 'l', col = 'green', main = "Chỉ số SP500-Index", ylab = "SP500", xlab = "Ngày")
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$XAU[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_xau) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_xau-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
XAU <- gbm.f(n,S0,mu,sigma)
plot(XAU, type = 'l', col = 'green', main = "Tỷ giá vàng", ylab = "XAU", xlab = "Ngày")
set.seed(123)
gbm.f = function(n,S0,mu,sigma){
t = 1
t.s = seq(0,t,length = n)
dt = t/n
Bt = sqrt(t)*cumsum(rnorm((n),0,1))
St = S0*exp((mu-sigma^2/2)*t.s + sigma*Bt)
St # Kết quả của GBM
}
n <- 10000
S0 <- data$WTI[1] #dữ liệu gốc
mu <- (1/(n*(1/n)))*sum(r_wti) #tính lợi nhuận kỳ vọng giá
sigma <- sqrt((sum((r_wti-mu)^2))*(1/(n-1)*(1/n))) #tính độ biến động giá
WTI <- gbm.f(n,S0,mu,sigma)
plot(WTI, type = 'l', col = 'green', main = "TỶ giá dầu", ylab = "WTI", xlab = "Ngày")
Mô hình đã được xây dựng:
\[CTG= -4,305e^{+04} + 2,320e^{+00}EXR - 5,602e^{+01}HNX +4,974e^{+01}VNI - 1,151e^{+00}SP500 - 1,094e^{+01}XAU - 1,855e^{+01}WTI\]
# Mô phỏng mô hình
CTG <- -4.305e+04 + 2.320e+00*EXR +4.974e+01*VNI - 5.602e+01*HNX - 1.151e+00*SP500 - 1.094e+01*XAU - 1.855e+01*WTI
plot(CTG, type = 'l', col = 'pink', main = "Giá cổ phiếu CTG", ylab = "CTG", xlab = "Ngày")
summary(CTG)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 29509 30704 31566 31487 32369 32892
# Đặt quy ước nếu giá cổ phiếu CTG được xem là cao nếu lớn hơn hoặc bằng 31487 và giá cổ phiếu CTG được xem là thấp nếu nhỏ hơn 31487
CTGthap <- CTG[CTG < 31487]
CTGcao <- CTG[CTG >= 31487]
table(cut(CTG,breaks=2))
##
## (2.95e+04,3.12e+04] (3.12e+04,3.29e+04]
## 3852 6148
table(cut(CTG,2,labels = c('thap','cao')))
##
## thap cao
## 3852 6148
length(CTGthap)/length(CTG)
## [1] 0.4632
Từ kết quả trên ta thấy xác xuất giá cổ phiếu CTG thấp hơn 31487VND là 46,32%, hay nói cách khác trong 10000 ngày nữa thì xác suất để giá của giá cổ phiếu CTG dưới 31487VND là 46,32%.
length(CTGcao)/length(CTG)
## [1] 0.5368
Từ kết quả trên ta thấy xác xuất giá cổ phiếu CTG cao hơn hoặc bằng 31487VND là 53,68%, hay nói cách khác trong 10000 ngày nữa thì xác suất để giá của giá cổ phiếu CTG cao hơn hoặc bằng 31487VND là 53,68%.
Câu 4: Xây dựng mô hình cho đối tượng cần mô phỏng và giải thích mô hình.
Dữ liệu nghiên cứu được thu thập tại trang web Investing.com bao gồm: tỷ giá hối đoái, chỉ số VNI, giá dầu, giá vàng, giá đóng cửa của cổ phiếu của ngân hàng Vietcombank và ngân hàng Vietinbank trong giai đoạn từ 01/2017 đến 08/2023 để xem xét sự tác động của các yếu tố đến giá cổ phiếu ngân hàng VietinBank.
\[CTG= β_0 + β_1VNI + β_2EXR + β_3HNX + β_4SP500 + β_5XAU + β_6WTI\]
Trong đó
CTG: Giá đóng cửa của cổ phiếu ngân hàng TMCP VietinBank
HNX: Chỉ số phản ánh biến động giá cổ phiếu được niêm yết trên sàn Hà Nội
EXR: Tỷ giá đồng đola Mỹ so với đồng Việt Nam
VNI: Chỉ số phản ánh biến động giá cổ phiếu được niêm yết trên sàn TPHCM
SP500: Chỉ số chứng khoán được dựa trên vốn hóa của 500 công ty đại chúng lớn nhất nước Mỹ
XAU: Tỷ giá vàng (XAU/USD)
WTI: Tỷ giá dầu (WTI/USD)
mh1 <- lm(data$CTG ~ data$EXR + data$HNX+ data$VNI + data$SP500 + data$XAU + data$WTI)
summary(mh1)
##
## Call:
## lm(formula = data$CTG ~ data$EXR + data$HNX + data$VNI + data$SP500 +
## data$XAU + data$WTI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5060.4 -1631.2 -21.7 1457.3 6426.6
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.305e+04 8.565e+03 -5.026 6.51e-07 ***
## data$EXR 2.320e+00 2.884e-01 8.044 4.24e-15 ***
## data$HNX -5.602e+01 3.941e+00 -14.214 < 2e-16 ***
## data$VNI 4.974e+01 2.217e+00 22.434 < 2e-16 ***
## data$SP500 -1.151e+00 5.720e-01 -2.013 0.0445 *
## data$XAU -1.094e+01 1.383e+00 -7.915 1.10e-14 ***
## data$WTI -1.855e+01 4.043e+00 -4.589 5.37e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2095 on 638 degrees of freedom
## Multiple R-squared: 0.7005, Adjusted R-squared: 0.6977
## F-statistic: 248.7 on 6 and 638 DF, p-value: < 2.2e-16
Từ kết quả trên ta có mô hình sau:
\[CTG= -4,305e^{+04} + 2,320e^{+00}EXR - 5,602e^{+01}HNX +4,974e^{+01} - 1,151e^{+00}SP500 - 1,094e^{+01}XAU - 1,855e^{+01}WTI\]
Thông qua kết quả hồi quy cho thấy có 5 biến có ý nghĩa thống kê với mức ý nghĩa 5% là biến EXR, VNI, SP500, XAU và WTI có tác động đến giá cổ phiếu của VietinBank - CTG. Trong điều kiện các yếu tố khác không đổi:
Biến EXR có mối tương quan cùng chiều với giá cổ phiếu Vietinbank cho thấy khi tỷ giá hối đoái tăng 1 thì giá cổ phiếu CTG tăng 1.977e+01
Biến VNI có mối tương quan cùng chiều với giá cổ phiếu Vietinbank cho thấy khi chỉ số VN-Index tăng 1 điểm thì giá cổ phiếu CTG tăng 1.672e+00
Biến SP500 có mối tương quan cùng chiều với giá cổ phiếu Vietinbank cho thấy khi chỉ số SP500 tăng 1 điểm thì giá cổ phiếu CTG tăng 1.264e+00
Biến XAU có mối tương quan cùng chiều với giá cổ phiếu Vietinbank cho thấy khi tỷ giá vàng tăng 1 USD thì giá cổ phiếu CTG tăng 6.480e+00
Biến WTI có mối tương quan cùng chiều với giá cổ phiếu Vietinbank cho thấy khi tỷ giá dầu tăng 1 USD thì giá cổ phiếu CTG tăng 6.480e+00
Ngoài ra, biến HNX không có ý nghĩa thống kê tại mức 5%, nghĩa là chỉ số HNX không có ảnh hưởng đến giá cổ phiếu CTG
Câu 3: Xác định phân phối cho các biến (ngẫu nhiên) đầu vào, giải thích.
summary(data$EXR)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22625 22933 23078 23214 23400 24871
sd(data$EXR)
## [1] 477.7447
Biến EXR có giá trị trung bình là 23214 tức là giá đóng cửa trung bình của tỷ giá hối đoái là 23214VND/USD và giá trị trung vị là 23078. Biến này đạt giá trị thấp nhất là 22625VND/USD và đạt cao nhất là 24871VND/USD. Với độ lệch chuẩn là 477,7447
hist(data$EXR)
qqnorm(data$EXR)
qqline(data$EXR)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến EXR tuân theo phân phối chuẩn
\(H_1\): Biến EXR không tuân theo phân phối chuẩn
shapiro.test(data$EXR)
##
## Shapiro-Wilk normality test
##
## data: data$EXR
## W = 0.81748, p-value < 2.2e-16
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến EXR không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến EXR tuân theo phân phối loga chuẩn
\(H_1\): Biến EXR không tuân theo phân phối loga chuẩn
ks.test(data$EXR, y = 'plnorm')
## Warning in ks.test.default(data$EXR, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$EXR
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến EXR không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến EXR tuân theo phân phối mũ
\(H_1\): Biến EXR không tuân theo phân phối mũ
ks.test(data$EXR, y = 'pexp')
## Warning in ks.test.default(data$EXR, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$EXR
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến EXR không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến EXR tuân theo phân phối đều
\(H_1\): Biến EXR không tuân theo phân phối đều
ks.test(data$EXR, y = 'punif')
## Warning in ks.test.default(data$EXR, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$EXR
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến EXR không tuân theo phân phối đều.
summary(data$VNI)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 911.9 1088.3 1230.3 1238.2 1359.9 1528.6
sd(data$VNI)
## [1] 158.3755
Biến VNI có giá trị trung bình là 1238,2 tức là giá trị trung bình của chỉ số VNindex là 1238,2 điểm và giá trị trung vị là 1230,3. Biến này đạt giá trị thấp nhất là 911,9 điểm và đạt cao nhất là 1528,6 điểm. Với độ lệch chuẩn là 158,3755
hist(data$VNI)
qqnorm(data$VNI)
qqline(data$VNI)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến VNI tuân theo phân phối chuẩn
\(H_1\): Biến VNI không tuân theo phân phối chuẩn
shapiro.test(data$VNI)
##
## Shapiro-Wilk normality test
##
## data: data$VNI
## W = 0.95319, p-value = 1.921e-13
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến VNI không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến VNI tuân theo phân phối loga chuẩn
\(H_1\): Biến VNI không tuân theo phân phối loga chuẩn
ks.test(data$VNI, y = 'plnorm')
## Warning in ks.test.default(data$VNI, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VNI
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến VNI không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến VNI tuân theo phân phối mũ
\(H_1\): Biến VNI không tuân theo phân phối mũ
ks.test(data$VNI, y = 'pexp')
## Warning in ks.test.default(data$VNI, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VNI
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến VNI không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến VNI tuân theo phân phối đều
\(H_1\): Biến VNI không tuân theo phân phối đều
ks.test(data$VNI, y = 'punif')
## Warning in ks.test.default(data$VNI, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VNI
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến VNI không tuân theo phân phối đều.
summary(data$HNX)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 175.8 221.3 284.6 298.1 346.5 493.8
sd(data$HNX)
## [1] 84.05601
Biến HNX có giá trị trung bình là 298,1 tức là giá trị trung bình của chỉ số HNX là 298,1 điểm và giá trị trung vị là 284,6 . Biến này đạt giá trị thấp nhất là 175,8 điểm và đạt cao nhất là 493,8 điểm. Với độ lệch chuẩn là 84,05601
hist(data$HNX)
qqnorm(data$HNX)
qqline(data$HNX)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến HNX tuân theo phân phối chuẩn
\(H_1\): Biến HNX không tuân theo phân phối chuẩn
shapiro.test(data$HNX)
##
## Shapiro-Wilk normality test
##
## data: data$HNX
## W = 0.89842, p-value < 2.2e-16
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến HNX không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến HNX tuân theo phân phối loga chuẩn
\(H_1\): Biến HNX không tuân theo phân phối loga chuẩn
ks.test(data$HNX, y = 'plnorm')
## Warning in ks.test.default(data$HNX, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$HNX
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến HNX không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến HNX tuân theo phân phối mũ
\(H_1\): Biến HNX không tuân theo phân phối mũ
ks.test(data$HNX, y = 'pexp')
## Warning in ks.test.default(data$HNX, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$HNX
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến HNX không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến HNX tuân theo phân phối đều
\(H_1\): Biến HNX không tuân theo phân phối đều
ks.test(data$HNX, y = 'punif')
## Warning in ks.test.default(data$HNX, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$HNX
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến HNX không tuân theo phân phối đều.
summary(data$SP500)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3577 3929 4137 4157 4385 4797
sd(data$SP500)
## [1] 286.7793
Biến SP500 có giá trị trung bình là 4157 tức là giá trị trung bình của chỉ số S&P500 là 4157 điểm và giá trị trung vị là 4137. Biến này đạt giá trị thấp nhất là 3577 điểm và đạt cao nhất là 4797 điểm. Với độ lệch chuẩn là 286,7793
hist(data$SP500)
qqnorm(data$SP500)
qqline(data$SP500)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến SP500 tuân theo phân phối chuẩn
\(H_1\): Biến SP500 không tuân theo phân phối chuẩn
shapiro.test(data$SP500)
##
## Shapiro-Wilk normality test
##
## data: data$SP500
## W = 0.97759, p-value = 2.253e-08
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến SP500 không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến SP500 tuân theo phân phối loga chuẩn
\(H_1\): Biến SP500 không tuân theo phân phối loga chuẩn
ks.test(data$SP500, y = 'plnorm')
## Warning in ks.test.default(data$SP500, y = "plnorm"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$SP500
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến SP500 không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến SP500 tuân theo phân phối mũ
\(H_1\): Biến SP500 không tuân theo phân phối mũ
ks.test(data$SP500, y = 'pexp')
## Warning in ks.test.default(data$SP500, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$SP500
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến SP500 không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến SP500 tuân theo phân phối đều
\(H_1\): Biến SP500 không tuân theo phân phối đều
ks.test(data$SP500, y = 'punif')
## Warning in ks.test.default(data$SP500, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$SP500
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến SP500 không tuân theo phân phối đều.
summary(data$XAU)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1622 1770 1812 1816 1870 2052
sd(data$XAU)
## [1] 76.01253
Biến XAU có giá trị trung bình là 1816 tức là giá trị trung bình của tỷ giá vàng là 1816USD và giá trị trung vị là 1812. Biến này đạt giá trị thấp nhất là 1622USD và đạt cao nhất là 2052USD. Với độ lệch chuẩn là 76,01253
hist(data$XAU)
qqnorm(data$XAU)
qqline(data$XAU)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến XAU tuân theo phân phối chuẩn
\(H_1\): Biến XAU không tuân theo phân phối chuẩn
shapiro.test(data$XAU)
##
## Shapiro-Wilk normality test
##
## data: data$XAU
## W = 0.99478, p-value = 0.02698
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến XAU không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến XAU tuân theo phân phối loga chuẩn
\(H_1\): Biến XAU không tuân theo phân phối loga chuẩn
ks.test(data$XAU, y = 'plnorm')
## Warning in ks.test.default(data$XAU, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$XAU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến XAU không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến XAU tuân theo phân phối mũ
\(H_1\): Biến XAU không tuân theo phân phối mũ
ks.test(data$XAU, y = 'pexp')
## Warning in ks.test.default(data$XAU, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$XAU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến XAU không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến XAU tuân theo phân phối đều
\(H_1\): Biến XAU không tuân theo phân phối đều
ks.test(data$XAU, y = 'punif')
## Warning in ks.test.default(data$XAU, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$XAU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến XAU không tuân theo phân phối đều.
summary(data$WTI)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.27 41.07 65.44 61.10 78.53 128.26
sd(data$WTI)
## [1] 27.39851
Biến EXR có giá trị trung bình là 61,10 tức là giá trị trung bình của giá dầu là 61,10USD và giá trị trung vị là 65,44. Biến này đạt giá trị thấp nhất là 8.27USD và đạt cao nhất là 128,26USD. Với độ lệch chuẩn là 27,39851
hist(data$WTI)
qqnorm(data$WTI)
qqline(data$WTI)
Cặp giả thuyết - đối thuyết
\(H_0\): Biến WTI tuân theo phân phối chuẩn
\(H_1\): Biến WTI không tuân theo phân phối chuẩn
shapiro.test(data$WTI)
##
## Shapiro-Wilk normality test
##
## data: data$WTI
## W = 0.97093, p-value = 5.208e-10
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến WTI không tuân theo phân phối chuẩn.
Phân phối loga chuẩn
Cặp giả thuyết - đối thuyết
\(H_0\): Biến WTI tuân theo phân phối loga chuẩn
\(H_1\): Biến WTI không tuân theo phân phối loga chuẩn
ks.test(data$WTI, y = 'plnorm')
## Warning in ks.test.default(data$WTI, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$WTI
## D = 0.98268, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến WTI không tuân theo phân phối loga chuẩn.
Phân phối mũ
Cặp giả thuyết - đối thuyết
\(H_0\): Biến WTI tuân theo phân phối mũ
\(H_1\): Biến WTI không tuân theo phân phối mũ
ks.test(data$WTI, y = 'pexp')
## Warning in ks.test.default(data$WTI, y = "pexp"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$WTI
## D = 0.99974, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến WTI không tuân theo phân phối mũ.
Phân phối đều
Cặp giả thuyết - đối thuyết
\(H_0\): Biến WTI tuân theo phân phối đều
\(H_1\): Biến WTI không tuân theo phân phối đều
ks.test(data$WTI, y = 'punif')
## Warning in ks.test.default(data$WTI, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$WTI
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Kết quả kiểm định cho thấy p-value < 0,05 nên ta không thừa nhận giả thuyết \(H_0\), tại mức ý nghĩa 5% thì biến WTI không tuân theo phân phối đều.
Câu 2: Chọn và giải thích về đối tượng (vấn đề) cần mô phỏng (có ít nhất 6 biến ngẫu nhiên đầu vào)
Mô phỏng các yếu tố ảnh hưởng đến giá cổ phiếu của ngân hàng TMCP Công thương Việt Nam - Vietinbank
CTG: Giá đóng cửa của cổ phiếu ngân hàng TMCP VietinBank
HNX: Chỉ số phản ánh biến động giá cổ phiếu được niêm yết trên sàn Hà Nội
EXR: Tỷ giá đồng đola Mỹ so với đồng Việt Nam
VNI: Chỉ số phản ánh biến động giá cổ phiếu được niêm yết trên sàn TPHCM
SP500: Chỉ số chứng khoán được dựa trên vốn hóa của 500 công ty đại chúng lớn nhất nước Mỹ
XAU: Giá vàng (XAU/USD)
WTI: Giá dầu (WTI/USD)
Dữ liệu nghiên cứu được thu thập tại trang web Investing.com bao gồm: tỷ giá hối đoái, chỉ số VNI, giá dầu, giá vàng, giá đóng cửa của cổ phiếu của ngân hàng Vietcombank và ngân hàng Vietinbank trong giai đoạn từ 01/2021 đến 08/2023 để xem xét sự tác động của các yếu tố đến giá cổ phiếu ngân hàng VietinBank.
\[CTG= β_0 + β_1EXR + β_2VNI + β_3HNX + β_4SP500 + β_5XAU + β_6WTI\]
Trong đó
\(β_0\): Hằng số của mô hình
\(β_1 ... β_6\): Hệ số hồi quy của các biến độc lập
Trong mô hình này sẽ phân tích sự tác động của các yếu tố đến tỷ giá hối đoái
Biến phụ thuộc: Giá cổ phiếu ngân hàng Vietinbank (CTG)
Biến độc lập: TỶ giá hối đoái (EXR), Chỉ số VN-index (VNI), chỉ số HNX-index (HNX) chỉ số S&P500-index (S&P500), giá dầu (WTI), giá vàng (XAU)
Câu 1: Mô phỏng ít nhất 5 biến ngẫu nhiên (có phân phối xác suất khác nhau), mô phỏng, vẽ đồ thị, tính toán các đặc trưng đo lường và giải thích ý nghĩa.
Mô phỏng ngẫu nhiên biến HNX có phân phối đều với n = 10000
hnx <- runif(10000,500,1000)
hnx <- round(hnx, digits=0)
hist(hnx)
Mô phỏng ngẫu nhiên biến EXR có phân phối Poisson với n=10000
exr <- rpois (10000,23100)
hist(exr)
Mô phỏng ngẫu nhiên biến VNI có phân phối chuẩn với kỳ vọng = 1042,6 và độ lệch chuẩn = 10 với n = 10000
summary(data$VNI)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 911.9 1088.3 1230.3 1238.2 1359.9 1528.6
sd(data$VNI)
## [1] 158.3755
vni <- rnorm(10000, mean=1042.6, sd = 10)
vni <- round(vni, digits=0)
hist(vni)
vni <- as.data.frame(vni)
ggplot(vni, aes(vni)) +
geom_density(color = 'red')
Mô phỏng ngẫu nhiên biến S&P500 có phân phối mũ với xác suất là 50%:
sp500 <- rexp(10000,0.5)
sp500 <- round (sp500,digits=0)
hist(sp500)
Mô phỏng biến XAU có phân phối nhị thức với n = 10000 và xác suất là 50%
xau <- rbinom(10000,1000,0.5)
table(xau)
## xau
## 441 442 444 446 447 448 449 450 451 452 454 455 456 457 458 459 460 461 462 463
## 1 1 3 1 2 1 4 2 3 1 3 4 3 5 15 6 12 26 9 17
## 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
## 21 16 27 32 29 38 50 52 59 62 70 85 87 66 104 117 108 113 127 154
## 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503
## 148 173 146 185 185 194 197 182 199 215 230 227 247 252 230 264 245 259 217 231
## 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523
## 228 251 254 239 225 225 189 222 205 175 172 175 158 131 147 124 117 90 110 96
## 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543
## 70 65 85 61 47 42 42 38 33 32 33 19 18 21 13 12 15 15 10 7
## 544 545 546 547 548 549 550 551 552 554 556 557
## 3 3 6 1 1 4 1 1 3 2 1 1
hist(xau)
Mô phỏng ngẫu nhiên biến WTI có phân phối mũ với xác suất là 5%:
wti <- rexp(10000,0.05)
wti <- round (wti,digits=0)
hist(wti)
Với 6 biến ngẫu nhiên gồm HNX,EXR,VNI,S&P500,XAU,WTI có những đặc trưng đo lường như sau:
library(fBasics)
tong <- data.frame(hnx,exr,vni,sp500,xau,wti)
basicStats(tong)