Leverage-Effekt

GARCH-Modelle in R

Kris Boudt

Professor of finance and econometrics

Negative Renditen erhöhen den Leverage

  • $R_t <0 $
  • $\downarrow$ Marktwert
  • $\uparrow$ Leverage = Schulden / Marktwert
  • $\uparrow$ Volatilität
GARCH-Modelle in R

Zwei Gleichungen

Verwende getrennte Gleichungen für die Varianz nach negativen und positiven unerwarteten Renditen $e_t = R_t - \mu_t$:

Fall: $ e_{t-1} \gt 0$

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

Fall: $ e_{t-1} \le 0$

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

GARCH-Modelle in R

Bei positiver Überraschung

... wir nehmen die übliche GARCH(1,1)-Gleichung:

Fall: $ e_{t-1} \gt 0$

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

Fall: $ e_{t-1} \le 0$

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

GARCH-Modelle in R

Bei negativer Überraschung

  • Die prognostizierte Varianz sollte höher sein als nach einer positiven Überraschung.

  • Das heißt: ein größerer Koeffizient vor dem quadrierten Prognosefehler, nämlich $\alpha+\gamma$ statt $\alpha$ mit $\gamma \geq 0$

Fall: $ e_{t-1} \gt 0$

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

Fall: $ e_{t-1} \le 0$

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

Das ist das GJR-Modell von Glosten, Jagannathan und Runkle.

GARCH-Modelle in R

Wie?

Ändere das Argument variance.model von ugarchspec() von model = "sGARCH" zu 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-Modelle in R

Beispiel: MSFT-Renditen

Schätze das Modell

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

Prüfe die GARCH-Koeffizienten

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

GARCH-Modelle in R

Volatilitätsreaktion mit newsimpact() visualisieren

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

GARCH-Modelle in R

Wir schätzen ein GJR-GARCH-Modell.

GARCH-Modelle in R

Preparing Video For Download...