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.052129    0.031817   1.6384  0.10134
## ar2   -0.776066    0.093209  -8.3261  0.00000
## ma1    0.000000          NA       NA       NA
## ma2    0.863681    0.076564  11.2806  0.00000
## sigma  0.013688    0.000444  30.8221  0.00000
## 
## Robust Standard Errors:
##        Estimate  Std. Error  t value Pr(>|t|)
## ar1    0.052129    0.044636   1.1679  0.24286
## ar2   -0.776066    0.098044  -7.9155  0.00000
## ma1    0.000000          NA       NA       NA
## ma2    0.863681    0.082671  10.4471  0.00000
## sigma  0.013688    0.000800  17.1209  0.00000
## 
## LogLikelihood : 1364.327 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7277
## Bayes        -5.6926
## Shibata      -5.7278
## Hannan-Quinn -5.7139
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.01633  0.8983
## Lag[2*(p+q)+(p+q)-1][11]   4.19363  0.9996
## Lag[4*(p+q)+(p+q)-1][19]   8.35759  0.7421
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic   p-value
## Lag[1]                      21.84 2.964e-06
## Lag[2*(p+q)+(p+q)-1][2]     30.98 5.867e-09
## Lag[4*(p+q)+(p+q)-1][5]     49.26 1.035e-13
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF   P-Value
## ARCH Lag[2]      32.71   2 7.873e-08
## ARCH Lag[5]      44.38   5 1.940e-08
## ARCH Lag[10]     69.20  10 6.319e-11
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.3969
## Individual Statistics:             
## ar1   0.09875
## ar2   0.08007
## ma2   0.05782
## sigma 0.61896
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.07 1.24 1.6
## Individual Statistic:     0.35 0.47 0.75
## 
## 
## Elapsed time : 0.02531409 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    1   1   0   1  0   0 -5.727694         1
## 2    0   1   1   1  0   0 -5.726605         1
## 3    1   1   0   1  1   0 -5.726220         1
## 4    0   1   0   1  0   0 -5.725244         1
## 5    0   1   1   1  1   0 -5.725218         1
## 6    0   1   0   1  1   0 -5.723954         1
## 7    1   1   1   1  0   0 -5.723869         1
## 8    1   1   1   1  1   0 -5.722349         1
## 9    0   0   0   1  0   0 -5.715729         1
## 10   0   1   0   0  0   0 -5.715307         1
## 11   0   0   1   1  0   0 -5.714761         1
## 12   0   0   0   1  1   0 -5.714239         1
## 13   1   0   0   1  0   0 -5.714155         1
## 14   0   1   0   0  1   0 -5.713818         1
## 15   0   1   1   0  0   0 -5.713703         1
## 16   1   1   0   0  0   0 -5.713336         1
## 17   0   0   1   1  1   0 -5.712978         1
## 18   0   0   0   0  1   0 -5.712817         1
## 19   1   0   0   1  1   0 -5.712401         1
## 20   1   0   0   0  0   0 -5.712234         1
## 21   1   0   1   1  0   0 -5.712014         1
## 22   0   1   1   0  1   0 -5.711952         1
## 23   0   0   1   0  0   0 -5.711895         1
## 24   1   0   1   0  0   0 -5.711845         1
## 25   1   1   0   0  1   0 -5.711599         1
## 26   1   0   0   0  1   0 -5.710881         1
## 27   0   0   1   0  1   0 -5.710590         1
## 28   1   0   1   1  1   0 -5.710299         1
## 29   1   1   1   0  0   0 -5.710255         1
## 30   1   0   1   0  1   0 -5.709663         1
## 31   1   1   1   0  1   0 -5.708569         1
autoarfima(data$SSEC,ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")
## $fit
## 
## *----------------------------------*
## *          ARFIMA Model Fit        *
## *----------------------------------*
## Mean Model   : ARFIMA(0,0,2)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##        Estimate  Std. Error  t value Pr(>|t|)
## ma1    0.000000          NA       NA       NA
## ma2    0.058290    0.048452   1.2031  0.22896
## sigma  0.011141    0.000361  30.8220  0.00000
## 
## Robust Standard Errors:
##        Estimate  Std. Error  t value Pr(>|t|)
## ma1    0.000000          NA       NA       NA
## ma2    0.058290    0.063676  0.91542  0.35997
## sigma  0.011141    0.000792 14.06605  0.00000
## 
## LogLikelihood : 1462.127 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.1479
## Bayes        -6.1304
## Shibata      -6.1479
## Hannan-Quinn -6.1410
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.05266  0.8185
## Lag[2*(p+q)+(p+q)-1][5]   0.99279  1.0000
## Lag[4*(p+q)+(p+q)-1][9]   2.29525  0.9682
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.3313  0.5649
## Lag[2*(p+q)+(p+q)-1][2]    1.1182  0.4614
## Lag[4*(p+q)+(p+q)-1][5]    2.1192  0.5905
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF P-Value
## ARCH Lag[2]      1.845   2  0.3976
## ARCH Lag[5]      2.657   5  0.7526
## ARCH Lag[10]    10.828  10  0.3711
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.4247
## Individual Statistics:             
## ma2   0.02655
## sigma 1.26562
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          0.61 0.749 1.07
## Individual Statistic:     0.35 0.47 0.75
## 
## 
## Elapsed time : 0.008608103 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    0   0   0   1  0   0 -6.147903         1
## 2    0   1   0   0  0   0 -6.147557         1
## 3    1   1   1   1  0   0 -6.146873         1
## 4    0   1   0   1  0   0 -6.146197         1
## 5    0   0   0   0  1   0 -6.145738         1
## 6    1   0   0   0  0   0 -6.145028         1
## 7    0   0   1   0  0   0 -6.145014         1
## 8    0   0   0   1  1   0 -6.144461         1
## 9    0   1   0   0  1   0 -6.144120         1
## 10   1   0   0   1  0   0 -6.143788         1
## 11   0   0   1   1  0   0 -6.143758         1
## 12   1   1   1   1  1   0 -6.143473         1
## 13   1   1   0   0  0   0 -6.143462         1
## 14   0   1   1   0  0   0 -6.143431         1
## 15   0   1   1   1  0   0 -6.143176         1
## 16   0   1   0   1  1   0 -6.142798         1
## 17   1   1   0   1  0   0 -6.142744         1
## 18   1   0   1   0  0   0 -6.141815         1
## 19   1   0   0   0  1   0 -6.141693         1
## 20   0   0   1   0  1   0 -6.141678         1
## 21   1   0   0   1  1   0 -6.140362         1
## 22   0   0   1   1  1   0 -6.140330         1
## 23   1   1   0   0  1   0 -6.140045         1
## 24   0   1   1   0  1   0 -6.140010         1
## 25   1   0   1   1  0   0 -6.139851         1
## 26   0   1   1   1  1   0 -6.139809         1
## 27   1   1   1   0  0   0 -6.139526         1
## 28   1   1   0   1  1   0 -6.139375         1
## 29   1   0   1   0  1   0 -6.138490         1
## 30   1   0   1   1  1   0 -6.136444         1
## 31   1   1   1   0  1   0 -6.136117         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.094437 -6.185093 -6.182845 -6.192696 -6.190102 -6.090455
## Bayes        -6.015553 -6.097444 -6.086432 -6.105047 -6.093688 -6.002806
## Shibata      -6.095137 -6.185955 -6.183886 -6.193558 -6.191142 -6.091317
## Hannan-Quinn -6.063415 -6.150625 -6.144930 -6.158228 -6.152187 -6.055987
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.181152 -6.178958 -6.188823 -6.186229 -6.087132 -6.177631
## Bayes        -6.084739 -6.073780 -6.092409 -6.081050 -5.990718 -6.072452
## Shibata      -6.182193 -6.180193 -6.189863 -6.187464 -6.088172 -6.178866
## Hannan-Quinn -6.143238 -6.137596 -6.150908 -6.144867 -6.049217 -6.136269
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.175324 -6.185133 -6.182528 -6.084617 -6.173420 -6.171114
## Bayes        -6.061381 -6.079955 -6.068585 -5.979439 -6.059477 -6.048405
## Shibata      -6.176770 -6.186368 -6.183974 -6.085852 -6.174866 -6.172786
## Hannan-Quinn -6.130516 -6.143771 -6.137720 -6.043256 -6.128612 -6.122858
##               garch22g garch22sg
## Akaike       -6.180923 -6.178318
## Bayes        -6.066980 -6.055610
## Shibata      -6.182368 -6.179990
## Hannan-Quinn -6.136115 -6.130063
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] "garch11g"

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.305018 -6.376502 -6.372689 -6.376362 -6.353455 -6.300807
## Bayes        -6.226134 -6.288853 -6.276275 -6.288713 -6.257041 -6.213158
## Shibata      -6.305718 -6.377364 -6.373729 -6.377224 -6.354495 -6.301669
## Hannan-Quinn -6.273996 -6.342034 -6.334774 -6.341894 -6.315540 -6.266339
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.372292 -6.368478 -6.332560 -6.349244 -6.282899 -6.378253
## Bayes        -6.275878 -6.263300 -6.236146 -6.244066 -6.186485 -6.273074
## Shibata      -6.373332 -6.369713 -6.333600 -6.350479 -6.283940 -6.379488
## Hannan-Quinn -6.334377 -6.327117 -6.294645 -6.307883 -6.244984 -6.336891
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.374212 -6.355146 -6.351428 -6.295627 -6.374391 -6.370604
## Bayes        -6.260269 -6.249967 -6.237485 -6.190449 -6.260447 -6.247896
## Shibata      -6.375658 -6.356381 -6.352874 -6.296862 -6.375836 -6.372276
## Hannan-Quinn -6.329404 -6.313784 -6.306620 -6.254265 -6.329582 -6.322349
##               garch22g garch22sg
## Akaike       -6.374492 -6.347756
## Bayes        -6.260549 -6.225048
## Shibata      -6.375938 -6.349428
## Hannan-Quinn -6.329684 -6.299501
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] "garch21t"

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

