autoarfima(data$VNI,ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")
## $fit
## 
## *----------------------------------*
## *          ARFIMA Model Fit        *
## *----------------------------------*
## Mean Model   : ARFIMA(2,0,2)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##        Estimate  Std. Error   t value Pr(>|t|)
## ar1   -0.599483    0.006708   -89.365        0
## ar2   -0.980294    0.005984  -163.825        0
## ma1    0.636549    0.002517   252.853        0
## ma2    1.003889    0.000055 18408.068        0
## sigma  0.013186    0.000477    27.648        0
## 
## Robust Standard Errors:
##        Estimate  Std. Error   t value Pr(>|t|)
## ar1   -0.599483    0.006997   -85.678        0
## ar2   -0.980294    0.005694  -172.172        0
## ma1    0.636549    0.002859   222.609        0
## ma2    1.003889    0.000056 18014.600        0
## sigma  0.013186    0.001025    12.860        0
## 
## LogLikelihood : 1111.481 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7931
## Bayes        -5.7415
## Shibata      -5.7934
## Hannan-Quinn -5.7726
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                      0.8023  0.3704
## Lag[2*(p+q)+(p+q)-1][11]    4.1642  0.9997
## Lag[4*(p+q)+(p+q)-1][19]    6.1435  0.9647
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic   p-value
## Lag[1]                       9.46 2.100e-03
## Lag[2*(p+q)+(p+q)-1][2]     13.19 2.748e-04
## Lag[4*(p+q)+(p+q)-1][5]     29.04 5.911e-08
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF   P-Value
## ARCH Lag[2]      14.45   2 7.290e-04
## ARCH Lag[5]      28.19   5 3.335e-05
## ARCH Lag[10]     32.26  10 3.618e-04
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.5423
## Individual Statistics:             
## ar1   0.32361
## ar2   0.07403
## ma1   0.04512
## ma2   0.16353
## sigma 1.08287
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.28 1.47 1.88
## Individual Statistic:     0.35 0.47 0.75
## 
## 
## Elapsed time : 0.1024878 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    1   1   1   1  0   0 -5.793095         1
## 2    1   1   1   1  1   0 -5.788216         1
## 3    1   1   0   0  0   0 -5.780487         1
## 4    0   1   1   0  0   0 -5.780412         1
## 5    0   1   0   0  0   0 -5.780048         1
## 6    1   0   0   1  0   0 -5.779575         1
## 7    0   0   1   1  0   0 -5.779357         1
## 8    0   0   0   1  0   0 -5.778982         1
## 9    0   0   1   0  0   0 -5.777081         1
## 10   0   1   1   1  0   0 -5.777070         1
## 11   0   1   0   1  0   0 -5.776783         1
## 12   1   1   0   1  0   0 -5.776521         1
## 13   1   0   0   0  0   0 -5.775890         1
## 14   1   1   0   0  1   0 -5.775731         1
## 15   0   1   1   0  1   0 -5.775649         1
## 16   0   1   0   0  1   0 -5.775391         1
## 17   1   1   1   0  0   0 -5.775258         1
## 18   1   0   1   0  0   0 -5.775185         1
## 19   1   0   0   1  1   0 -5.774819         1
## 20   0   0   1   1  1   0 -5.774591         1
## 21   1   0   1   1  0   0 -5.774371         1
## 22   0   0   0   1  1   0 -5.774320         1
## 23   0   1   1   1  1   0 -5.772310         1
## 24   0   0   1   0  1   0 -5.772209         1
## 25   0   1   0   1  1   0 -5.772099         1
## 26   1   1   0   1  1   0 -5.771772         1
## 27   0   0   0   0  1   0 -5.771412         1
## 28   1   0   0   0  1   0 -5.771028         1
## 29   1   1   1   0  1   0 -5.770500         1
## 30   1   0   1   0  1   0 -5.770334         1
## 31   1   0   1   1  1   0 -5.769621         1
autoarfima(data$SSEC,ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")
## $fit
## 
## *----------------------------------*
## *          ARFIMA Model Fit        *
## *----------------------------------*
## Mean Model   : ARFIMA(2,0,2)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##        Estimate  Std. Error    t value Pr(>|t|)
## mu    -0.000288    0.000003    -99.854        0
## ar1    0.000000          NA         NA       NA
## ar2    0.967506    0.000993    974.154        0
## ma1   -0.062433    0.000877    -71.208        0
## ma2   -0.978199    0.000026 -37039.179        0
## sigma  0.009631    0.000307     31.377        0
## 
## Robust Standard Errors:
##        Estimate  Std. Error    t value Pr(>|t|)
## mu    -0.000288    0.000006    -50.771        0
## ar1    0.000000          NA         NA       NA
## ar2    0.967506    0.002519    384.109        0
## ma1   -0.062433    0.001238    -50.435        0
## ma2   -0.978199    0.000058 -16943.645        0
## sigma  0.009631    0.000481     20.024        0
## 
## LogLikelihood : 1224.791 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.3863
## Bayes        -6.3347
## Shibata      -6.3867
## Hannan-Quinn -6.3659
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                      0.6246  0.4294
## Lag[2*(p+q)+(p+q)-1][11]    5.7122  0.6742
## Lag[4*(p+q)+(p+q)-1][19]    8.7438  0.6809
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic   p-value
## Lag[1]                      15.64 7.666e-05
## Lag[2*(p+q)+(p+q)-1][2]     32.32 2.614e-09
## Lag[4*(p+q)+(p+q)-1][5]     45.06 1.655e-12
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF   P-Value
## ARCH Lag[2]      40.89   2 1.322e-09
## ARCH Lag[5]      43.42   5 3.030e-08
## ARCH Lag[10]     46.37  10 1.230e-06
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  7.1162
## Individual Statistics:             
## mu    0.06058
## ar2   0.06543
## ma1   0.05910
## ma2   0.05796
## sigma 1.29284
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.28 1.47 1.88
## Individual Statistic:     0.35 0.47 0.75
## 
## 
## Elapsed time : 0.09291697 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    0   1   1   1  1   0 -6.386342         1
## 2    0   0   0   1  0   0 -6.365746         1
## 3    0   1   0   0  0   0 -6.365457         1
## 4    0   0   0   0  1   0 -6.363651         1
## 5    0   0   1   0  0   0 -6.363403         1
## 6    1   0   0   0  0   0 -6.363381         1
## 7    1   1   0   1  0   0 -6.361419         1
## 8    0   0   0   1  1   0 -6.361038         1
## 9    0   1   0   0  1   0 -6.360741         1
## 10   1   0   0   1  0   0 -6.360700         1
## 11   0   0   1   1  0   0 -6.360661         1
## 12   1   1   0   0  0   0 -6.360463         1
## 13   0   1   1   0  0   0 -6.360429         1
## 14   0   1   0   1  0   0 -6.360018         1
## 15   1   1   1   0  0   0 -6.359862         1
## 16   1   0   1   1  0   0 -6.359833         1
## 17   1   0   1   0  0   0 -6.358907         1
## 18   0   0   1   0  1   0 -6.358635         1
## 19   1   0   0   0  1   0 -6.358614         1
## 20   1   1   0   1  1   0 -6.357031         1
## 21   0   1   0   1  1   0 -6.356980         1
## 22   0   1   1   1  0   0 -6.356538         1
## 23   1   0   0   1  1   0 -6.355980         1
## 24   0   0   1   1  1   0 -6.355940         1
## 25   1   1   0   0  1   0 -6.355735         1
## 26   0   1   1   0  1   0 -6.355701         1
## 27   1   1   1   0  1   0 -6.355379         1
## 28   1   0   1   1  1   0 -6.355352         1
## 29   1   1   1   1  0   0 -6.354646         1
## 30   1   0   1   0  1   0 -6.354136         1
## 31   1   1   1   1  1   0 -6.350176         1

CÁC DẠNG MÔ HÌNH CHO CHUỖI VNI

GJR-GARCH(11)VNI

vni.garch11n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

vni.garch11n.fit <- ugarchfit(spec = vni.garch11n.spec, data = data$VNI)

vni.garch11t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

vni.garch11t.fit <- ugarchfit(spec = vni.garch11t.spec, data = data$VNI)

vni.garch11st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

vni.garch11st.fit <- ugarchfit(spec = vni.garch11st.spec, data = data$VNI)

vni.garch11g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

vni.garch11g.fit <- ugarchfit(spec = vni.garch11g.spec, data = data$VNI)

vni.garch11sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged") 

vni.garch11sg.fit <- ugarchfit(spec = vni.garch11sg.spec, data = data$VNI)

GJR-GARCH(12)VNI

vni.garch12n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

vni.garch12n.fit <- ugarchfit(spec = vni.garch12n.spec, data = data$VNI)

vni.garch12t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

vni.garch12t.fit <- ugarchfit(spec = vni.garch12t.spec, data = data$VNI)

vni.garch12st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

vni.garch12st.fit <- ugarchfit(spec = vni.garch12st.spec, data = data$VNI)

vni.garch12g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

vni.garch12g.fit <- ugarchfit(spec = vni.garch12g.spec, data = data$VNI)

vni.garch12sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

vni.garch12sg.fit <- ugarchfit(spec = vni.garch12sg.spec, data = data$VNI)

GJR-GARCH(21)VNI

vni.garch21n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

vni.garch21n.fit <- ugarchfit(spec = vni.garch21n.spec, data = data$VNI)

vni.garch21t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std") 

vni.garch21t.fit <- ugarchfit(spec = vni.garch21t.spec, data = data$VNI)

vni.garch21st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

vni.garch21st.fit <- ugarchfit(spec = vni.garch21st.spec, data = data$VNI)

vni.garch21g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

vni.garch21g.fit <- ugarchfit(spec = vni.garch21g.spec, data = data$VNI)

vni.garch21sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

vni.garch21sg.fit <- ugarchfit(spec = vni.garch21sg.spec, data = data$VNI)

GJR-GARCH(22)VNI

vni.garch22n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

vni.garch22n.fit <- ugarchfit(spec = vni.garch22n.spec, data = data$VNI)

vni.garch22t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std") 

vni.garch22t.fit <- ugarchfit(spec = vni.garch22t.spec, data = data$VNI)

vni.garch22st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

vni.garch22st.fit <- ugarchfit(spec = vni.garch22st.spec, data = data$VNI)

vni.garch22g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged") 

vni.garch22g.fit <- ugarchfit(spec = vni.garch22g.spec, data = data$VNI)

vni.garch22sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

vni.garch22sg.fit <- ugarchfit(spec = vni.garch22sg.spec, data = data$VNI)

CÁC DẠNG MÔ HÌNH CHO CHUỖI SSEC

GJR-GARCH(11)SSEC

ssec.garch11n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

ssec.garch11n.fit <- ugarchfit(spec = ssec.garch11n.spec, data = data$SSEC)

ssec.garch11t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

ssec.garch11t.fit <- ugarchfit(spec = ssec.garch11t.spec, data = data$SSEC)

ssec.garch11st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

ssec.garch11st.fit <- ugarchfit(spec = ssec.garch11st.spec, data = data$SSEC)

ssec.garch11g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

ssec.garch11g.fit <- ugarchfit(spec = ssec.garch11g.spec, data = data$SSEC)

ssec.garch11sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

ssec.garch11sg.fit <- ugarchfit(spec = ssec.garch11sg.spec, data = data$SSEC)

GJR-GARCH(12)SSEC

ssec.garch12n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

ssec.garch12n.fit <- ugarchfit(spec = ssec.garch12n.spec, data = data$SSEC)

ssec.garch12t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

ssec.garch12t.fit <- ugarchfit(spec = ssec.garch12t.spec, data = data$SSEC)

ssec.garch12st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

ssec.garch12st.fit <- ugarchfit(spec = ssec.garch12st.spec, data = data$SSEC)

ssec.garch12g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

ssec.garch12g.fit <- ugarchfit(spec = ssec.garch12g.spec, data = data$SSEC)

ssec.garch12sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

ssec.garch12sg.fit <- ugarchfit(spec = ssec.garch12sg.spec, data = data$SSEC)

GJR-GARCH(21)SSEC

ssec.garch21n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

ssec.garch21n.fit <- ugarchfit(spec = ssec.garch21n.spec, data = data$SSEC)

ssec.garch21t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

ssec.garch21t.fit <- ugarchfit(spec = ssec.garch21t.spec, data = data$SSEC)

ssec.garch21st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

ssec.garch21st.fit <- ugarchfit(spec = ssec.garch21st.spec, data = data$SSEC)

ssec.garch21g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

ssec.garch21g.fit <- ugarchfit(spec = ssec.garch21g.spec, data = data$SSEC)

ssec.garch21sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

ssec.garch21sg.fit <- ugarchfit(spec = ssec.garch21sg.spec, data = data$SSEC)

GJR-GARCH(22)SSEC

ssec.garch22n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")

ssec.garch22n.fit <- ugarchfit(spec = ssec.garch22n.spec, data = data$SSEC)

ssec.garch22t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")

ssec.garch22t.fit <- ugarchfit(spec = ssec.garch22t.spec, data = data$SSEC)

ssec.garch22st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")

ssec.garch22st.fit <- ugarchfit(spec = ssec.garch22st.spec, data = data$SSEC)

ssec.garch22g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")

ssec.garch22g.fit <- ugarchfit(spec = ssec.garch22g.spec, data = data$SSEC)


ssec.garch22sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")

ssec.garch22sg.fit <- ugarchfit(spec = ssec.garch22sg.spec, data = data$SSEC)

LỰA CHỌN MÔ HÌNH GJR-GARCH

VNI

vni.model.list <- list(garch11n = vni.garch11n.fit, garch11t = vni.garch11t.fit, garch11st = vni.garch11st.fit, garch11g = vni.garch11g.fit, garch11sg = vni.garch11sg.fit, garch12n = vni.garch12n.fit, garch12t = vni.garch12t.fit, garch12st = vni.garch12st.fit, garch12g = vni.garch12g.fit, garch12sg = vni.garch12sg.fit, garch21n = vni.garch21n.fit, garch21t = vni.garch21t.fit, garch21st = vni.garch21st.fit, garch21g = vni.garch21g.fit, garch21sg = vni.garch21sg.fit, garch22n = vni.garch22n.fit, garch22t = vni.garch22t.fit, garch22st = vni.garch22st.fit, garch22g =vni.garch22g.fit, garch22sg = vni.garch22sg.fit) 

vni.info.mat <- sapply(vni.model.list, infocriteria) 

rownames(vni.info.mat) <- rownames(infocriteria(vni.garch11n.fit)) 

vni.info.mat
##               garch11n  garch11t garch11st  garch11g garch11sg  garch12n
## Akaike       -6.013623 -6.057971 -6.061197 -6.066517 -6.062624 -6.011460
## Bayes        -5.920668 -5.954688 -5.947585 -5.963233 -5.949013 -5.908177
## Shibata      -6.014699 -6.059296 -6.062794 -6.067841 -6.064222 -6.012785
## Hannan-Quinn -5.976745 -6.016996 -6.016124 -6.025542 -6.017552 -5.970485
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.059637 -6.055961 -6.071504 -6.057422 -6.012507 -6.060517
## Bayes        -5.946025 -5.932021 -5.957893 -5.933482 -5.898895 -5.936577
## Shibata      -6.061234 -6.057856 -6.073102 -6.059316 -6.014104 -6.062412
## Hannan-Quinn -6.014565 -6.006791 -6.026432 -6.008252 -5.967434 -6.011347
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.054132 -6.064112 -6.060230 -6.010826 -6.055281 -6.051581
## Bayes        -5.919864 -5.940172 -5.925962 -5.886886 -5.921013 -5.906984
## Shibata      -6.056349 -6.066006 -6.062446 -6.012721 -6.057498 -6.054143
## Hannan-Quinn -6.000865 -6.014942 -6.006962 -5.961656 -6.002014 -5.994216
##               garch22g garch22sg
## Akaike       -6.058876 -6.054994
## Bayes        -5.924608 -5.910398
## Shibata      -6.061092 -6.057556
## Hannan-Quinn -6.005609 -5.997629
vni.inds <- which(vni.info.mat == min(vni.info.mat), arr.ind=TRUE)

model.vni <- colnames(vni.info.mat)[vni.inds[,2]]

model.vni
## [1] "garch12g"

SSEC

ssec.model.list <- list(garch11n = ssec.garch11n.fit, garch11t = ssec.garch11t.fit, garch11st = ssec.garch11st.fit, garch11g = ssec.garch11g.fit, garch11sg = ssec.garch11sg.fit, garch12n = ssec.garch12n.fit, garch12t = ssec.garch12t.fit, garch12st = ssec.garch12st.fit, garch12g = ssec.garch12g.fit, garch12sg = ssec.garch12sg.fit, garch21n = ssec.garch21n.fit, garch21t = ssec.garch21t.fit, garch21st = ssec.garch21st.fit, garch21g = ssec.garch21g.fit, garch21sg = ssec.garch21sg.fit, garch22n = ssec.garch22n.fit, garch22t = ssec.garch22t.fit, garch22st = ssec.garch22st.fit, garch22g =ssec.garch22g.fit, garch22sg = ssec.garch22sg.fit) 

ssec.info.mat <- sapply(ssec.model.list, infocriteria) 

rownames(ssec.info.mat) <- rownames(infocriteria(ssec.garch11n.fit)) 

ssec.info.mat
##               garch11n  garch11t garch11st  garch11g garch11sg  garch12n
## Akaike       -6.472143 -6.512189 -6.492636 -6.497560 -6.506762 -6.466909
## Bayes        -6.379188 -6.408906 -6.379024 -6.394277 -6.393151 -6.363626
## Shibata      -6.473219 -6.513514 -6.494233 -6.498884 -6.508360 -6.468233
## Hannan-Quinn -6.435265 -6.471214 -6.447563 -6.456585 -6.461690 -6.425934
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.486715 -6.480882 -6.476106 -6.490608 -6.461674 -6.484157
## Bayes        -6.373103 -6.356942 -6.362495 -6.366668 -6.348063 -6.360217
## Shibata      -6.488312 -6.482777 -6.477704 -6.492502 -6.463271 -6.486052
## Hannan-Quinn -6.441642 -6.431712 -6.431034 -6.441438 -6.416602 -6.434987
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.487089 -6.480626 -6.502148 -6.501030 -6.479709 -6.445446
## Bayes        -6.352821 -6.356686 -6.367880 -6.377090 -6.345441 -6.300850
## Shibata      -6.489305 -6.482521 -6.504364 -6.502924 -6.481925 -6.448008
## Hannan-Quinn -6.433822 -6.431456 -6.448881 -6.451860 -6.426442 -6.388081
##               garch22g garch22sg
## Akaike       -6.486389 -6.469164
## Bayes        -6.352120 -6.324567
## Shibata      -6.488605 -6.471726
## Hannan-Quinn -6.433121 -6.411799
ssec.inds <- which(ssec.info.mat == min(ssec.info.mat), arr.ind=TRUE)

model.ssec <- colnames(ssec.info.mat)[ssec.inds[,2]]

model.ssec
## [1] "garch11t"

THAM SỐ ƯỚC LƯỢNG MÔ HÌNH BIÊN PHÙ HỢP NHẤT

vni.garch12g.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,2)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : ged 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.001101    0.000366   -3.006446 0.002643
## ar1    -0.613299    0.008161  -75.146825 0.000000
## ar2    -0.981956    0.008741 -112.345010 0.000000
## ma1     0.638120    0.005069  125.881951 0.000000
## ma2     0.996587    0.002644  376.885130 0.000000
## omega   0.000004    0.000008    0.459440 0.645918
## alpha1  0.049165    0.018161    2.707131 0.006787
## beta1   0.863481    0.726343    1.188806 0.234516
## beta2   0.000001    0.616319    0.000001 0.999999
## gamma1  0.172706    0.073491    2.350049 0.018771
## shape   1.209651    0.116444   10.388224 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error    t value Pr(>|t|)
## mu     -0.001101    0.000327   -3.36752 0.000758
## ar1    -0.613299    0.008392  -73.08333 0.000000
## ar2    -0.981956    0.007283 -134.82571 0.000000
## ma1     0.638120    0.008158   78.21679 0.000000
## ma2     0.996587    0.003860  258.15806 0.000000
## omega   0.000004    0.000022    0.16223 0.871122
## alpha1  0.049165    0.097383    0.50486 0.613655
## beta1   0.863481    2.454360    0.35181 0.724977
## beta2   0.000001    2.125623    0.00000 1.000000
## gamma1  0.172706    0.364297    0.47408 0.635442
## shape   1.209651    0.111046   10.89324 0.000000
## 
## LogLikelihood : 1170.657 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.0715
## Bayes        -5.9579
## Shibata      -6.0731
## Hannan-Quinn -6.0264
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.04154  0.8385
## Lag[2*(p+q)+(p+q)-1][11]   3.91600  1.0000
## Lag[4*(p+q)+(p+q)-1][19]   5.93752  0.9732
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                       1.308  0.2527
## Lag[2*(p+q)+(p+q)-1][8]      3.434  0.6060
## Lag[4*(p+q)+(p+q)-1][14]     6.040  0.6335
## d.o.f=3
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[4]  0.004419 0.500 2.000  0.9470
## ARCH Lag[6]  0.978788 1.461 1.711  0.7538
## ARCH Lag[8]  2.880249 2.368 1.583  0.5661
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  4.7032
## Individual Statistics:              
## mu     0.58628
## ar1    0.03408
## ar2    0.03953
## ma1    0.02026
## ma2    0.09719
## omega  0.69342
## alpha1 0.14404
## beta1  0.18409
## beta2  0.18419
## gamma1 0.26092
## shape  0.01994
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          2.49 2.75 3.27
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value   prob sig
## Sign Bias           0.1981 0.8431    
## Negative Sign Bias  0.4439 0.6573    
## Positive Sign Bias  1.0941 0.2746    
## Joint Effect        2.0079 0.5708    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     16.95       0.5931
## 2    30     27.32       0.5545
## 3    40     52.35       0.0749
## 4    50     53.34       0.3110
## 
## 
## Elapsed time : 0.71386
ssec.garch11t.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,1)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : std 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error     t value Pr(>|t|)
## mu      0.000003    0.000000  7.8696e+01 0.000000
## ar1     1.678839    0.000015  1.1487e+05 0.000000
## ar2    -0.689246    0.000022 -3.0647e+04 0.000000
## ma1    -1.649835    0.000107 -1.5459e+04 0.000000
## ma2     0.640238    0.000061  1.0452e+04 0.000000
## omega   0.000009    0.000000  4.2422e+01 0.000000
## alpha1  0.000000    0.000007  1.1640e-02 0.990713
## beta1   0.796221    0.023351  3.4098e+01 0.000000
## gamma1  0.221325    0.062582  3.5366e+00 0.000405
## shape   9.310836    1.164876  7.9930e+00 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error     t value Pr(>|t|)
## mu      0.000003    0.000002  1.0506e+00 0.293459
## ar1     1.678839    0.000286  5.8746e+03 0.000000
## ar2    -0.689246    0.000435 -1.5850e+03 0.000000
## ma1    -1.649835    0.007448 -2.2150e+02 0.000000
## ma2     0.640238    0.007494  8.5430e+01 0.000000
## omega   0.000009    0.000006  1.6519e+00 0.098557
## alpha1  0.000000    0.000162  4.7300e-04 0.999622
## beta1   0.796221    2.093264  3.8037e-01 0.703669
## gamma1  0.221325    5.446085  4.0639e-02 0.967583
## shape   9.310836   54.878383  1.6966e-01 0.865275
## 
## LogLikelihood : 1253.828 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.5122
## Bayes        -6.4089
## Shibata      -6.5135
## Hannan-Quinn -6.4712
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                       1.830  0.1762
## Lag[2*(p+q)+(p+q)-1][11]     5.507  0.7903
## Lag[4*(p+q)+(p+q)-1][19]    10.687  0.3591
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.4691  0.4934
## Lag[2*(p+q)+(p+q)-1][5]    2.9462  0.4170
## Lag[4*(p+q)+(p+q)-1][9]    5.2369  0.3954
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]     2.630 0.500 2.000  0.1048
## ARCH Lag[5]     3.774 1.440 1.667  0.1955
## ARCH Lag[7]     5.328 2.315 1.543  0.1934
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  27.2051
## Individual Statistics:              
## mu     5.03682
## ar1    0.04385
## ar2    0.04982
## ma1    0.04425
## ma2    0.04954
## omega  3.41948
## alpha1 1.10684
## beta1  0.51082
## gamma1 1.08609
## shape  0.30814
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          2.29 2.54 3.05
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value   prob sig
## Sign Bias           0.3052 0.7604    
## Negative Sign Bias  0.5008 0.6168    
## Positive Sign Bias  0.9271 0.3545    
## Joint Effect        1.5159 0.6786    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     14.96       0.7249
## 2    30     26.06       0.6221
## 3    40     30.57       0.8307
## 4    50     31.87       0.9724
## 
## 
## Elapsed time : 0.7852011

