# ARIMA predictions constant

I've created an Arima model based on past forex closing prices using auto arima, which has generated a (0,1,0) ARIMA model.

> auto.arima(ma5)
Series: ma5
ARIMA(0,1,0)

sigma^2 estimated as 5.506e-07:  log likelihood=11111.42
AIC=-22220.83   AICc=-22220.83   BIC=-22215.27


I next tried to plot the forecasted values, but as you can see all predictions are constant. Anyone know what I'm doing wrong?

• There's nothing wrong. The upcoming expected value from an ARIMA(0,1,0) process is equal to the last observed value. – Richard Hardy Jan 30 '15 at 12:20
• @RichardHardy Is that only true for stationary series? (I am not a time series expert, but that seems logical to me). – Peter Flom Jan 30 '15 at 12:38
• ARIMA(0,1,0) is a non-stationary time series. It is just a random walk, i.e. a cumulative sum of innovations or shocks. Since the expected value of a new innovation is zero, the expected cumulative sum one period ahead is just the current value of the cumulative sum. Therefore, the forecast is equal to the last observed value. Meanwhile, a forecast for a stationary time series will almost never be equal to the last observation (although there may be some special cases). – Richard Hardy Jan 30 '15 at 12:55
• Including a drift may capture some trending pattern. See argument include.drift in forecast::Arima and apply forecast on the fitted model. – javlacalle Jan 30 '15 at 13:28
• See here, here, here, here, & here. – Scortchi Jan 30 '15 at 16:41

$I(1)$ model: $y_t=y_{t-1}+\varepsilon_t$
$E(y_{T+1|T})=E(y_{T|T})+E(\varepsilon_T)=y_{T}+0=y_{T}$
$E(y_{T+2|T})=E(y_{T+1|T})+E(\varepsilon_{T+1})=E(y_{T+1|T})+0=y_{T}$