autoarfima(data$VNI,ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")
## $fit
## 
## *----------------------------------*
## *          ARFIMA Model Fit        *
## *----------------------------------*
## Mean Model   : ARFIMA(1,0,1)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##        Estimate  Std. Error  t value Pr(>|t|)
## ar1    0.501620    0.167038   3.0030 0.002673
## ma1   -0.428330    0.174099  -2.4603 0.013884
## sigma  0.011802    0.000146  80.6027 0.000000
## 
## Robust Standard Errors:
##        Estimate  Std. Error  t value Pr(>|t|)
## ar1    0.501620    0.223486   2.2445 0.024799
## ma1   -0.428330    0.234928  -1.8232 0.068267
## sigma  0.011802    0.000431  27.3533 0.000000
## 
## LogLikelihood : 9807.326 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.0390
## Bayes        -6.0334
## Shibata      -6.0390
## Hannan-Quinn -6.0370
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.00691  0.9338
## Lag[2*(p+q)+(p+q)-1][5]   0.21709  1.0000
## Lag[4*(p+q)+(p+q)-1][9]   2.21499  0.9735
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      125.7       0
## Lag[2*(p+q)+(p+q)-1][2]     205.1       0
## Lag[4*(p+q)+(p+q)-1][5]     353.1       0
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF P-Value
## ARCH Lag[2]      238.0   2       0
## ARCH Lag[5]      298.7   5       0
## ARCH Lag[10]     341.7  10       0
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.5834
## Individual Statistics:            
## ar1   0.4366
## ma1   0.4476
## sigma 1.0116
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          0.846 1.01 1.35
## Individual Statistic:     0.35 0.47 0.75
## 
## 
## Elapsed time : 0.0407021 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    1   0   1   0  0   0 -6.039006         1
## 2    1   1   0   0  0   0 -6.038796         1
## 3    1   0   0   1  0   0 -6.038751         1
## 4    1   0   1   0  1   0 -6.038751         1
## 5    0   1   1   0  0   0 -6.038745         1
## 6    0   0   1   1  0   0 -6.038680         1
## 7    1   1   0   0  1   0 -6.038555         1
## 8    1   0   0   1  1   0 -6.038513         1
## 9    0   1   1   0  1   0 -6.038507         1
## 10   0   0   1   1  1   0 -6.038444         1
## 11   1   0   1   1  0   0 -6.038377         1
## 12   0   1   1   1  0   0 -6.038376         1
## 13   1   1   0   1  0   0 -6.038372         1
## 14   1   1   1   0  0   0 -6.038362         1
## 15   1   0   0   0  0   0 -6.038138         1
## 16   1   0   1   1  1   0 -6.038106         1
## 17   1   1   1   0  1   0 -6.038106         1
## 18   1   1   0   1  1   0 -6.038104         1
## 19   0   1   1   1  1   0 -6.038093         1
## 20   1   0   0   0  1   0 -6.037921         1
## 21   1   1   1   1  0   0 -6.037762         1
## 22   0   0   1   0  0   0 -6.037732         1
## 23   0   0   1   0  1   0 -6.037523         1
## 24   1   1   1   1  1   0 -6.037490         1
## 25   0   1   0   0  0   0 -6.034190         1
## 26   0   0   0   1  0   0 -6.034136         1
## 27   0   1   0   0  1   0 -6.034000         1
## 28   0   0   0   1  1   0 -6.033949         1
## 29   0   1   0   1  0   0 -6.033793         1
## 30   0   1   0   1  1   0 -6.033511         1
## 31   0   0   0   0  1   0 -6.032901         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|)
## ar1    0.055330    0.010194    5.4277  0.0e+00
## ar2   -0.972436    0.002295 -423.7588  0.0e+00
## ma1   -0.053427    0.013354   -4.0008  6.3e-05
## ma2    0.948445    0.005113  185.5076  0.0e+00
## sigma  0.012889    0.000160   80.5927  0.0e+00
## 
## Robust Standard Errors:
##        Estimate  Std. Error   t value Pr(>|t|)
## ar1    0.055330    0.013421    4.1227 0.000037
## ar2   -0.972436    0.009306 -104.4906 0.000000
## ma1   -0.053427    0.014313   -3.7328 0.000189
## ma2    0.948445    0.005183  182.9968 0.000000
## sigma  0.012889    0.000614   20.9895 0.000000
## 
## LogLikelihood : 9521.575 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.8618
## Bayes        -5.8524
## Shibata      -5.8618
## Hannan-Quinn -5.8584
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic   p-value
## Lag[1]                       2.652 1.034e-01
## Lag[2*(p+q)+(p+q)-1][11]     9.321 9.584e-07
## Lag[4*(p+q)+(p+q)-1][19]    15.542 1.912e-02
## 
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      123.5       0
## Lag[2*(p+q)+(p+q)-1][2]     195.7       0
## Lag[4*(p+q)+(p+q)-1][5]     382.2       0
## 
## 
## ARCH LM Tests
## ------------------------------------
##              Statistic DoF P-Value
## ARCH Lag[2]      223.9   2       0
## ARCH Lag[5]      335.6   5       0
## ARCH Lag[10]     367.5  10       0
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  3.1208
## Individual Statistics:             
## ar1   0.09109
## ar2   0.19221
## ma1   0.12047
## ma2   0.21339
## sigma 2.79648
## 
## 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.09556103 
## 
## 
## $rank.matrix
##    ar1 ar2 ma1 ma2 im arf       AIC converged
## 1    1   1   1   1  0   0 -5.861765         1
## 2    1   1   1   1  1   0 -5.861153         1
## 3    1   1   0   1  0   0 -5.860945         1
## 4    0   1   1   1  0   0 -5.860351         1
## 5    1   1   0   1  1   0 -5.860333         1
## 6    0   1   1   1  1   0 -5.859739         1
## 7    0   1   0   1  0   0 -5.859656         1
## 8    0   1   0   1  1   0 -5.859044         1
## 9    1   0   1   0  0   0 -5.855938         1
## 10   1   0   1   0  1   0 -5.855326         1
## 11   0   1   1   0  0   0 -5.854481         1
## 12   1   1   0   0  0   0 -5.854460         1
## 13   0   0   1   1  0   0 -5.854454         1
## 14   0   0   1   0  0   0 -5.854276         1
## 15   1   0   0   0  0   0 -5.854221         1
## 16   0   1   0   0  0   0 -5.854136         1
## 17   0   0   0   1  0   0 -5.854091         1
## 18   1   0   0   1  0   0 -5.853994         1
## 19   1   1   1   0  0   0 -5.853904         1
## 20   0   1   1   0  1   0 -5.853869         1
## 21   1   1   0   0  1   0 -5.853848         1
## 22   0   0   1   1  1   0 -5.853841         1
## 23   1   0   1   1  0   0 -5.853832         1
## 24   1   0   0   1  1   0 -5.853821         1
## 25   0   0   1   0  1   0 -5.853663         1
## 26   1   0   0   0  1   0 -5.853608         1
## 27   0   1   0   0  1   0 -5.853524         1
## 28   0   0   0   1  1   0 -5.853479         1
## 29   0   0   0   0  1   0 -5.853338         1
## 30   1   1   1   0  1   0 -5.853286         1
## 31   1   0   1   1  1   0 -5.853245         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.287760 -6.322286 -6.323867 -6.325813 -6.327080 -6.286958
## Bayes        -6.270892 -6.303545 -6.303251 -6.307071 -6.306464 -6.268216
## Shibata      -6.287775 -6.322305 -6.323890 -6.325832 -6.327103 -6.286977
## Hannan-Quinn -6.281717 -6.315572 -6.316481 -6.319099 -6.319695 -6.280244
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.321670 -6.323251 -6.325197 -6.326464 -6.286453 -6.321109
## Bayes        -6.301054 -6.300761 -6.304581 -6.303974 -6.265836 -6.298619
## Shibata      -6.321693 -6.323278 -6.325220 -6.326492 -6.286475 -6.321136
## Hannan-Quinn -6.314285 -6.315194 -6.317811 -6.318407 -6.279067 -6.313052
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.322664 -6.324633 -6.325877 -6.285905 -6.320563 -6.322093
## Bayes        -6.298300 -6.302143 -6.301512 -6.263414 -6.296198 -6.295854
## Shibata      -6.322696 -6.324660 -6.325908 -6.285932 -6.320595 -6.322130
## Hannan-Quinn -6.313935 -6.316576 -6.317148 -6.277847 -6.311834 -6.312693
##               garch22g garch22sg
## Akaike       -6.324065 -6.325293
## Bayes        -6.299701 -6.299054
## Shibata      -6.324097 -6.325330
## Hannan-Quinn -6.315337 -6.315893
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] "garch11sg"

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.145434 -6.209460 -6.210553 -6.218478 -6.216318 -6.142700
## Bayes        -6.128566 -6.190718 -6.189937 -6.199736 -6.195702 -6.123958
## Shibata      -6.145449 -6.209479 -6.210576 -6.218497 -6.216341 -6.142719
## Hannan-Quinn -6.139391 -6.202746 -6.203167 -6.211763 -6.208933 -6.135985
##               garch12t garch12st  garch12g garch12sg  garch21n  garch21t
## Akaike       -6.208844 -6.209937 -6.217862 -6.217515 -6.144596 -6.211585
## Bayes        -6.188228 -6.187447 -6.197246 -6.195024 -6.123980 -6.189094
## Shibata      -6.208867 -6.209964 -6.217885 -6.217542 -6.144618 -6.211612
## Hannan-Quinn -6.201458 -6.201880 -6.210476 -6.209457 -6.137210 -6.203527
##              garch21st  garch21g garch21sg  garch22n  garch22t garch22st
## Akaike       -6.209703 -6.216970 -6.219737 -6.146805 -6.209285 -6.209087
## Bayes        -6.185338 -6.194480 -6.195372 -6.124315 -6.184921 -6.182848
## Shibata      -6.209735 -6.216997 -6.219769 -6.146832 -6.209317 -6.209124
## Hannan-Quinn -6.200974 -6.208913 -6.211008 -6.138748 -6.200556 -6.199687
##               garch22g garch22sg
## Akaike       -6.216963 -6.216852
## Bayes        -6.192599 -6.190614
## Shibata      -6.216995 -6.216889
## Hannan-Quinn -6.208235 -6.207452
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] "garch21sg"

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