KIỂM ĐỊNH SỰ PHÙ HỢP CỦA MÔ HÌNH BIÊN

Trích xuất chuỗi phần dư u của chuỗi SSEC

ssec.res <- residuals(ssec.garch11t.fit)/sigma(ssec.garch11t.fit)
fitdist(distribution = "std", ssec.res, control = list())
## $pars
##          mu       sigma       shape 
## -0.04440066  0.96483477 14.81873604 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 534.8834 526.8599 526.8599
## 
## $lagrange
## [1] 0
## 
## $hessian
##             [,1]        [,2]        [,3]
## [1,] 476.4714363  -6.9584771 0.152151116
## [2,]  -6.9584771 692.8693079 0.527188118
## [3,]   0.1521511   0.5271881 0.007650928
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 114
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.02116299 secs
## 
## $vscale
## [1] 1 1 1 1
u <- pdist(distribution = "std", q = ssec.res, mu = -0.04440066 , sigma = 0.96483477 , shape= 14.81873604)

Trích xuất chuỗi phần dư v của chuỗi VNI

vni.res <- residuals(vni.garch12g.fit)/sigma(vni.garch12g.fit)
fitdist(distribution = "ged", vni.res, control = list())
## $pars
##        mu     sigma     shape 
## 0.0270057 1.0160627 1.2064201 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 547.7608 534.9186 534.9186
## 
## $lagrange
## [1] 0
## 
## $hessian
##           [,1]      [,2]      [,3]
## [1,] 370.62020  10.64419 -26.01218
## [2,]  10.64419 462.89619  46.65337
## [3,] -26.01218  46.65337  76.03417
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 71
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.02176595 secs
## 
## $vscale
## [1] 1 1 1 1
v <-  pdist("ged",vni.res, mu = 0.0270057, sigma = 1.0160627  , shape = 1.2064201)

