Variance targeting
La volatilidad de los rendimientos financieros tiende a agruparse en el tiempo: a periodos con volatilidad por encima de la media les siguen periodos por debajo de la media. La predicción a largo plazo es que:
- cuando la volatilidad es alta, disminuirá y volverá a su promedio de largo plazo.
- cuando la volatilidad es baja, aumentará y volverá a su promedio de largo plazo.
Al estimar modelos GARCH podemos aprovechar este comportamiento de reversión a la media de la volatilidad mediante variance targeting. Así, estimamos los parámetros del GARCH de forma que la volatilidad de largo plazo implícita en el modelo GARCH sea igual a la desviación estándar muestral.
Vamos a hacerlo para los rendimientos del EUR/USD.
Este ejercicio forma parte del curso
Modelos GARCH en R
Instrucciones del ejercicio
- Modifica la especificación del GARCH para que use variance targeting.
- Estima el modelo GARCH.
- Usa
uncvariance()para calcular la desviación estándar de largo plazo implícita por el GARCH. - Verifica que, tras redondear, este número sea igual a la desviación estándar muestral.
Ejercicio interactivo práctico
Prueba este ejercicio y completa 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)