Heffingseffect

GARCH-modellen in R

Kris Boudt

Professor of finance and econometrics

Negatieve rendementen verhogen de leverage

  • $R_t <0 $
  • $\downarrow$ marktwaarde
  • $\uparrow$ leverage = schuld / marktwaarde
  • $\uparrow$ volatiliteit
GARCH-modellen in R

Twee vergelijkingen

Gebruik aparte vergelijkingen voor de variantie na negatieve en positieve onverwachte rendementen $e_t = R_t - \mu_t$:

Geval $ e_{t-1} \gt 0$

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

Geval $ e_{t-1} \le 0$

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

GARCH-modellen in R

Bij een positieve verrassing

... we nemen de gebruikelijke GARCH(1,1)-vergelijking:

Geval $ e_{t-1} \gt 0$

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

Geval $ e_{t-1} \le 0$

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

GARCH-modellen in R

Bij een negatieve verrassing

  • De voorspelde variantie hoort hoger te zijn dan na een positieve verrassing.

  • Dus een hogere coëfficiënt voor de gekwadrateerde voorspellingsfout: $\alpha+\gamma$ in plaats van $\alpha$, met $\gamma \geq 0$

Geval $ e_{t-1} \gt 0$

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

Geval $ e_{t-1} \le 0$

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

Dit is het GJR-model van Glosten, Jagannathan en Runkle.

GARCH-modellen in R

Hoe?

Wijzig het argument variance.model van ugarchspec() van model = "sGARCH" naar 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")
GARCH-modellen in R

Illustratie met MSFT-rendementen

Model schatten

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

Bekijk de GARCH-coëfficiënten

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

GARCH-modellen in R

Visualiseer volatiliteitsreactie met newsimpact()

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

GARCH-modellen in R

Laten we een GJR-GARCH-model schatten.

GARCH-modellen in R

Preparing Video For Download...