Các kiểm định sự phù hợp mô hình biên

Kiểm định Anderson-Darling (A-D)

ad.test(u, "punif")
## 
##  Anderson-Darling test of goodness-of-fit
##  Null hypothesis: uniform distribution
##  Parameters assumed to be fixed
## 
## data:  u
## An = 0.31901, p-value = 0.9232
ad.test(v, "punif")
## 
##  Anderson-Darling test of goodness-of-fit
##  Null hypothesis: uniform distribution
##  Parameters assumed to be fixed
## 
## data:  v
## An = 0.35288, p-value = 0.8938

Kiểm định Cramer-von Mises (Cv-M)

cvm.test(u, "punif")
## 
##  Cramer-von Mises test of goodness-of-fit
##  Null hypothesis: uniform distribution
##  Parameters assumed to be fixed
## 
## data:  u
## omega2 = 0.045375, p-value = 0.904
cvm.test(v, "punif")
## 
##  Cramer-von Mises test of goodness-of-fit
##  Null hypothesis: uniform distribution
##  Parameters assumed to be fixed
## 
## data:  v
## omega2 = 0.03482, p-value = 0.958

Kiểm định Kolmogorov-Smornov (K-S).

ks.test(u, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  u
## D = 0.027447, p-value = 0.9358
## alternative hypothesis: two-sided
ks.test(v, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  v
## D = 0.028023, p-value = 0.9251
## alternative hypothesis: two-sided

ƯỚC LƯỢNG THAM SỐ COUPULA

BiCopSelect(u, v, familyset= NA, selectioncrit="AIC",indeptest = FALSE, level = 0.05)
## Bivariate copula: Gumbel (par = 1.13, tau = 0.11)
Stu <- BiCopEst(u, v, family = 4, method = "mle", se = T, max.df = 10)
summary(Stu)
## Family
## ------ 
## No:    4
## Name:  Gumbel
## 
## Parameter(s)
## ------------
## par:  1.13  (SE = 0.04)
## 
## Dependence measures
## -------------------
## Kendall's tau:    0.11 (empirical = 0.13, p value < 0.01)
## Upper TD:         0.15 
## Lower TD:         0 
## 
## Fit statistics
## --------------
## logLik:  7.49 
## AIC:    -12.97 
## BIC:    -9.03