Märkte steigen die Treppe hoch, aber fahren mit dem Aufzug runter

GARCH-Modelle in R

Kris Boudt

Professor of finance and econometrics

Wie?

Ändere das Argument distribution.model von ugarchspec() von "norm" auf "sstd":

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "norm")

$$ \downarrow$$

garchspec <- ugarchspec( mean.model = list(armaOrder = c(0, 0)),
                         variance.model = list(model = "sGARCH"),
                         distribution.model = "sstd")                         
GARCH-Modelle in R

Das normale GARCH-Modell

Unter den Modellannahmen

$$ R_{t} = \mu_{t} + e_{t} $$ $$ e_{t} \sim N(0, \sigma^{2}_{t}) $$

folgt, dass

$$ \frac{R_{t} - \mu_{t}}{\sigma_{t}} \sim N(0, 1) $$

GARCH-Modelle in R

Testen wir's

  • Hinweis: Die Normalität der standardisierten Renditen folgt aus einer Annahme.
  • Lass uns die standardisierten Renditen berechnen und prüfen, ob sie passt.
GARCH-Modelle in R

Geschätzte standardisierte Renditen

  • Formel

$$ Z_{t} = \frac{R_{t} - \hat{\mu_{t}}}{ \hat{\sigma_{t}}} $$

Berechnung in R

# Obtain standardized returns
stdret <- residuals(garchfit, standardize = TRUE)
GARCH-Modelle in R

Die Normalitätsannahme testen

library(PerformanceAnalytics)
chart.Histogram(sp500ret, methods = c("add.normal", "add.density"),
          colorset = c("gray", "red", "blue"))
GARCH-Modelle in R

GARCH-Modelle in R

Schwänze

GARCH-Modelle in R

Lösung

  • Eine realistische Verteilung muss daher Folgendes abbilden:

    • fette Schwänze: höhere Wahrscheinlichkeit für große (positive oder negative) Renditen als unter der Normalverteilung
    • Schiefe: Asymmetrie der Renditeverteilung
  • In rugarch geht das mit der schiefen Student‑t‑Verteilung:

garchspec <- ugarchspec(distribution.model = "sstd")
GARCH-Modelle in R

Parameter der schiefen Student‑t‑Verteilung

  • Gegenüber der Normalverteilung hat die schiefe Student‑t‑Verteilung zwei Extra-Parameter:

    • Freiheitsgrade $\nu$ (in rugarch: shape): je kleiner $\nu$, desto fetter die Schwänze.
    • Schiefenparameter $\xi$ (in rugarch: skew): bei $\xi=1$: Symmetrie. Bei $\xi<1$: negative Schiefe. Für $\xi>1$: positive Schiefe.
  • Spezialfälle:

    • Bei $\nu=\infty$ und $\xi=1$: Normalverteilung.
    • Bei $\xi=1$: Student‑t‑Verteilung.
GARCH-Modelle in R

GARCH-Modelle in R

GARCH-Modelle in R

GARCH-Modelle in R

GARCH-Modelle in R

GARCH-Schätzung mit schiefer Student‑t

Setze distribution.model auf "sstd"

garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
                        variance.model = list(model = "sGARCH"),
                        distribution.model = "sstd")

Schätze das Modell

garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
coef(garchfit)
          mu        omega       alpha1        beta1         skew        shape 
5.669200e-04 6.281258e-07 7.462984e-02 9.223701e-01 9.436331e-01 6.318621e+00
GARCH-Modelle in R

Lass uns üben!

GARCH-Modelle in R

Preparing Video For Download...