Moving-Average Models
Some series have a short, sharp memory. A surprise announcement moves a market today and its echo lingers
for a day or two — then it is genuinely gone, not slowly fading, just gone. A
moving-average model captures exactly this: the value now is a blend of the current
shock and a few of the most recent shocks, and nothing older. Where an
autoregression
remembers its own past values forever (with fading weight), a moving average remembers only the last
handful of surprises.
The order-q model, MA(q), is a
finite linear combination of present and past
white-noise shocks:
x_t = \varepsilon_t + \theta_1 \varepsilon_{t-1} + \theta_2 \varepsilon_{t-2} + \dots + \theta_q \varepsilon_{t-q}.
In backshift form
it is x_t = \theta(B)\,\varepsilon_t with
\theta(B) = 1 + \theta_1 B + \dots + \theta_q B^{q}. It is simply a
linear
process with a finite number of non-zero weights.
Always stationary — for free
Because an MA(q) is a finite sum of white-noise terms, each with mean
zero and finite variance, the series automatically has a constant mean, a constant variance, and
autocovariances that depend only on the lag. There is no condition to check: every
MA(q) is stationary, for any values of the
\theta's. Contrast AR, where you had to demand
|\phi| < 1 to stop the series exploding. MA models never explode — a finite
blend of bounded-variance shocks stays bounded. (There is a separate condition,
invertibility,
but that is about identifiability, not about whether the process is well-defined.)
The signature: an ACF that cuts off
Here is the single most useful fact about MA models. Two observations
x_t and x_{t-k} share a shock only when their
windows of "remembered surprises" overlap. An MA(q) reaches back
q steps, so once the gap k exceeds
q the windows are disjoint, they share no shock, and the correlation is
exactly zero.
- The autocorrelation \rho_k is generally non-zero for
1 \le k \le q.
- It is exactly zero for every k > q — the ACF
cuts off sharply after lag q.
- This is the fingerprint that separates MA from AR: AR's ACF tails off gradually and never
reaches zero, while MA's ACF stops dead.
This sharp cutoff is what lets you read the order q straight off a
correlogram —
the cornerstone of
identifying an ARMA
model.
The MA(1) worked out
Take the simplest case, x_t = \varepsilon_t + \theta\,\varepsilon_{t-1}, with
\operatorname{Var}(\varepsilon_t) = \sigma^2. Compute the autocovariances by
multiplying out and using the fact that different shocks are uncorrelated:
\gamma_0 = \operatorname{Var}(x_t) = (1 + \theta^{2})\,\sigma^{2},
\gamma_1 = \operatorname{Cov}(x_t, x_{t-1}) = \theta\,\sigma^{2}, \qquad \gamma_k = 0 \ \text{ for } k \ge 2.
Dividing gives the lag-1 autocorrelation
\rho_1 = \frac{\theta}{1 + \theta^{2}}, \qquad \rho_k = 0 \ \text{ for } k \ge 2.
A neat surprise falls out: no matter how large you make \theta, the fraction
\theta/(1+\theta^2) can never exceed 0.5 in size
(it is maximised at \theta = 1, giving
\rho_1 = 0.5). So an MA(1) can never have a lag-1 correlation stronger
than \tfrac12. If your data show
|\hat\rho_1| > 0.5, an MA(1) simply cannot have produced it.
The ±0.5 ceiling, plotted
Below is \rho_1 = \theta/(1+\theta^2) as
\theta ranges over the real line. Notice how it rises to a peak of exactly
0.5 at \theta = 1, mirrors to
-0.5 at \theta = -1, and heads back toward zero for
large |\theta| — the whole curve trapped in the band
[-0.5,\,0.5].
The cutoff you can see
This stem plot is the ACF of an MA(2) (\theta_1 = 0.7,
\theta_2 = 0.4). Bars stand at lags 1 and 2; from lag 3 onward every bar is
flat on the axis — the correlation is not "small", it is identically zero. That flat tail is the visual
proof that the model reaches back exactly two steps.
The name collides with something you already met, and the two are genuinely different animals. A
moving-average
smoother is a filter you apply to observed data — average each
point with its neighbours to suppress noise and reveal a trend. A moving-average model
is a generative equation: it says the data were produced as a weighted sum of
unobservable random shocks \varepsilon_t. One is a data-processing operation
on numbers you can see; the other is a probabilistic statement about a mechanism you cannot see. They
happen to share the phrase "moving average" and little else — don't let a smoother in your pipeline make
you think you have fitted an MA model, or vice versa.
MA structure appears wherever a quantity is a running tally of recent independent events. Think of a
measurement that is itself a short average — a monthly figure reported as a 3-month rolling number
carries the same shocks for three months, then drops them. Or "overdifferencing": if you difference a
series that was already stationary, you induce a negative MA(1) term as an artefact. Or survey
data where each respondent is counted in a couple of consecutive waves. In all of these, an event's
influence is real but strictly time-limited — exactly the finite, cut-off memory the MA model was built
to describe.