Variance targeting
Financial return volatility clusters through time: periods of above average volatility are followed by period of below average volatility. The long run prediction is that:
- when volatility is high, it will decrease and revert to its long run average.
- when volatility is low, it will increase and revert to its long run average.
In the estimation of GARCH models we can exploit this mean reversion behavior of volatility by means of volatility targeting. We then estimate the GARCH parameters in such a way that the long run volatility implied by the GARCH model equals the sample standard deviation.
Let's do this for the EUR/USD returns.
Diese Übung ist Teil des Kurses
GARCH Models in R
Anleitung zur Übung
- Modify the GARCH specification such that variance targeting is used.
- Estimate the GARCH model.
- Use
uncvariance()
to compute the GARCH implied long run standard deviation. - Verify that after rounding this number equals the sample standard deviation.
Interaktive Ü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)