我想用SPY绘制日内30分钟数据的历史预测。数据为here。
我首先根据过去10天的时间窗绘制预测。 h = 13是交易日30分钟的间隔数。
require(forecast)
a.win <- window(spy.close,start = end(spy.close)[1]-10*1440*60,end =end(spy.close)[1])
a.fit <- auto.arima(a.win)
a.pred <- forecast(a.fit, h=13)
plot(a.pred, type="l", xlab="period", ylab="price",
main="Overlay historic forecasts & actual prices")
然后我将10天窗口移动一天5次,拟合模型,并在循环的每次运行中绘制预测平均值。
for (j in seq(1, 5, by=1)) { ## Loop to overlay early forecasts
result1 <- tryCatch({
b.end <- end(spy.close)[1]-j*1440*60 ## Window the time series
b.start <- b.end[1]-10*1440*60
b.window <- window(spy.close, start=b.start, end=b.end)
b.fit <-auto.arima(b.window)
b.pred <- forecast(b.fit, h=13)
lines(b.pred$mean, col="green", lty="dashed" )
}, error = function(e) {return(e$message)} ) ## Skip Errors
}
但有些东西搞乱了时间轴。所以我认为问题是数据是不规则的(交易时间从9.30到16,周末市场关闭),但我找不到合适的解决方案(即使在预测包文档中也没有提到盘中时间间隔) 。希望有人能帮忙......