He montado un ARIMA(1,1,1)-GARCH(1,1), modelo para la serie de tiempo de AUD/USD tipo de cambio de registro de precios de la muestra a intervalos de un minuto sobre el curso de varios años, me está dando más de dos millones de puntos de datos en la que para estimar el modelo. El conjunto de datos está disponible aquí. Para mayor claridad, esta era un ARMA-GARCH modelo ajustado para el registro de las devoluciones debidas a la primera de integración de orden de registro de los precios. El original AUD/USD de la serie de tiempo tiene este aspecto:
Luego he intentado simular una serie de tiempo basado en el modelo ajustado, me da el siguiente:
Yo esperar y el deseo de la simulación de la serie de tiempo para ser diferente de la original de la serie, pero no me esperaba la existencia de una diferencia significativa. En esencia, quiero que la simulación de la serie a comportarse amplia o parecerse a la original.
Este es el R código que he usado para estimar el modelo y simular la serie:
library(rugarch)
rows <- nrow(data)
data <- (log(data[2:rows,])-log(data[1:(rows-1),]))
spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "std")
fit <- ugarchfit(spec = spec, data = data, solver = "hybrid")
sim <- ugarchsim(fit, n.sim = rows)
prices <- exp(diffinv(fitted(sim)))
plot(seq(1, nrow(prices), 1), prices, type="l")
Y esta es la estimación de salida:
*---------------------------------*
* GARCH Model Fit *
*---------------------------------*
Conditional Variance Dynamics
-----------------------------------
GARCH Model : sGARCH(1,1)
Mean Model : ARFIMA(1,0,1)
Distribution : std
Optimal Parameters
------------------------------------
Estimate Std. Error t value Pr(>|t|)
mu 0.000000 0.000000 -1.755016 0.079257
ar1 -0.009243 0.035624 -0.259456 0.795283
ma1 -0.010114 0.036277 -0.278786 0.780409
omega 0.000000 0.000000 0.011062 0.991174
alpha1 0.050000 0.000045 1099.877416 0.000000
beta1 0.900000 0.000207 4341.655345 0.000000
shape 4.000000 0.003722 1074.724738 0.000000
Robust Standard Errors:
Estimate Std. Error t value Pr(>|t|)
mu 0.000000 0.000002 -0.048475 0.961338
ar1 -0.009243 0.493738 -0.018720 0.985064
ma1 -0.010114 0.498011 -0.020308 0.983798
omega 0.000000 0.000010 0.000004 0.999997
alpha1 0.050000 0.159015 0.314436 0.753190
beta1 0.900000 0.456020 1.973598 0.048427
shape 4.000000 2.460678 1.625568 0.104042
LogLikelihood : 16340000
Me gustaría agradecería cualquier orientación sobre cómo mejorar mi modelización y simulación, o cualquier perspectiva en errores que podrían haber hecho. Parece como si el modelo residual no está siendo utilizado como el ruido término en mi intento de simulación, aunque no estoy seguro de cómo incorporar.