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.
Este ejercicio forma parte del curso
GARCH Models in R
Instrucciones del ejercicio
- 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.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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)