The ACF and PACF told you what kind of memory a series has. Now we build the machines that capture it. The three letters AR, MA, and I — autoregressive, moving-average, and integrated — combine into the ARIMA(p,d,q) family, the workhorse of classical time-series forecasting. Each letter answers a different question: AR asks “how much does today depend on its own past values?”, MA asks “how much does today depend on past shocks?”, and I asks “how many times must we difference to make it stationary?” Master what each term contributes and you can read an ARIMA specification like a sentence.
Before you read — take a guess
Someone fits an ARIMA(1,1,0) to a stock's log price. In plain English, what does that specification say?
AR: today depends on its own past
Analogy. An autoregressive process has inertia. Like room temperature drifting back toward the thermostat setting, today’s value is mostly an echo of recent values plus a fresh nudge. Yesterday’s level predicts today’s level.
Definition. An AR(p) (autoregressive of order ) model writes today as a weighted sum of the previous values plus a shock: where is white noise. The simplest case, AR(1), is — the same equation that gave us unit roots two lessons ago.
Stationarity condition. For AR(1), the process is stationary only if . At it’s a unit-root random walk; beyond, it explodes. The coefficient is the persistence: means a shock fades slowly, means it’s nearly forgotten by tomorrow.
Worked example — forecasting with AR(1). Suppose and today’s value is .
- One-step forecast: (set the future shock to its mean, zero).
- Two-step: .
- Long-run mean: solve . The forecasts decay geometrically toward 5 — the unconditional mean — which is exactly the mean-reversion an AR(1) with produces.
The AR signature on the diagnostic plots: PACF cuts off at lag , ACF decays gradually.
Slide φ and watch persistence change while the underlying shocks stay fixed. Near 0 the series is almost white noise; push φ toward 1 and shocks linger so the path wanders like a random walk; at φ = 1 it has a unit root and beyond it explodes. The coefficient alone controls how much memory the process carries.
An AR(1) model is X_t = 4 + 0.5·X_{t−1} + ε_t. If today's value is 20, what is the one-step-ahead forecast and the long-run mean?
MA: today depends on past shocks
Analogy. A moving-average process has aftershocks. Imagine a calm pond: a stone (a shock) creates ripples that persist for a few moments and then vanish completely. Today’s value is the current shock plus an echo of the previous few shocks — not the previous values. The memory is in the surprises, not the levels, and it’s strictly finite.
Definition. An MA(q) (moving-average of order ) model writes today as the current shock plus a weighted sum of the previous shocks: The key difference from AR: an MA(q) has a finite memory of exactly steps. A shock today affects the next observations and then is completely gone — unlike AR, where a shock’s influence decays forever but never fully disappears.
Worked example — MA(1). Suppose (zero mean). Say last period’s shock was and this period’s is . Then . Next period, the influence of that is gone entirely — only and the new matter. That’s the abrupt cutoff.
The MA signature, the mirror image of AR: ACF cuts off at lag , PACF decays gradually.
AR versus MA.
Pick the right option for each blank, then check.
An AR(p) model expresses today as a function of its own past , so a shock's influence . An MA(q) model expresses today as a function of past , so a shock affects exactly the next .
ARMA: combining both
Many real series carry both kinds of memory — inertia in the levels and lingering shock effects. ARMA(p,q) simply stacks the two: It needs the series to be stationary already. The diagnostic signature is the giveaway that you need a blend: both the ACF and PACF decay gradually (neither cleanly cuts off), because the AR part muddies the MA’s cutoff and vice versa. ARMA is more parsimonious than a long pure-AR or pure-MA — a low-order ARMA can capture what would otherwise need many AR or MA terms.
Parsimony beats kitchen-sink fitting
You can almost always lower the residual error by adding more AR and MA terms — but each extra parameter risks fitting noise. The discipline is to pick the smallest model that whitens the residuals. Information criteria (next section) formalize this: they reward fit but penalize parameter count, so a tidy ARMA(1,1) often beats a sprawling AR(8).
The “I”: integration and ARIMA(p,d,q)
Pure ARMA needs a stationary series — but most financial series (prices!) aren’t. The I (“integrated”) handles that by folding in the differencing from lesson 1. ARIMA(p,d,q) says:
- Difference the series times to make it stationary (the ),
- then fit an ARMA(p,q) to the differenced series.
So the three numbers are:
- = autoregressive order (lags of the differenced series),
- = number of differences needed for stationarity,
- = moving-average order (lags of the shocks).
Reading specifications like sentences:
- ARIMA(0,0,0) = white noise (no structure).
- ARIMA(1,0,0) = AR(1) on an already-stationary series.
- ARIMA(0,1,0) = a random walk (difference once, model the difference as pure noise) — the canonical price model.
- ARIMA(0,1,1) = difference once, then MA(1) — equivalent to exponential smoothing, a classic forecasting method.
- ARIMA(1,1,1) = difference once, then a blend of one AR and one MA term on the returns.
For a stock price, you’d typically have (difference the log price into log returns), then small and — because, as we know, returns are close to white noise, often leaving little for the AR/MA terms to do.
Match each ARIMA specification to what it means.
Pick a term, then click its definition.
Fitting and choosing: how many terms?
Once you’ve settled (difference until stationary — check with ADF and a plot), you choose and . Two complementary approaches:
1. Read the plots. Use the cheat sheet from last lesson: PACF cutoff suggests , ACF cutoff suggests . Good for a first guess.
2. Information criteria. Fit several candidate models and compare their AIC (Akaike) or BIC (Bayesian) information criterion. Both have the form where is the number of parameters. The first term rewards fit; the penalty punishes complexity. Lower is better. AIC’s penalty is ; BIC’s is , which is harsher for large samples, so BIC tends to pick simpler models. Pick the specification with the lowest criterion, then validate: run Ljung–Box on the residuals — they should be white noise (a large p-value). If structure remains, add a term; if you’re over-parameterized, drop one.
Worked example — picking by BIC. Three candidates on the same returns:
| Model | Parameters | BIC penalty (n=500) | BIC | |
|---|---|---|---|---|
| AR(1) | 1 | 1200 | 6.2 | 1206.2 |
| ARMA(1,1) | 2 | 1188 | 12.4 | 1200.4 |
| AR(4) | 4 | 1186 | 24.9 | 1210.9 |
AR(4) fits marginally best in raw likelihood, but its parameter penalty sinks it. ARMA(1,1) has the lowest BIC (1200.4), so you’d choose it — the small extra fit over AR(1) justifies one extra parameter, while AR(4)‘s extra terms don’t earn their keep.
ARIMA models the MEAN, not the variance
ARIMA assumes the shocks are homoskedastic — constant variance. But financial returns have volatility clustering: the variance itself moves over time. ARIMA will happily fit the (near-zero) mean structure and leave the variance dynamics completely unmodeled. That’s not a bug you fix inside ARIMA — it’s the entire reason the next lesson exists. ARIMA for the mean, GARCH for the variance, often side by side.
If stock returns are nearly white noise, why fit ARIMA to them at all?
For prices, much of the honest answer is: you often shouldn’t expect ARIMA to add forecasting power to the mean of liquid-equity returns — efficient markets make that ACF nearly flat, and ARIMA(0,1,0) (a random walk) is frequently the most honest model. But ARIMA still earns its place in three ways. First, not all series are efficient-market returns: interest rates, spreads, realized volatility, fundamentals, and macro series carry genuine, exploitable autocorrelation that ARIMA captures cleanly. Second, even for returns, the small surviving autocorrelations (microstructure-driven reversal at high frequency, mild momentum at lower frequency) are real and, at scale, tradable — an ARMA term can encode them. Third, ARIMA is the mean model on top of which a GARCH variance model sits: you fit ARIMA to whiten the mean, then model the squared residuals’ clustering. So “returns are nearly white noise” narrows where ARIMA helps; it doesn’t retire the tool.
You compare three ARIMA models by BIC: model A scores 980, model B scores 962, model C scores 991. Which do you pick and why?
Putting it together
The AR(p) model writes today as a weighted sum of its own past values plus a shock — inertia whose persistence lives in (stationary only when ); its signature is a PACF cutoff at lag . The MA(q) model writes today as the current shock plus echoes of the past shocks — a strictly finite memory; its signature is an ACF cutoff at lag . ARMA(p,q) blends both (both plots decay) and needs a stationary input. ARIMA(p,d,q) adds the integration step: difference times to reach stationarity, then fit ARMA — so is a random walk, is exponential smoothing, and a stock is typically with small . You choose by testing for stationarity, then and by reading the ACF/PACF and minimizing AIC/BIC (lower is better; BIC favors simpler models), and you validate by confirming the residuals pass Ljung–Box. The one thing ARIMA does not touch is the variance — it models the mean and assumes constant volatility, which is exactly the gap the next lesson fills.
Big picture
AR, MA & ARIMA — the whole picture
- AR, MA & ARIMA
- AR(p)
- Today = weighted past VALUES + shock
- Persistence in φ; stationary if |φ| < 1
- Shock decays geometrically, never fully gone
- Signature: PACF cuts off at lag p
- MA(q)
- Today = current shock + past SHOCKS
- Finite memory of exactly q steps
- Signature: ACF cuts off at lag q
- ARMA(p,q)
- Blend of AR and MA on a stationary series
- Both ACF and PACF decay gradually
- Parsimonious vs long pure AR or MA
- ARIMA(p,d,q)
- d = differences to reach stationarity
- (0,1,0) random walk; (0,1,1) exp smoothing
- Stocks: d=1 then small p, q
- Choosing & validating
- Plots: PACF→p, ACF→q
- Minimize AIC/BIC (lower better)
- BIC penalizes complexity more
- Validate: Ljung–Box on residuals
- ARIMA models the mean, not the variance
- AR(p)
Recap: AR, MA & ARIMA
What is the essential difference between an AR(p) and an MA(q) model?
Check your answer to continue.
Next up — volatility clustering & GARCH — we pivot from modeling the mean of returns to modeling their variance. Real markets have calm stretches and stormy stretches that bunch together, and the ARCH/GARCH family is how you turn that clustering into a forecast of tomorrow’s risk.