#install.packages("googlesheets4")
library(googlesheets4)
gs4_deauth()
df <- read_sheet("https://docs.google.com/spreadsheets/d/10nZIVWn3i5djs0tRZbI--8nntNbfbGoNvYKX8yI7Eeo/edit?gid=1109581498#gid=1109581498", sheet = "hose3")
df
# A tibble: 3,335 × 241
Date AAA AAM ABT ACB ACC ACL ADP AGR ANV
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2012-04-11 00:00:00 4582 9448 10913 3583 2760 5507 422 7418 1115
2 2012-04-12 00:00:00 4560 9557 10972 3681 2851 5446 461 7418 1115
3 2012-04-13 00:00:00 4476 9557 10972 3681 2851 5446 505 7339 1094
4 2012-04-16 00:00:00 4624 9557 11300 3681 2967 5538 477 7655 1115
5 2012-04-17 00:00:00 4624 9703 11420 3667 2993 5660 521 7971 1126
6 2012-04-18 00:00:00 4560 9849 11330 3611 3110 5568 532 8208 1115
7 2012-04-19 00:00:00 4348 9849 11390 3555 3226 5844 581 7813 1061
8 2012-04-20 00:00:00 4370 9885 11420 3569 3071 6119 581 7497 1105
9 2012-04-23 00:00:00 4370 9885 11420 3611 3006 6241 581 7339 1159
10 2012-04-24 00:00:00 4433 9995 11539 3611 3110 6241 526 7418 1207
# ℹ 3,325 more rows
# ℹ 231 more variables: APG <dbl>, ASM <dbl>, ASP <dbl>, BCE <dbl>, BIC <dbl>,
# BMC <dbl>, BMI <dbl>, BMP <dbl>, BRC <dbl>, BSI <dbl>, BTP <dbl>,
# BTT <dbl>, BVH <dbl>, C32 <dbl>, C47 <dbl>, CCI <dbl>, CCL <dbl>,
# CDC <dbl>, CHP <dbl>, CIG <dbl>, CII <dbl>, CLC <dbl>, CLW <dbl>,
# CMG <dbl>, CMV <dbl>, CMX <dbl>, CNG <dbl>, COM <dbl>, CSM <dbl>,
# CTD <dbl>, CTG <dbl>, CTI <dbl>, CTS <dbl>, CVT <dbl>, D2D <dbl>, …
aam <- df[, c("Date", "AAM")]
aam
# A tibble: 3,335 × 2
Date AAM
<dttm> <dbl>
1 2012-04-11 00:00:00 9448
2 2012-04-12 00:00:00 9557
3 2012-04-13 00:00:00 9557
4 2012-04-16 00:00:00 9557
5 2012-04-17 00:00:00 9703
6 2012-04-18 00:00:00 9849
7 2012-04-19 00:00:00 9849
8 2012-04-20 00:00:00 9885
9 2012-04-23 00:00:00 9885
10 2012-04-24 00:00:00 9995
# ℹ 3,325 more rows
str(aam)
tibble [3,335 × 2] (S3: tbl_df/tbl/data.frame)
$ Date: POSIXct[1:3335], format: "2012-04-11" "2012-04-12" ...
$ AAM : num [1:3335] 9448 9557 9557 9557 9703 ...
head(aam)
# A tibble: 6 × 2
Date AAM
<dttm> <dbl>
1 2012-04-11 00:00:00 9448
2 2012-04-12 00:00:00 9557
3 2012-04-13 00:00:00 9557
4 2012-04-16 00:00:00 9557
5 2012-04-17 00:00:00 9703
6 2012-04-18 00:00:00 9849
tail(aam)
# A tibble: 6 × 2
Date AAM
<dttm> <dbl>
1 2026-05-15 00:00:00 7000
2 2026-05-18 00:00:00 6540
3 2026-05-19 00:00:00 6800
4 2026-05-20 00:00:00 6940
5 2026-05-21 00:00:00 6560
6 2026-05-22 00:00:00 6900
summary(aam)
Date AAM
Min. :2012-04-11 00:00:00 Min. : 5071
1st Qu.:2015-09-16 12:00:00 1st Qu.: 6777
Median :2019-04-23 00:00:00 Median : 8290
Mean :2019-05-03 01:14:16 Mean : 8537
3rd Qu.:2022-12-27 12:00:00 3rd Qu.:10344
Max. :2026-05-22 00:00:00 Max. :16833
4.1. Thống kê mô tả dữ liệu giá chứng khoán
summary(aam$AAM)
Min. 1st Qu. Median Mean 3rd Qu. Max.
5071 6777 8290 8537 10344 16833
library(fBasics)
basicStats(aam$AAM)
X..aam.AAM
nobs 3.335000e+03
NAs 0.000000e+00
Minimum 5.071000e+03
Maximum 1.683300e+04
1. Quartile 6.777000e+03
3. Quartile 1.034400e+04
Mean 8.537354e+03
Median 8.290000e+03
Sum 2.847208e+07
SE Mean 3.511479e+01
LCL Mean 8.468505e+03
UCL Mean 8.606203e+03
Variance 4.112217e+06
Stdev 2.027860e+03
Skewness 3.861880e-01
Kurtosis -7.317070e-01
4.2. Thống kê mô tả dữ liệu return của giá chứng khoán
return_aam <- diff(log(aam$AAM))
head(return_aam)
[1] 0.01147079 0.00000000 0.00000000 0.01516125 0.01493481 0.00000000
tail(return_aam)
[1] -0.01277519 -0.06797298 0.03898545 0.02037916 -0.05631117 0.05053081
basicStats(return_aam)
return_aam
nobs 3334.000000
NAs 0.000000
Minimum -0.072597
Maximum 0.223229
1. Quartile -0.009885
3. Quartile 0.010922
Mean -0.000094
Median 0.000000
Sum -0.314282
SE Mean 0.000468
LCL Mean -0.001012
UCL Mean 0.000824
Variance 0.000731
Stdev 0.027031
Skewness 0.102185
Kurtosis 1.936773
5.1. Vẽ đồ thị và hàm mật độ của gía chứng khoán
ts.plot(aam$AAM)
plot (aam, type = "l")
hist(aam$AAM)
d1 = density(aam$AAM)
plot(d1, type = "l")
5.2. Vẽ đồ thị và hàm mật độ return của gía chứng khoán
ts.plot(return_aam)
plot(aam$Date[-1], return_aam, type = 'l')
hist(return_aam)
d2 = density(return_aam)
plot(d2, type = "l")
library(tseries)
adf.test(aam$AAM)
Augmented Dickey-Fuller Test
data: aam$AAM
Dickey-Fuller = -1.7831, Lag order = 14, p-value = 0.6702
alternative hypothesis: stationary
adf.test(return_aam)
Augmented Dickey-Fuller Test
data: return_aam
Dickey-Fuller = -16.94, Lag order = 14, p-value = 0.01
alternative hypothesis: stationary
kpss.test(return_aam) #H0: stationary
KPSS Test for Level Stationarity
data: return_aam
KPSS Level = 0.084872, Truncation lag parameter = 9, p-value = 0.1
normalTest(aam$AAM, method = c("jb")) #HO: normal distribution
Title:
Jarque-Bera Normality Test
Test Results:
STATISTIC:
X-squared: 157.0932
P VALUE:
Asymptotic p Value: < 2.2e-16
normalTest(return_aam, method = c("jb")) #HO: normal distribution
Title:
Jarque-Bera Normality Test
Test Results:
STATISTIC:
X-squared: 528.492
P VALUE:
Asymptotic p Value: < 2.2e-16
acf(return_aam)
pacf(return_aam)
Box.test(return_aam, lag = 11) #HO: no autocorrelation
Box-Pierce test
data: return_aam
X-squared = 284.91, df = 11, p-value < 2.2e-16
Box.test(return_aam, lag = 11, type = c("Ljung-Box")) #HO: no autocorrelation
Box-Ljung test
data: return_aam
X-squared = 285.2, df = 11, p-value < 2.2e-16
#8.1. Xây dựng mô hình AR
pacf(return_aam)
m1 <- ar(return_aam, method = c("mle"))
m1
Call:
ar(x = return_aam, method = c("mle"))
Coefficients:
1 2 3 4 5 6 7 8
-0.3315 -0.1683 -0.1394 -0.0706 -0.0876 -0.0569 -0.0267 -0.0317
9 10 11
-0.0350 -0.0099 -0.0432
Order selected 11 sigma^2 estimated as 0.0006507
m1$aic
0 1 2 3 4 5
363.1148802 99.0604430 56.0131185 19.2587985 16.8473304 4.6264195
6 7 8 9 10 11
0.7130748 2.0616758 3.1357534 2.2922380 4.2284495 0.0000000
12
0.4683523
#Ước lượng AR(p)
m21 <- arima(return_aam, order = c(1, 0, 0))
m21
Call:
arima(x = return_aam, order = c(1, 0, 0))
Coefficients:
ar1 intercept
-0.2771 -1e-04
s.e. 0.0167 4e-04
sigma^2 estimated as 0.0006744: log likelihood = 7441.12, aic = -14876.25
m22 <- arima(return_aam, order = c(11, 0, 0))
m22
Call:
arima(x = return_aam, order = c(11, 0, 0))
Coefficients:
ar1 ar2 ar3 ar4 ar5 ar6 ar7 ar8
-0.3316 -0.1684 -0.1395 -0.0707 -0.0877 -0.0570 -0.0269 -0.0318
s.e. 0.0173 0.0182 0.0185 0.0186 0.0187 0.0187 0.0187 0.0186
ar9 ar10 ar11 intercept
-0.0351 -0.0100 -0.0433 -1e-04
s.e. 0.0185 0.0182 0.0173 2e-04
sigma^2 estimated as 0.0006507: log likelihood = 7500.68, aic = -14975.37
AIC(m21, m22)
df AIC
m21 3 -14876.25
m22 13 -14975.37
#Hàm tính p-value
coeftest <- function(model){
coef <- model$coef
se <- sqrt(diag(model$var.coef))
t <- coef / se
p <- 2 * (1 - pnorm(abs(t)))
data.frame(coef, se, t, p)
}
coeftest(m21)
coef se t p
ar1 -2.770640e-01 0.0166521452 -16.638338 0.0000000
intercept -9.487537e-05 0.0003526283 -0.269052 0.7878896
coeftest(m22)
coef se t p
ar1 -0.3315621902 0.0173109166 -19.1533584 0.000000e+00
ar2 -0.1683605652 0.0182398909 -9.2303494 0.000000e+00
ar3 -0.1395001939 0.0184600271 -7.5568792 4.130030e-14
ar4 -0.0707000848 0.0186096848 -3.7991017 1.452215e-04
ar5 -0.0876831151 0.0186598820 -4.6990177 2.614158e-06
ar6 -0.0570490427 0.0186971268 -3.0512198 2.279137e-03
ar7 -0.0268789158 0.0186602098 -1.4404402 1.497429e-01
ar8 -0.0317691302 0.0186233482 -1.7058764 8.803109e-02
ar9 -0.0350872192 0.0184692158 -1.8997677 5.746361e-02
ar10 -0.0100473018 0.0182482994 -0.5505884 5.819159e-01
ar11 -0.0432564578 0.0173244486 -2.4968447 1.253038e-02
intercept -0.0001003741 0.0002214767 -0.4532038 6.504020e-01
#Kiểm định phần dư
plot(m21$residuals, type ="l")
qqplot(m21$residuals, return_aam)
Box.test(m21$residuals, lag = 11)
Box-Pierce test
data: m21$residuals
X-squared = 90.948, df = 11, p-value = 1.088e-14
#8.2. Xây dựng mô hình MA
acf(return_aam)
m3 <- arima(return_aam, order = c(11, 0, 1))
m3
Call:
arima(x = return_aam, order = c(11, 0, 1))
Coefficients:
ar1 ar2 ar3 ar4 ar5 ar6 ar7 ar8
-0.7950 -0.3221 -0.217 -0.1349 -0.1200 -0.0968 -0.0517 -0.0430
s.e. 0.2056 0.0713 0.041 0.0364 0.0271 0.0288 0.0255 0.0235
ar9 ar10 ar11 ma1 intercept
-0.0473 -0.0235 -0.0429 0.4646 -1e-04
s.e. 0.0232 0.0225 0.0185 0.2052 2e-04
sigma^2 estimated as 0.0006503: log likelihood = 7501.84, aic = -14975.68
coeftest(m3)
coef se t p
ar1 -7.950103e-01 0.2055543623 -3.867640 1.098936e-04
ar2 -3.221168e-01 0.0712886156 -4.518488 6.228281e-06
ar3 -2.169852e-01 0.0409974026 -5.292658 1.205510e-07
ar4 -1.348623e-01 0.0364414438 -3.700794 2.149259e-04
ar5 -1.200214e-01 0.0270817676 -4.431816 9.344283e-06
ar6 -9.675361e-02 0.0288018411 -3.359286 7.814424e-04
ar7 -5.172037e-02 0.0254882940 -2.029181 4.243981e-02
ar8 -4.303857e-02 0.0234647253 -1.834182 6.662700e-02
ar9 -4.726798e-02 0.0232094312 -2.036585 4.169166e-02
ar10 -2.349887e-02 0.0224579115 -1.046352 2.953987e-01
ar11 -4.287324e-02 0.0185175329 -2.315278 2.059773e-02
ma1 4.646327e-01 0.2052020239 2.264269 2.355754e-02
intercept -9.996816e-05 0.0002242741 -0.445741 6.557843e-01
#Kiểm định phần dư
plot(m3$residuals, type = "l")
qqplot(m3$residuals, return_aam)
Box.test(m3$residuals, lag = 11)
Box-Pierce test
data: m3$residuals
X-squared = 0.27133, df = 11, p-value = 1
9.1 Kiểm định hiệu ứng ARCH
library(fGarch)
m4 <- garchFit(~ arma(11,1) + garch(1,0), data = return_aam, trace = FALSE)
summary(m4)
Title:
GARCH Modelling
Call:
garchFit(formula = ~arma(11, 1) + garch(1, 0), data = return_aam,
trace = FALSE)
Mean and Variance Equation:
data ~ arma(11, 1) + garch(1, 0)
<environment: 0x000001d83fd1e740>
[data = return_aam]
Conditional Distribution:
norm
Coefficient(s):
mu ar1 ar2 ar3 ar4 ar5
-0.00094266 -0.66343509 -0.33282227 -0.24429582 -0.14230690 -0.12624712
ar6 ar7 ar8 ar9 ar10 ar11
-0.09505246 -0.05470614 -0.05451523 -0.06093050 -0.03246696 -0.05297283
ma1 omega alpha1
0.28690524 0.00050352 0.21763123
Std. Errors:
based on Hessian
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu -0.0009427 0.0005461 -1.726 0.084305 .
ar1 -0.6634351 0.3019484 -2.197 0.028008 *
ar2 -0.3328223 0.1156115 -2.879 0.003992 **
ar3 -0.2442958 0.0702150 -3.479 0.000503 ***
ar4 -0.1423069 0.0572637 -2.485 0.012951 *
ar5 -0.1262471 0.0335164 -3.767 0.000165 ***
ar6 -0.0950525 0.0354769 -2.679 0.007378 **
ar7 -0.0547061 0.0281166 -1.946 0.051692 .
ar8 -0.0545152 0.0230765 -2.362 0.018159 *
ar9 -0.0609305 0.0229362 -2.657 0.007895 **
ar10 -0.0324670 0.0227902 -1.425 0.154273
ar11 -0.0529728 0.0171132 -3.095 0.001965 **
ma1 0.2869052 0.3029734 0.947 0.343657
omega 0.0005035 0.0000157 32.074 < 2e-16 ***
alpha1 0.2176312 0.0245118 8.879 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Log Likelihood:
7604.333 normalized: 2.280844
Description:
Tue Jun 9 15:21:22 2026 by user: Admin
Standardised Residuals Tests:
Statistic p-Value
Jarque-Bera Test R Chi^2 2033.9944209 0.000000e+00
Shapiro-Wilk Test R W 0.9618696 0.000000e+00
Ljung-Box Test R Q(10) 1.6809913 9.982522e-01
Ljung-Box Test R Q(15) 6.1461535 9.771867e-01
Ljung-Box Test R Q(20) 14.5132309 8.035506e-01
Ljung-Box Test R^2 Q(10) 48.9632592 4.136879e-07
Ljung-Box Test R^2 Q(15) 64.1971552 4.722088e-08
Ljung-Box Test R^2 Q(20) 72.2185017 7.877967e-08
LM Arch Test R TR^2 43.2211166 2.071356e-05
Information Criterion Statistics:
AIC BIC SIC HQIC
-4.552689 -4.525191 -4.552729 -4.542851
9.2. Ước lượng ARIMA + GARCH
m5 <-garchFit(~ arma(11,1) + garch(1,1), data = return_aam, trace = FALSE)
summary(m5)
Title:
GARCH Modelling
Call:
garchFit(formula = ~arma(11, 1) + garch(1, 1), data = return_aam,
trace = FALSE)
Mean and Variance Equation:
data ~ arma(11, 1) + garch(1, 1)
<environment: 0x000001d86dba24d8>
[data = return_aam]
Conditional Distribution:
norm
Coefficient(s):
mu ar1 ar2 ar3 ar4 ar5
-9.4266e-04 -6.8756e-01 -3.3526e-01 -2.4738e-01 -1.3839e-01 -1.1663e-01
ar6 ar7 ar8 ar9 ar10 ar11
-9.6621e-02 -5.5958e-02 -6.0997e-02 -4.7682e-02 -2.5363e-02 -4.6628e-02
ma1 omega alpha1 beta1
3.1014e-01 3.1254e-05 9.9453e-02 8.5531e-01
Std. Errors:
based on Hessian
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu -9.427e-04 5.170e-04 -1.823 0.068229 .
ar1 -6.876e-01 2.798e-01 -2.457 0.014008 *
ar2 -3.353e-01 1.080e-01 -3.105 0.001901 **
ar3 -2.474e-01 6.464e-02 -3.827 0.000130 ***
ar4 -1.384e-01 5.491e-02 -2.520 0.011721 *
ar5 -1.166e-01 3.290e-02 -3.545 0.000392 ***
ar6 -9.662e-02 3.407e-02 -2.836 0.004564 **
ar7 -5.596e-02 2.970e-02 -1.884 0.059539 .
ar8 -6.100e-02 2.479e-02 -2.460 0.013876 *
ar9 -4.768e-02 2.504e-02 -1.904 0.056900 .
ar10 -2.536e-02 2.212e-02 -1.147 0.251569
ar11 -4.663e-02 1.777e-02 -2.624 0.008696 **
ma1 3.101e-01 2.804e-01 1.106 0.268666
omega 3.125e-05 7.704e-06 4.057 4.97e-05 ***
alpha1 9.945e-02 1.296e-02 7.673 1.69e-14 ***
beta1 8.553e-01 2.214e-02 38.638 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Log Likelihood:
7694.381 normalized: 2.307853
Description:
Tue Jun 9 15:21:34 2026 by user: Admin
Standardised Residuals Tests:
Statistic p-Value
Jarque-Bera Test R Chi^2 4817.4924919 0.0000000
Shapiro-Wilk Test R W 0.9590632 0.0000000
Ljung-Box Test R Q(10) 2.5690396 0.9898310
Ljung-Box Test R Q(15) 5.4374908 0.9877295
Ljung-Box Test R Q(20) 12.4460955 0.8998667
Ljung-Box Test R^2 Q(10) 6.8779567 0.7369142
Ljung-Box Test R^2 Q(15) 7.4142013 0.9451210
Ljung-Box Test R^2 Q(20) 8.3102769 0.9896078
LM Arch Test R TR^2 7.1166619 0.8498087
Information Criterion Statistics:
AIC BIC SIC HQIC
-4.606107 -4.576776 -4.606153 -4.595613
#Chạy hàm loss để tính VaR
nreturn_aam <- -return_aam
#10.1. Ước tính VaR theo RISK METRICS
#Cách 1: Tính thủ công
library(rugarch)
spec1 <- ugarchspec(mean.model = list(armaOrder=c(1,0)),
variance.model = list(model="iGARCH", garchOrder=c(1,1)))
m6 <- ugarchfit(spec=spec1,data = nreturn_aam)
Box.test(residuals(m6, standardize=TRUE), lag=11, type="Ljung")
Box-Ljung test
data: residuals(m6, standardize = TRUE)
X-squared = 79.884, df = 11, p-value = 1.554e-12
ugarchforecast(m6, n.ahead = 1)
*------------------------------------*
* GARCH Model Forecast *
*------------------------------------*
Model: iGARCH
Horizon: 1
Roll Steps: 0
Out of Sample: 0
0-roll forecast [T0=1979-02-17]:
Series Sigma
T+1 0.01549 0.03481
# Tính VaR (Phương pháp của JP Morgan xem mean = 0):
VaR1 <- 0 + qnorm(0.95) * 0.03481
# Cách 2: Tính từ RMeasure.R
setwd("D:/HUB_2025-2026_HK2_Đợt 2/QUẢN TRỊ RRTC")
source("RMeasure.R")
VaR2 <- RMeasure(0, 0.03481)
Risk Measures for selected probabilities:
prob VaR ES
[1,] 0.950 0.05725735 0.07180303
[2,] 0.990 0.08098017 0.09277611
[3,] 0.999 0.10757099 0.11720841
#10.2. Ước tính VaR theo ECONOMICTRICS
m7 <- garchFit(~ arma(11,1) + garch(1,1), data = nreturn_aam, trace=F)
summary(m7)
Title:
GARCH Modelling
Call:
garchFit(formula = ~arma(11, 1) + garch(1, 1), data = nreturn_aam,
trace = F)
Mean and Variance Equation:
data ~ arma(11, 1) + garch(1, 1)
<environment: 0x000001d86fd7d040>
[data = nreturn_aam]
Conditional Distribution:
norm
Coefficient(s):
mu ar1 ar2 ar3 ar4 ar5
9.4266e-04 -6.8755e-01 -3.3525e-01 -2.4738e-01 -1.3839e-01 -1.1663e-01
ar6 ar7 ar8 ar9 ar10 ar11
-9.6622e-02 -5.5959e-02 -6.0997e-02 -4.7682e-02 -2.5364e-02 -4.6631e-02
ma1 omega alpha1 beta1
3.1013e-01 3.1254e-05 9.9453e-02 8.5531e-01
Std. Errors:
based on Hessian
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu 9.427e-04 5.169e-04 1.824 0.068227 .
ar1 -6.875e-01 2.798e-01 -2.457 0.014008 *
ar2 -3.352e-01 1.080e-01 -3.105 0.001901 **
ar3 -2.474e-01 6.464e-02 -3.827 0.000130 ***
ar4 -1.384e-01 5.491e-02 -2.520 0.011721 *
ar5 -1.166e-01 3.290e-02 -3.545 0.000392 ***
ar6 -9.662e-02 3.407e-02 -2.836 0.004564 **
ar7 -5.596e-02 2.970e-02 -1.884 0.059536 .
ar8 -6.100e-02 2.479e-02 -2.460 0.013876 *
ar9 -4.768e-02 2.504e-02 -1.904 0.056898 .
ar10 -2.536e-02 2.212e-02 -1.147 0.251549
ar11 -4.663e-02 1.777e-02 -2.624 0.008692 **
ma1 3.101e-01 2.804e-01 1.106 0.268676
omega 3.125e-05 7.704e-06 4.057 4.97e-05 ***
alpha1 9.945e-02 1.296e-02 7.672 1.69e-14 ***
beta1 8.553e-01 2.214e-02 38.638 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Log Likelihood:
7694.381 normalized: 2.307853
Description:
Tue Jun 9 15:22:04 2026 by user: Admin
Standardised Residuals Tests:
Statistic p-Value
Jarque-Bera Test R Chi^2 4817.4564144 0.0000000
Shapiro-Wilk Test R W 0.9590632 0.0000000
Ljung-Box Test R Q(10) 2.5688546 0.9898339
Ljung-Box Test R Q(15) 5.4372947 0.9877318
Ljung-Box Test R Q(20) 12.4459189 0.8998735
Ljung-Box Test R^2 Q(10) 6.8780171 0.7369085
Ljung-Box Test R^2 Q(15) 7.4142567 0.9451192
Ljung-Box Test R^2 Q(20) 8.3103313 0.9896074
LM Arch Test R TR^2 7.1167099 0.8498054
Information Criterion Statistics:
AIC BIC SIC HQIC
-4.606107 -4.576776 -4.606153 -4.595613
predict(m7, 1)
meanForecast meanError standardDeviation
1 0.008793538 0.03174545 0.03174545
VaR3 <- 0.008793538 + + qnorm(0.95)*0.03174545
# 10.3. Ước lượng QUANTILE ESTIMATION
VaR4 <- quantile(nreturn_aam, 0.95)
# 10.4. Ước lượng MONTE CARLO SIMULATION
mean_aam <- mean(nreturn_aam)
sd_aam <- sd(nreturn_aam)
# Tiến hành mô phỏng Monte Carlo
set.seed(42)
sim1 <- rnorm(10000, mean = mean_aam, sd = sd_aam)
ts.plot(sim1)
VaR5 <- quantile(sim1, 0.95)
VaR1_100 = VaR1*100000
VaR1_100
[1] 5725.735
VaR3_100 = VaR3*100000
VaR3_100
[1] 6101.016
VaR4_100 = VaR4*100000
VaR4_100
95%
5046.541
VaR5_100 = VaR1*100000
VaR1_100
[1] 5725.735