vni.garch11sg.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(1,1)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : sged 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.001023    0.000204  -5.0065 0.000001
## ar1     0.604507    0.038619  15.6529 0.000000
## ar2     0.171267    0.074060   2.3125 0.020748
## ma1    -0.524645    0.040383 -12.9919 0.000000
## ma2    -0.206374    0.079652  -2.5909 0.009571
## omega   0.000003    0.000002   1.9858 0.047058
## alpha1  0.054830    0.014738   3.7203 0.000199
## beta1   0.843936    0.019409  43.4820 0.000000
## gamma1  0.195020    0.030296   6.4372 0.000000
## skew    1.053377    0.022758  46.2858 0.000000
## shape   1.363629    0.047625  28.6328 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.001023    0.000193  -5.2933 0.000000
## ar1     0.604507    0.013839  43.6816 0.000000
## ar2     0.171267    0.047944   3.5722 0.000354
## ma1    -0.524645    0.016129 -32.5283 0.000000
## ma2    -0.206374    0.050241  -4.1077 0.000040
## omega   0.000003    0.000005   0.6808 0.495995
## alpha1  0.054830    0.020751   2.6423 0.008234
## beta1   0.843936    0.043171  19.5485 0.000000
## gamma1  0.195020    0.040883   4.7702 0.000002
## skew    1.053377    0.023557  44.7159 0.000000
## shape   1.363629    0.051565  26.4449 0.000000
## 
## LogLikelihood : 10283.01 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.3271
## Bayes        -6.3065
## Shibata      -6.3271
## Hannan-Quinn -6.3197
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic   p-value
## Lag[1]                       3.451 6.320e-02
## Lag[2*(p+q)+(p+q)-1][11]    11.315 6.791e-13
## Lag[4*(p+q)+(p+q)-1][19]    17.567 3.645e-03
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.07107  0.7898
## Lag[2*(p+q)+(p+q)-1][5]   3.35014  0.3468
## Lag[4*(p+q)+(p+q)-1][9]   4.94499  0.4375
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.9745 0.500 2.000  0.3235
## ARCH Lag[5]    1.5892 1.440 1.667  0.5692
## ARCH Lag[7]    2.3292 2.315 1.543  0.6479
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  15.3688
## Individual Statistics:              
## mu     0.59749
## ar1    0.45104
## ar2    0.09977
## ma1    0.50633
## ma2    0.09922
## omega  4.46470
## alpha1 0.80600
## beta1  0.66558
## gamma1 0.18355
## skew   0.24638
## shape  1.17729
## 
## 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.8371 0.4026    
## Negative Sign Bias  1.1230 0.2615    
## Positive Sign Bias  0.6554 0.5123    
## Joint Effect        1.7046 0.6359    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     16.28       0.6387
## 2    30     25.49       0.6523
## 3    40     36.51       0.5840
## 4    50     49.29       0.4616
## 
## 
## Elapsed time : 3.5702
ssec.garch21sg.fit
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : gjrGARCH(2,1)
## Mean Model   : ARFIMA(2,0,2)
## Distribution : sged 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.000284    0.000224    -1.27048 0.203914
## ar1    -0.232564    0.000432  -537.91497 0.000000
## ar2    -0.999226    0.000594 -1680.86639 0.000000
## ma1     0.234416    0.000046  5117.57624 0.000000
## ma2     1.001321    0.000046 21704.13350 0.000000
## omega   0.000001    0.000000     7.27706 0.000000
## alpha1  0.000002    0.026877     0.00007 0.999944
## alpha2  0.029599    0.025129     1.17790 0.238838
## beta1   0.923878    0.006840   135.06498 0.000000
## gamma1  0.128054    0.046361     2.76214 0.005742
## gamma2 -0.039084    0.044670    -0.87496 0.381598
## skew    1.029892    0.019657    52.39304 0.000000
## shape   1.186529    0.041651    28.48771 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.000284    0.000312 -9.1112e-01 0.362232
## ar1    -0.232564    0.000568 -4.0932e+02 0.000000
## ar2    -0.999226    0.000658 -1.5189e+03 0.000000
## ma1     0.234416    0.000059  3.9918e+03 0.000000
## ma2     1.001321    0.000115  8.6934e+03 0.000000
## omega   0.000001    0.000001  1.9925e+00 0.046313
## alpha1  0.000002    0.031795  5.9000e-05 0.999953
## alpha2  0.029599    0.033409  8.8597e-01 0.375634
## beta1   0.923878    0.016994  5.4365e+01 0.000000
## gamma1  0.128054    0.045722  2.8007e+00 0.005099
## gamma2 -0.039084    0.042323 -9.2347e-01 0.355763
## skew    1.029892    0.023528  4.3774e+01 0.000000
## shape   1.186529    0.045771  2.5923e+01 0.000000
## 
## LogLikelihood : 10110.74 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.2197
## Bayes        -6.1954
## Shibata      -6.2198
## Hannan-Quinn -6.2110
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic   p-value
## Lag[1]                   1.862e-04 9.891e-01
## Lag[2*(p+q)+(p+q)-1][11] 1.054e+01 2.606e-10
## Lag[4*(p+q)+(p+q)-1][19] 1.691e+01 6.396e-03
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                       2.473  0.1158
## Lag[2*(p+q)+(p+q)-1][8]      6.627  0.1790
## Lag[4*(p+q)+(p+q)-1][14]    10.115  0.1912
## d.o.f=3
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[4]    0.7016 0.500 2.000  0.4022
## ARCH Lag[6]    0.8495 1.461 1.711  0.7913
## ARCH Lag[8]    2.9676 2.368 1.583  0.5495
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  200.8615
## Individual Statistics:               
## mu      0.24011
## ar1     0.02560
## ar2     0.13236
## ma1     0.02827
## ma2     0.09385
## omega  37.69238
## alpha1  0.37661
## alpha2  0.25578
## beta1   0.35111
## gamma1  0.12540
## gamma2  0.14744
## skew    0.22948
## shape   0.21914
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          2.89 3.15 3.69
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias           2.7983 0.005168 ***
## Negative Sign Bias  1.6403 0.101046    
## Positive Sign Bias  0.2665 0.789840    
## Joint Effect       10.7860 0.012941  **
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     17.31       0.5688
## 2    30     20.80       0.8663
## 3    40     34.86       0.6592
## 4    50     42.70       0.7251
## 
## 
## Elapsed time : 21.59815

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.garch21sg.fit)/sigma(ssec.garch21sg.fit)
fitdist(distribution = "sged", ssec.res, control = list())
## $pars
##         mu      sigma       skew      shape 
## 0.01288543 0.99956818 1.03815404 1.18790272 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 4607.775 4483.681 4483.681
## 
## $lagrange
## [1] 0
## 
## $hessian
##             [,1]       [,2]        [,3]      [,4]
## [1,]  4209.85344 -372.58321 -1881.09603  26.21724
## [2,]  -372.58321 3813.08748    79.27614 554.48237
## [3,] -1881.09603   79.27614  3297.48627 -75.86870
## [4,]    26.21724  554.48237   -75.86870 675.50865
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 98
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.377492 secs
## 
## $vscale
## [1] 1 1 1 1 1
u <- pdist(distribution = "sged", q = ssec.res, mu = 0.01288543 , sigma = 0.99956818 , skew=1.03815404, shape= 1.18790272)

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

