Intento modelar la volatilidad de las tasas de cambio utilizando modelos GARCH a través del paquete RUGARCH en R.
Comenzando desde la serie de tasas de cambio observadas, calculo el log-rendimiento a través de:
data <- diff(log(series)) # Log-rendimiento
Luego (después de algún análisis estadístico) decido usar un modelo GARCH(1,1) con una distribución asimétrica Student, por lo tanto uso
spec_final <- ugarchspec(mean.model=list(armaOrder=c(0,0),include.mean=FALSE),variance.model=list(model="sGARCH",garchOrder=c(1,1)),distribution.model="sstd")
fit_final <- ugarchfit(spec_final,data=data)
Luego intento simular resultados futuros de esta serie con un horizonte de 260 días con el código
horizon <- 260
exp(diffinv(ugarchsim(fit_final,n.sim=horizon)@simulation$seriesSim))[horizon+1]
Si realizo esto un gran número de veces (200,000) puedo calcular cuantiles. Más específicamente veo que el cuantil en 0.5% es igual a 0.605 y el cuantil en 99.5% es igual a 1.623. La distribución tiene una media muy cercana a 1 pero no es simétrica.
Me gustaría entender por qué hay una falta de simetría en la distribución simulada, incluso si se sabe que el modelo GARCH es simétrico. No sucede solo para una divisa sino para todas aquellas que intenté modelar. Esto realmente es un problema para mí ya que no tengo ninguna razón particular para explicar por qué el modelo predice mayores aumentos que disminuciones.
Gracias.