绘制滚动预测日内时间序列自定义间隔

时间:2014-02-21 12:58:11

标签: r time-series forecasting

我想用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,周末市场关闭),但我找不到合适的解决方案(即使在预测包文档中也没有提到盘中时间间隔) 。希望有人能帮忙......

0 个答案:

没有答案