Efectul de levier

Modele GARCH în R

Kris Boudt

Professor of finance and econometrics

Randamentele negative cresc efectul de levier

  • $R_t <0 $
  • $\downarrow$ valoarea de piață
  • $\uparrow$ levier = datorie / valoarea de piață
  • $\uparrow$ volatilitate
Modele GARCH în R

Două ecuații

Se utilizează ecuații separate pentru varianță în funcție de semnul randamentului neașteptat $e_t = R_t - \mu_t$ :

Cazul când $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = ??? $$

Cazul când $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

Modele GARCH în R

În cazul unei surprize pozitive

... se folosește ecuația GARCH(1,1) obișnuită:

Cazul când $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Cazul când $ e_{t-1} \le 0$

$$ \sigma^2_{t} = ??? $$

Modele GARCH în R

În cazul unei surprize negative

  • Varianța estimată trebuie să fie mai mare decât după o surpriză pozitivă.

  • Aceasta implică un coeficient mai mare pentru eroarea pătratică, $\alpha+\gamma$ în loc de $\alpha$, cu $\gamma \geq 0$

Cazul când $ e_{t-1} \gt 0$

$$ \sigma^2_{t} = \omega + \alpha e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Cazul când $ e_{t-1} \le 0$

$$ \sigma^2_{t} = \omega + (\alpha + \gamma) e^{2}_{t-1} + \beta \sigma^{2}_{t-1} $$

Acesta este modelul GJR propus de Glosten, Jagannathan și Runkle.

Modele GARCH în R

Cum?

Modificați argumentul variance.model al funcției ugarchspec() din model = "sGARCH" în 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")
Modele GARCH în R

Ilustrare pe randamentele MSFT

Estimați modelul

garchfit <- ugarchfit(data = msftret, spec = garchspec)

Inspectați coeficienții GARCH

coef(garchfit)[2:5]
       omega       alpha1        beta1       gamma1 
2.007875e-06 3.423336e-02 9.363302e-01 5.531854e-02

Modele GARCH în R

Vizualizați răspunsul volatilității cu newsimpact()

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

Modele GARCH în R

Să estimăm un model GJR GARCH.

Modele GARCH în R

Preparing Video For Download...