I am working on a time-series forecasting problem with ARIMA. Since long-term predictions were not good, I've started using a "rolling ARIMA" like explained here
for t in range(len(test)):
model = ARIMA(history, order=(5,1,0))
model_fit = model.fit()
output = model_fit.forecast()
yhat = output[0]
predictions.append(yhat)
obs = test[t]
history.append(obs)
My data looks like this:
ADF test says they are not-stationary, but after differencing once the test says they are stationary.
I run a gridsearch over the ARIMA orders p,q,d on values 0,1,2 for all three of them, and measure the MAPE and MSE. I used the non-differenced data, because I will anyway include a d=1,2 in the process, to get the different performances.
The best model turns out to be an ARIMA(0,1,0), which is basically using a random walk at each step.
Does this result make any sense? I would expect to have AR and MA terms.