vni.res <- residuals(vni.garch11sg.fit)/sigma(vni.garch11sg.fit)
fitdist(distribution = "sged", vni.res, control = list())
## $pars
##         mu      sigma       skew      shape 
## 0.02640162 1.00144379 1.06670509 1.36529700 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 4614.913 4547.547 4547.547
## 
## $lagrange
## [1] 0
## 
## $hessian
##           [,1]       [,2]       [,3]      [,4]
## [1,] 3618.2645 -328.64774 -794.86532 -18.95670
## [2,] -328.6477 4405.58532  -54.42895 362.63126
## [3,] -794.8653  -54.42895 2035.57203 -57.54076
## [4,]  -18.9567  362.63126  -57.54076 477.28223
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 92
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.3321469 secs
## 
## $vscale
## [1] 1 1 1 1 1
v <-  pdist("sged",vni.res, mu = 0.02640162, sigma = 1.00144379 , skew=1.06670509, shape = 1.36529700)

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

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.038331, p-value = 0.9416
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.053155, p-value = 0.8569

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

ks.test(u, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  u
## D = 0.0094853, p-value = 0.932
## alternative hypothesis: two-sided
ks.test(v, "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  v
## D = 0.011751, p-value = 0.761
## 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 BB1 (par = 0.14, par2 = 1.04, tau = 0.1)
Stu <- BiCopEst(u, v, family = 7, method = "mle", se = T, max.df = 10)
summary(Stu)
## Family
## ------ 
## No:    7
## Name:  BB1
## 
## Parameter(s)
## ------------
## par:  0.05  (SE = 0.02)
## par2: 1.08  (SE = 0.02)
## Dependence measures
## -------------------
## Kendall's tau:    0.1 (empirical = 0.1, p value < 0.01)
## Upper TD:         0.1 
## Lower TD:         0 
## 
## Fit statistics
## --------------
## logLik:  45.8 
## AIC:    -87.6 
## BIC:    -75.43