Estoy tratando de ajustar un modelo arima en una ventana móvil usando rollapply.Mi objetivo es trazar un gráfico de la evolución del coeficiente, trazar el error y la desviación estándar. Pues bien, me he encontrado con los siguientes problemas:
1) cada ventana en el rollo de aplicar tienen diferentes conjuntos de coeficientes: básicamente cuando trazo auto.arima()$coef[1] en el tiempo podría ser ar1 o ma1 o cualquier cosa.La razón por la que estoy haciendo esto es que trazar la estabilidad del coeficiente permite juzgar la estabilidad del coeficiente y evaluar la exactitud del modelo.
getSymbols("ICICIBANK.NS")
ICICIBANK.NS<-as.data.frame(ICICIBANK.NS)
ICICIBANK.NSreturns<-c(NA,diff(log(ICICIBANK.NS$ICICIBANK.NS.Adjusted)))
z<-ICICIBANK.NS$returns
z<-na.omit(z)
y<-rollapply(as.zoo(z),width=100,FUN=function(x) auto.arima(x)$coef[1])
Básicamente estoy tratando de ver la evolución del primer coeficiente, pero el modelo cambia de una ventana a otra.
¿Alguien tiene una idea de cómo resolver esto? o tal vez alguna pista en la que pueda trabajar?
2) cuando hago auto.arima a los retornos de los logaritmos obtengo un ARIMA(0,0,0) y cuando lo punteo para los precios brutos en bruto obtengo ARIMA(3,1,3):
getSymbols("ICICIBANK.NS");
ICICIBANK.NS<-as.data.frame(ICICIBANK.NS)
ICICIBANK.NSreturns<-c(NA,diff(log(ICICIBANK.NS$ICICIBANK.NS.Adjusted)))
auto.arima(ICICIBANK.NS$returns)
Series: ICICIBANK.NS$returns
ARIMA(0,0,0) with zero mean
sigma^2 estimated as 0.003309: log likelihood=3042.76
AIC=-6083.51 AICc=-6083.51 BIC=-6077.86
auto.arima(ICICIBANK.NS$ICICIBANK.NS.Adjusted)
Series: ICICIBANK.NS$ICICIBANK.NS.Adjusted
ARIMA(3,1,3) with drift
Coefficients:
ar1 ar2 ar3 ma1 ma2 ma3 drift
0.0741 -0.0998 0.5626 -0.0572 0.0662 -0.8633 0.1087
s.e. 0.0306 0.0323 0.0279 0.0192 0.0200 0.0159 0.0606
sigma^2 estimated as 77.62: log likelihood=-7610.48
AIC=15236.96 AICc=15237.02 BIC=15282.22
¿por qué auto.arima() funciona con los precios y no con los retornos de los registros?