Variance Targeting
Die Volatilität von Finanzrenditen tritt zeitlich geclustert auf: Phasen mit überdurchschnittlicher Volatilität werden von Phasen mit unterdurchschnittlicher Volatilität abgelöst. Die langfristige Prognose lautet:
- Ist die Volatilität hoch, fällt sie und kehrt zu ihrem langfristigen Durchschnitt zurück.
- Ist die Volatilität niedrig, steigt sie und kehrt zu ihrem langfristigen Durchschnitt zurück.
Bei der Schätzung von GARCH-Modellen können wir dieses Mean-Reversion-Verhalten der Volatilität mittels Variance Targeting ausnutzen. Dabei schätzen wir die GARCH-Parameter so, dass die vom GARCH-Modell implizierte langfristige Volatilität der Stichproben-Standardabweichung entspricht.
Lass uns das für die EUR/USD-Renditen umsetzen.
Diese Übung ist Teil des Kurses
<Kurs>GARCH-Modelle in R</Kurs>Übungsanweisungen
- Ändere die GARCH-Spezifikation so, dass Variance Targeting verwendet wird.
- Schätze das GARCH-Modell.
- Verwende
uncvariance(), um die vom GARCH implizierte langfristige Standardabweichung zu berechnen. - Prüfe, ob dieser Wert nach dem Runden der Stichproben-Standardabweichung entspricht.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Complete the specification to do variance targeting
garchspec <- ugarchspec(mean.model = list(armaOrder = c(0,0)),
variance.model = list(model = "sGARCH",
___ = ___),
distribution.model = "std")
# Estimate the model
garchfit <- ___(data = EURUSDret, spec = garchspec)
# Print the GARCH model implied long run volatility
sqrt(___(___))
# Verify that it equals the standard deviation (after rounding)
all.equal(sqrt(uncvariance(garchfit)), ___(EURUSDret), tol = 1e-4)