7.2 Stationary Time Series
Key Takeaways
Covariance stationarity requires constant mean, constant variance, and autocovariance depending only on lag—not on calendar time
ACF and PACF patterns help identify white noise, AR, MA, and ARMA structures; the lag operator rewrites these models compactly
Causal AR(1) with |φ| < 1 is mean-reverting; φ = 1 is a unit root (nonstationary); |φ| > 1 is explosive
Box–Pierce and Ljung–Box test whether residual autocorrelations are jointly zero; Ljung–Box up-weights finite-sample lag terms
ARMA forecasts converge to the unconditional mean for stationary models; seasonal ARMA uses seasonal lags (e.g., 4 or 12) alongside short lags
Stationary Time Series
Market risk, P&L, and many risk-factor series are ordered in time. Stationary time-series models give a disciplined way to describe serial dependence, diagnose residuals, and produce short-horizon forecasts when means and second moments are stable enough to estimate.
Covariance Stationarity
A process {yₜ} is covariance stationary (weakly stationary) if:
- E[yₜ] = μ is finite and constant in t,
- Var(yₜ) = σ² is finite and constant in t,
- Cov(yₜ, yₜ₋ₖ) = γₖ depends on the lag k only, not on t.
Strict stationarity (full distribution invariant to time shifts) is stronger; FRM workhorses are covariance-stationarity and linear ARMA models. Trends, unit roots, and exploding variances violate these conditions—treated in the next section.
| Condition | Stationary example | Violation example |
|---|---|---|
| Constant mean | Mean-reverting spread | Linear time trend |
| Constant variance | Homoskedastic AR(1) | Variance rising with level |
| γₖ depends on lag only | Stable ACF shape | Structural break in persistence |
White Noise
White noise εₜ satisfies E[εₜ] = 0, Var(εₜ) = σ², and Cov(εₜ, εₜ₋ₖ) = 0 for all k ≠ 0. It is the building-block shock in ARMA. Independent white noise is stronger than uncorrelated white noise; Gaussian white noise is i.i.d. normal. Many tests only need uncorrelated shocks.
ACF and PACF
The autocovariance γₖ = Cov(yₜ, yₜ₋ₖ) and autocorrelation ρₖ = γₖ / γ₀ form the ACF.
The partial autocorrelation PACF(k) is the correlation between yₜ and yₜ₋ₖ after linear projection on the intervening lags yₜ₋₁, …, yₜ₋ₖ₊₁. It isolates “direct” lag-k dependence.
Identification rules of thumb:
| Process | ACF shape | PACF shape |
|---|---|---|
| White noise | ≈ 0 for k ≥ 1 | ≈ 0 for k ≥ 1 |
| AR(p) | Dies out (exponential / damped sinusoid) | Cuts off after lag p |
| MA(q) | Cuts off after lag q | Dies out |
| ARMA(p,q) | Dies out | Dies out |
Worked ACF calculation for AR(1)
For causal AR(1): yₜ = φ yₜ₋₁ + εₜ with |φ| < 1 and Var(εₜ) = σ²,
Var(yₜ) = σ² / (1 − φ²), ρₖ = φᵏ (for k ≥ 0).
If φ = 0.6, then ρ₁ = 0.6, ρ₂ = 0.36, ρ₃ = 0.216. PACF is φ at lag 1 and ≈ 0 thereafter—classic AR(1) signature.
AR, MA, and ARMA Properties
AR(p): yₜ = c + φ₁ yₜ₋₁ + … + φₚ yₜ₋ₚ + εₜ. Stationarity needs the roots of the AR characteristic polynomial outside the unit circle (for AR(1), |φ₁| < 1).
MA(q): yₜ = μ + εₜ + θ₁ εₜ₋₁ + … + θ_q εₜ₋q. Always covariance stationary if εₜ has finite variance; invertibility needs MA roots outside the unit circle.
ARMA(p,q): combines both. Compactly, with lag operator L (L yₜ = yₜ₋₁):
φ(L) yₜ = c + θ(L) εₜ,
where φ(L) = 1 − φ₁ L − … − φₚ Lᵖ and θ(L) = 1 + θ₁ L + … + θ_q L^q.
Worked MA(1) moments
yₜ = εₜ + θ εₜ₋₁, Var(ε) = σ².
γ₀ = σ²(1 + θ²), γ₁ = θ σ², γₖ = 0 for |k| > 1.
So ρ₁ = θ / (1 + θ²). If θ = 0.5, ρ₁ = 0.5 / 1.25 = 0.4, and ρ₂ = 0.
Worked ARMA(1,1) forecast idea
yₜ − φ yₜ₋₁ = εₜ + θ εₜ₋₁. One-step forecast uses the estimated recursion and the last residual; multi-step forecasts of a stationary ARMA fade toward the unconditional mean μ = c / (1 − φ) when |φ| < 1.
Lag Operators and Mean Reversion
The lag operator L shifts time: Lᵏ yₜ = yₜ₋ₖ. Differencing is (1 − L)yₜ = yₜ − yₜ₋₁. Writing models in L-form clarifies stationarity (roots of φ) and seasonal factors (1 − L¹²).
Mean reversion for stationary AR(1): the conditional expectation E[yₜ₊ₕ | yₜ] = μ + φʰ (yₜ − μ) moves toward μ as h grows when |φ| < 1. Half-life ≈ ln(0.5) / ln(|φ|). If φ = 0.9, half-life ≈ 6.6 periods—slow reversion. If φ = 0.5, half-life = 1 period.
| φ | Behavior |
|---|---|
| |φ| < 1 | Covariance stationary, mean-reverting |
| φ = 1 | Random walk (unit root)—not stationary |
| |φ| > 1 | Explosive |
Box–Pierce and Ljung–Box Tests
After fitting a model (or on raw returns claiming “no serial correlation”), test whether autocorrelations ρ̂₁, …, ρ̂ₘ are jointly zero.
Box–Pierce: Q = n Σ_{k=1}^{m} ρ̂ₖ², compared to χ² with m (or m − p − q for residual checks) degrees of freedom.
Ljung–Box: Q_LB = n(n+2) Σ_{k=1}^{m} ρ̂ₖ² / (n − k), which up-weights higher lags in finite samples and is preferred in practice.
Rejecting Q means leftover linear serial correlation—model inadequacy for mean dynamics (or true dependence in returns).
Worked portmanteau sketch
n = 100, m = 2, ρ̂₁ = 0.2, ρ̂₂ = 0.1.
Box–Pierce Q = 100(0.04 + 0.01) = 5. χ²₂ 5% critical value ≈ 5.99 → fail to reject at 5%. Ljung–Box uses 100×102×(0.04/99 + 0.01/98) ≈ 5.2—same qualitative conclusion here.
Forecasting Stationary ARMA
Optimal linear forecasts minimize MSE given the information set. For stationary processes:
- Short horizons use recent y and recent ε̂,
- As h → ∞, ŷₜ₊ₕ → unconditional mean,
- Forecast-error variance rises with h toward the unconditional variance.
Point forecasts plus interval forecasts (using innovation variance and ARMA weights) are standard risk reporting for mean dynamics—not substitutes for volatility models when variance clusters.
Seasonality in ARMA
Economic series often show seasonal patterns (quarterly capital charges, monthly flows). Seasonal ARMA includes seasonal lags: e.g., AR(1) × seasonal AR(1) at lag 4 for quarterly data, or terms like yₜ₋₁₂ for monthly seasonality. Seasonal MA terms create ACF spikes at seasonal lags that then cut off; seasonal AR creates PACF spikes at seasonal lags.
Airline-style thinking: short-run ARMA for adjacent months plus seasonal ARMA for year-ago months. Always plot ACF at lags 1…S…2S before forcing a huge nonseasonal AR order.
Putting It Together
Confirm covariance stationarity (or transform until you can), read ACF/PACF, estimate a parsimonious ARMA, run Ljung–Box on residuals, and forecast with mean reversion in mind. Seasonal structure belongs in the lag set, not only in dummy variables—though dummies appear again for deterministic seasonality in nonstationary settings next.
Covariance stationarity requires that autocovariances:
Depend on the lag k only (and mean and variance are finite constants)
May depend on calendar time as long as the mean is constant
Equal zero at all lags
Grow linearly with t
For a causal AR(1) with φ = 0.5, the lag-2 autocorrelation ρ₂ equals:
0.5
0
0.25
1.0
An MA(1) process always has:
ACF that dies out slowly like an AR
A unit root in the AR polynomial
Unconditional variance equal to σ² regardless of θ
ρₖ = 0 for all |k| > 1 (ACF cutoff after lag 1)
Relative to Box–Pierce, the Ljung–Box statistic primarily:
Tests heteroskedasticity instead of autocorrelation
Uses a finite-sample adjustment that weights lag-k terms by n(n+2)/(n−k)
Requires normality of yₜ for consistency
Can only be applied to raw series, not model residuals
Sections you finish are checked off in the contents.