vni.garch11g.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,1)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : ged 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.002384    0.000197 -12.0931 0.000000
## ar1     0.210419    0.008278  25.4182 0.000000
## ar2    -0.983141    0.011353 -86.5944 0.000000
## ma1    -0.182421    0.009239 -19.7453 0.000000
## ma2     0.977150    0.008991 108.6811 0.000000
## omega   0.000012    0.000002   4.9615 0.000001
## alpha1  0.083781    0.038377   2.1831 0.029028
## beta1   0.691217    0.020677  33.4291 0.000000
## gamma1  0.448004    0.115412   3.8818 0.000104
## shape   1.077640    0.077952  13.8243 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error   t value Pr(>|t|)
## mu     -0.002384    0.000118  -20.2009 0.000000
## ar1     0.210419    0.004471   47.0639 0.000000
## ar2    -0.983141    0.008701 -112.9938 0.000000
## ma1    -0.182421    0.007682  -23.7470 0.000000
## ma2     0.977150    0.005894  165.7890 0.000000
## omega   0.000012    0.000004    3.3419 0.000832
## alpha1  0.083781    0.035290    2.3741 0.017593
## beta1   0.691217    0.048282   14.3162 0.000000
## gamma1  0.448004    0.125567    3.5678 0.000360
## shape   1.077640    0.076503   14.0863 0.000000
## 
## LogLikelihood : 1480.765 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.1927
## Bayes        -6.1050
## Shibata      -6.1936
## Hannan-Quinn -6.1582
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.08846  0.7661
## Lag[2*(p+q)+(p+q)-1][11]   1.88332  1.0000
## Lag[4*(p+q)+(p+q)-1][19]   5.62284  0.9830
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.03271  0.8565
## Lag[2*(p+q)+(p+q)-1][5]   3.83646  0.2752
## Lag[4*(p+q)+(p+q)-1][9]   5.67344  0.3375
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]     5.578 0.500 2.000 0.01819
## ARCH Lag[5]     6.497 1.440 1.667 0.04585
## ARCH Lag[7]     6.916 2.315 1.543 0.09053
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  5.4236
## Individual Statistics:              
## mu     0.12287
## ar1    0.06745
## ar2    0.03330
## ma1    0.06480
## ma2    0.04758
## omega  1.55716
## alpha1 0.06398
## beta1  0.15957
## gamma1 0.08760
## shape  0.08900
## 
## 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.06503 0.9482    
## Negative Sign Bias 0.38998 0.6967    
## Positive Sign Bias 0.53504 0.5929    
## Joint Effect       0.69253 0.8750    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     18.52       0.4883
## 2    30     38.16       0.1189
## 3    40     48.54       0.1408
## 4    50     45.53       0.6148
## 
## 
## Elapsed time : 0.9979138
ssec.garch21t.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(2,1)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : std 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error    t value Pr(>|t|)
## mu     -0.000770    0.000393   -1.95708 0.050338
## ar1    -0.259636    0.006335  -40.98531 0.000000
## ar2    -0.981055    0.003425 -286.40886 0.000000
## ma1     0.239991    0.000901  266.23720 0.000000
## ma2     1.013336    0.000445 2277.55587 0.000000
## omega   0.000046    0.000019    2.47690 0.013253
## alpha1  0.000000    0.040851    0.00000 1.000000
## alpha2  0.185871    0.098921    1.87899 0.060246
## beta1   0.311876    0.220184    1.41643 0.156649
## gamma1  0.232607    0.136705    1.70152 0.088845
## gamma2  0.120810    0.218800    0.55215 0.580847
## shape   4.332515    0.928647    4.66541 0.000003
## 
## Robust Standard Errors:
##         Estimate  Std. Error    t value Pr(>|t|)
## mu     -0.000770    0.000327   -2.35155 0.018695
## ar1    -0.259636    0.007929  -32.74572 0.000000
## ar2    -0.981055    0.011131  -88.13858 0.000000
## ma1     0.239991    0.001068  224.76441 0.000000
## ma2     1.013336    0.000711 1424.24077 0.000000
## omega   0.000046    0.000029    1.55747 0.119360
## alpha1  0.000000    0.035528    0.00000 1.000000
## alpha2  0.185871    0.098833    1.88066 0.060019
## beta1   0.311876    0.329459    0.94663 0.343827
## gamma1  0.232607    0.137923    1.68649 0.091701
## gamma2  0.120810    0.290889    0.41531 0.677913
## shape   4.332515    0.985026    4.39838 0.000011
## 
## LogLikelihood : 1526.835 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.3783
## Bayes        -6.2731
## Shibata      -6.3795
## Hannan-Quinn -6.3369
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                    0.004272  0.9479
## Lag[2*(p+q)+(p+q)-1][11]  5.498152  0.7947
## Lag[4*(p+q)+(p+q)-1][19]  9.010217  0.6366
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                      0.9164  0.3384
## Lag[2*(p+q)+(p+q)-1][8]     1.5061  0.9265
## Lag[4*(p+q)+(p+q)-1][14]    4.8403  0.7890
## d.o.f=3
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[4]   0.02456 0.500 2.000  0.8755
## ARCH Lag[6]   0.38213 1.461 1.711  0.9241
## ARCH Lag[8]   0.55935 2.368 1.583  0.9769
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  2.1535
## Individual Statistics:              
## mu     0.01962
## ar1    0.05316
## ar2    0.25873
## ma1    0.07399
## ma2    0.03829
## omega  0.32480
## alpha1 0.18298
## alpha2 0.23121
## beta1  0.26880
## gamma1 0.41336
## gamma2 0.11806
## shape  0.06368
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          2.69 2.96 3.51
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value   prob sig
## Sign Bias          0.50992 0.6103    
## Negative Sign Bias 0.06378 0.9492    
## Positive Sign Bias 0.66241 0.5080    
## Joint Effect       1.88441 0.5967    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     13.80       0.7952
## 2    30     25.78       0.6373
## 3    40     33.04       0.7375
## 4    50     49.32       0.4605
## 
## 
## Elapsed time : 1.224915

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.garch21t.fit)/sigma(ssec.garch21t.fit)
fitdist(distribution = "std", ssec.res, control = list())
## $pars
##          mu       sigma       shape 
## 0.009135375 0.996530915 4.372547133 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 641.4801 640.9640 640.9640
## 
## $lagrange
## [1] 0
## 
## $hessian
##            [,1]       [,2]      [,3]
## [1,] 665.520880  -5.724951 -1.577288
## [2,]  -5.724951 563.773400 29.110445
## [3,]  -1.577288  29.110445  3.111301
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 65
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.01854801 secs
## 
## $vscale
## [1] 1 1 1 1
u <- pdist(distribution = "std", q = ssec.res, mu = 0.009135375 , sigma = 0.996530915 , shape= 4.372547133)

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

