GARCH-Modelle: Der Weg nach vorn

GARCH-Modelle in R

Kris Boudt

Professor of finance and econometrics

Erfinder der GARCH-Modelle

Robert Engle

Engle

Tim Bollerslev

Bollie

GARCH-Modelle in R

Notation (i)

  • Input: Zeitreihe der Renditen

Predicted volatilities

GARCH-Modelle in R

Notation (ii)

  • Zum Zeitpunkt $t-1$ sagst du die künftige Rendite $R_t$ voraus – mit der am Zeitpunkt $t-1$ verfügbaren Informationsmenge:

Predicted volatilities

GARCH-Modelle in R

Notation (iii)

  • Vorhersage der durchschnittlichen Rendite: Was ist die bestmögliche Prognose der tatsächlichen Rendite? Predicted volatilities
GARCH-Modelle in R

Notation (iv)

  • Danach prognostizieren wir die Varianz: Wie weit kann die Rendite vom Mittelwert abweichen? Predicted volatilities
GARCH-Modelle in R

Von der Theorie zur Praxis: Modelle für das Mittel

  • Wir brauchen eine Gleichung, die vergangene Renditen auf eine Prognose des Mittels abbildet Predicted volatilities

Zu AR(MA)-Modellen für das Mittel siehe den Datacamp-Kurs zur Zeitreihenanalyse.

GARCH-Modelle in R

Von der Theorie zur Praxis: Modelle für die Varianz

  • Wir brauchen eine Gleichung, die vergangene Renditen auf Prognosen der Varianz abbildet Predicted volatilities
GARCH-Modelle in R

ARCH(p)-Modell: Autoregressive bedingte Heteroskedastizität

  • Wir brauchen eine Gleichung, die vergangene Renditen auf Prognosen der Varianz abbildet Predicted volatilities
GARCH-Modelle in R

GARCH(1,1)-Modell: Generalized ARCH

  • Wir brauchen eine Gleichung, die vergangene Renditen auf Prognosen der Varianz abbildet Predicted volatilities
GARCH-Modelle in R

Parameterrestriktionen

Damit der GARCH-Prozess realistisch ist, gilt:

  1. $\omega$, $\alpha$ und $\beta$ sind $>0$: Das stellt sicher, dass $\sigma^2_t$ immer $>0$ ist.

  2. $\alpha + \beta < 1$: Das stellt sicher, dass die prognostizierte Varianz $\sigma^2_t$ stets zur langfristigen Varianz zurückkehrt:

    • Die Varianz ist daher „mittelwertrevertierend"
    • Die langfristige Varianz ist $ \frac{\omega}{1-\alpha-\beta}$
GARCH-Modelle in R

R-Implementierung – Eingaben festlegen

  • Mach dich mit den GARCH-Gleichungen per R-Code vertraut:

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

# Parameterwerte setzen
alpha <- 0.1
beta <- 0.8
omega <- var(sp500ret) * (1 - alpha - beta)
# Dann: var(sp500ret) = omega / (1 - alpha - beta)
# Reihe der Prognosefehler setzen
e <- sp500ret - mean(sp500ret) # Konstanter Mittelwert
e2 <- e ^ 2
GARCH-Modelle in R

R-Implementierung – prognostizierte Varianzen berechnen

# Für jede Beobachtung die Varianz prognostizieren. 
nobs <- length(sp500ret)
predvar <- rep(NA, nobs)
# Prozess mit der Stichprobenvarianz initialisieren
predvar[1] <- var(sp500ret)
# Schleife ab 2 wegen verzögertem Prädiktor
for (t in 2:nobs){
   predvar[t] <- omega + alpha * e2[t - 1] + beta * predvar[t-1]
}
GARCH-Modelle in R

R-Implementierung – Plot der GARCH-Volatilitäten

# Volatilität ist die Wurzel der prognostizierten Varianz
predvol <- sqrt(predvar)
predvol <- xts(predvol, order.by = time(sp500ret))
# Vergleich mit der unbedingten Volatilität
uncvol <- sqrt(omega / (1 - alpha-beta))
uncvol <- xts(rep(uncvol, nobs), order.by = time(sp500ret))
# Plot
plot(predvol)
lines(uncvol, col = "red", lwd = 2)
GARCH-Modelle in R

Predicted volatilities

GARCH-Modelle in R

Lass uns üben!

GARCH-Modelle in R

Preparing Video For Download...