VNINDEX

CHUỖI LỢI TỨC VNI

vnindex <- read_excel("D:/MHNN/vnidata.xlsx")
vnindex$price <- as.numeric(gsub(",", "", vnindex$price))
returnvni <- rev(diff(log(vnindex$price))) #Tính dãy lợi suất
vnindex$returnvni <-c(0,returnvni) #Bổ sung lợi suất ngày đâu tiên là 0
plot.ts(vnindex$returnvni)

LỰA CHỌN MÔ HÌNH THEO AIC

ARMA(2,2) – GJR GARCH (1,1) – Skew Ged

PP GED ĐỐI XỨNG

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,vnindex$returnvni)

USD/VND

CHUỖI LỢI TỨC USD/VND

usdvnd <- read_excel("D:/MHNN/usdvnddata.xlsx", sheet= 1)
usdvnd$price <- as.numeric(gsub(",", "", usdvnd$price))
returnusdvnd <- rev(diff(log(usdvnd$price))) #Tính dãy lợi suất
usdvnd$returnusdvnd <-c(0,returnusdvnd) #Bổ sung lợi suất ngày đâu tiên là 0
plot.ts(usdvnd$returnusdvnd)

LỰA CHỌN MÔ HÌNH THEO AIC

ARMA(2,1) – GJR GARCH (1,2) – Ged

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

usvn.garch12g.fit <- ugarchfit(spec = usvn.garch12g.spec,usdvnd$returnusdvnd)

XUẤT THAM SỐ VNI

vni.res <- residuals(vni.garch11sg.fit)/sigma(vni.garch11sg.fit)
fitdist(distribution = "sged", vni.res, control = list())$pars
##          mu       sigma        skew       shape 
## -0.02233411  1.00959056  1.08455409  1.09009950
v = pdist("sged",vni.res, mu = -0.02227578 , sigma = 1.00979656, skew = 1.08493194, shape = 1.09009978)

XUẤT THAM SỐ USD/VND

usvn.res <- residuals(usvn.garch12g.fit)/sigma(usvn.garch12g.fit)
fitdist(distribution = "ged", usvn.res, control = list())$pars
##            mu         sigma         shape 
## -0.0001489938  1.2778369473  0.4495462625
u = pdist("ged",usvn.res, mu = -4.981423e-05 , sigma = 1.097173e+00, shape = 4.348970e-01 )

MÔ HÌNH COPULA

### ƯỚC LƯỢNG THAM SỐ MÔ HÌNH COPULA
BiCopSelect(u, v, familyset= 1:9, selectioncrit="AIC",indeptest = FALSE, level = 0.05) 
## Bivariate copula: Rotated Clayton 270 degrees (par = -0.08, tau = -0.04)
plot(u,v)