vni.res <- residuals(vni.garch11g.fit)/sigma(vni.garch11g.fit)
fitdist(distribution = "ged", vni.res, control = list())
## $pars
##         mu      sigma      shape 
## 0.01086474 1.01546612 1.06732282 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 681.1419 654.2505 654.2505
## 
## $lagrange
## [1] 0
## 
## $hessian
##            [,1]      [,2]      [,3]
## [1,] 4268.96329 109.84260  24.45826
## [2,]  109.84260 433.22152  56.43473
## [3,]   24.45826  56.43473 124.84151
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 74
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.02475214 secs
## 
## $vscale
## [1] 1 1 1 1
v <-  pdist("ged",vni.res, mu = 0.01086474, sigma = 1.01546612 , shape = 1.06732282)

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.20899, p-value = 0.9878
ad.test(v, "punif")
## 
##  Anderson-Darling test of goodness-of-fit
##  Null hypothesis: uniform distribution
##  Parameters assumed to be fixed
## 
## data:  v
## An = 0.54881, p-value = 0.6976

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.026166, p-value = 0.9871
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.03493, p-value = 0.9575

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

ks.test(u, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  u
## D = 0.02117, p-value = 0.9835
## alternative hypothesis: two-sided
ks.test(v, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  v
## D = 0.021734, p-value = 0.9783
## alternative hypothesis: two-sided

ƯỚC LƯỢNG THAM SỐ COUPULA

BiCopSelect(u, v, familyset= NA, selectioncrit="AIC",indeptest = FALSE, level = 0.05)
## Bivariate copula: Survival BB7 (par = 1.1, par2 = 0.24, tau = 0.15)
Stu <- BiCopEst(u, v, family = 9, method = "mle", se = T, max.df = 10)
summary(Stu)
## Family
## ------ 
## No:    9
## Name:  BB7
## 
## Parameter(s)
## ------------
## par:  1.14  (SE = 0.05)
## par2: 0.17  (SE = 0.08)
## Dependence measures
## -------------------
## Kendall's tau:    0.14 (empirical = 0.15, p value < 0.01)
## Upper TD:         0.17 
## Lower TD:         0.02 
## 
## Fit statistics
## --------------
## logLik:  14.33 
## AIC:    -24.66 
## BIC:    -16.33