Các mô hình GARCH trong R
Kris Boudt
Professor of finance and econometrics
Dùng các phương trình riêng cho phương sai theo lợi nhuận bất ngờ âm và dương $e_t = R_t - \mu_t$:
Trường hợp $ e_{t-1} \gt 0$
$$ \sigma^2_{t} = ??? $$
Trường hợp $ e_{t-1} \le 0$
$$ \sigma^2_{t} = ??? $$
... ta dùng phương trình GARCH(1,1) thông thường:
Trường hợp $ e_{t-1} \gt 0$
$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$
Trường hợp $ e_{t-1} \le 0$
$$ \sigma^2_{t} = ??? $$
Phương sai dự báo nên cao hơn sau bất ngờ dương.
Nghĩa là hệ số nhân sai số dự báo bình phương cao hơn, tức $\alpha+\gamma$ thay vì $\alpha$ với $\gamma \geq 0$
Trường hợp $ e_{t-1} \gt 0$
$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$
Trường hợp $ e_{t-1} \le 0$
$$ \sigma^2_{t} = \omega + (\alpha + \gamma) e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$
Đây là mô hình GJR do Glosten, Jagannathan và Runkle đề xuất.
Đổi đối số variance.model của ugarchspec() từ model = "sGARCH" sang model = "gjrGARCH":
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
variance.model = list(model = "sGARCH"),
distribution.model = "sstd")
$$\downarrow$$
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0)),
variance.model = list(model = "gjrGARCH"),
distribution.model = "sstd")
Ước lượng mô hình
garchfit <- ugarchfit(data = msftret, spec = garchspec)
Xem các hệ số GARCH
coef(garchfit)[2:5]
omega alpha1 beta1 gamma1
2.007875e-06 3.423336e-02 9.363302e-01 5.531854e-02

out <- newsimpact(garchfit)
plot(out$zx, out$zy, xlab = "prediction error", ylab = "predicted variance")

Các mô hình GARCH trong R