ARIMA
ARIMA models forecast a time series from its own past values and errors. Learn the AR, I and MA terms, how to choose orders and why returns are hard to predict.
ARIMA, which stands for autoregressive integrated moving average, is a classic family of models for forecasting time series. It describes a series using its own past values, past forecast errors and differencing to remove trends. Developed and popularised by George Box and Gwilym Jenkins in the 1970s, ARIMA models are widely used for economic data, demand forecasting and some financial series. For asset returns, they mostly confirm how little linear predictability exists, but they are an essential foundation for more advanced models.
The three parts#
| Part | Meaning | Parameter |
|---|---|---|
| AR (autoregressive) | Today's value depends on past values | p: number of lags |
| I (integrated) | Differencing to make the series stationary | d: number of differences |
| MA (moving average) | Today's value depends on past forecast errors | q: number of error lags |
An ARIMA(p, d, q) model combines all three.
The building blocks#
AR(1): x_t = c + φ × x_(t-1) + ε_t
MA(1): x_t = μ + ε_t + θ × ε_(t-1)
ARMA(1,1): x_t = c + φ × x_(t-1) + ε_t + θ × ε_(t-1)
If the series is non stationary, such as a price, it is first differenced (d = 1) to get changes, and an ARMA model is fitted to those. See Stationarity, Differencing and Unit Roots.
Choosing p, d and q#
- Check stationarity with tests such as ADF; difference until stationary. See Stationarity, Differencing and Unit Roots.
- Look at the ACF and PACF: an AR(p) process typically shows a PACF that cuts off after lag p; an MA(q) process shows an ACF that cuts off after lag q. See Autocorrelation and Partial Autocorrelation.
- Compare models with AIC or BIC.
- Check residuals: they should look like white noise (Ljung Box test). See White Noise and Random Walks.
- Test forecasts out of sample.
Worked example#
ARIMA for returns#
Fitting ARIMA models to daily returns of liquid assets usually produces very small coefficients and little forecasting power: returns are close to white noise. Any small AR coefficients that do appear are often too weak to trade after costs. ARIMA is more useful for:
| Series | Why ARIMA helps |
|---|---|
| Spreads and mean reverting series | Clear AR structure |
| Economic data (inflation, employment) | Persistence and seasonality |
| Volume and volatility proxies | Strong persistence |
| Demand and commodity fundamentals | Trends and seasons |
Extensions#
| Model | Adds |
|---|---|
| SARIMA | Seasonal terms. See Seasonality in Commodities |
| ARIMAX | External explanatory variables |
| VAR | Several series that influence each other. See Granger Causality |
| ARIMA plus GARCH | Changing volatility in the errors. See GARCH |
Limits#
- Linear only: misses nonlinear patterns.
- Assumes stable parameters: regime changes break forecasts. See Structural Breaks and Regime Changes.
- Forecasts revert quickly to the mean, so long horizon forecasts carry little information.
- Overfitting with high p and q.
Frequently asked questions#
What is an ARIMA model?#
A time series model that forecasts a series from its own past values (AR), differencing to remove trends (I) and past forecast errors (MA).
Can ARIMA predict stock prices?#
Not well for liquid stocks; returns are close to random, so ARIMA usually finds little exploitable structure. It works better for spreads and economic data.
How do you choose ARIMA parameters?#
By making the series stationary, studying ACF and PACF plots, comparing models with AIC or BIC and checking that residuals look like white noise.
Next, learn to model changing volatility in GARCH.
3 quick questions on this lesson. Get them all right to finish it.
Turn on JavaScript to take the quiz.
Mentioned in
- Maximum LikelihoodMath and Statistics
- Structural Breaks and Regime ChangesMath and Statistics