Chapter 08
Rigorous

Cointegration and Error Correction

00 · Symbol Glossary

$I(d)$integrated of order d

XtX_t is I(d)I(d) if dd differences produce an I(0)I(0) series (weakly stationary, for our purposes) and d1d-1 differences do not. Log prices are the usual I(1)I(1) candidates; returns are the I(0)I(0) candidates.

$\beta$beta — cointegrating vector

A vector such that βYt\beta^\top Y_t is I(0)I(0) while YtY_t itself is I(1)I(1). In the bivariate case β\beta is unique up to scale.

$\alpha$alpha — adjustment speeds

In an error-correction model, α\alpha (a vector or matrix) multiplies the lagged equilibrium error. It says who closes the gap, and how fast.

$\Pi$Pi — VECM long-run matrix

In ΔYt=ΠYt1+\Delta Y_t=\Pi Y_{t-1}+\cdots, cointegration of rank rr is Π=αβ\Pi=\alpha\beta^\top with rank(Π)=r\mathrm{rank}(\Pi)=r. Johansen tests that rank.


01 · Spurious Regression

A levels VAR on independent nonstationary series can look spectacular: R2R^2 near one, tt-statistics in the double digits, and nothing causal happening.

Definition — Spurious Regression (Granger–Newbold)

If yty_t and xtx_t are independent I(1)I(1) series, the levels OLS regression yt=a^+b^xt+u^ty_t=\hat a+\hat b\, x_t+\hat u_t typically yields an I(1)I(1) residual, a large R2R^2, and tt-statistics that do not have a N(0,1)N(0,1) limit. Significance is fiction.

❌ $t$-testing one random walk on another in levels

A significant tt of an equity index level on an unrelated I(1)I(1) series is not evidence of a relationship.

Why it breaks: both series wander; OLS attributes the shared wander to b^\hat b. The residual inherits a unit root.

Consequence: difference both series, or test whether a candidate residual is I(0)I(0) (the cointegration route below). Do not publish levels tt-tests of independent I(1)I(1) series.


02 · Cointegration

Definition — Bivariate Cointegration

yty_t and xtx_t are both I(1)I(1). They are cointegrated if there exists β0\beta\neq 0 such that zt=ytβxtz_t=y_t-\beta x_t is I(0)I(0). The pair shares one common stochastic trend; ztz_t is the equilibrium error.

In a KK-vector YtY_t that is I(1)I(1), cointegration of rank rr means there is a K×rK\times r matrix β\beta of rank rr with βYt\beta^\top Y_t an rr-vector of I(0)I(0) series. Then there are KrK-r independent stochastic trends.

Example — Log spot and log futures

If the basis stfts_t-f_t is mean-reverting while each log price is I(1)I(1), a cointegrating vector is (1,1)(1,-1) (or a nearby β\beta). A pairs-trade residual is the same idea: the spread is the candidate ztz_t. Whether that spread is actually I(0)I(0) is an empirical claim, not a slogan.


03 · Engle–Granger Two-Step

Step-by-step — Engle–Granger
1
Estimate the candidate relation by OLS: z^t=yta^b^xt\hat z_t=y_t-\hat a-\hat b\, x_t.
2
Test z^t\hat z_t for a unit root (typically ADF). Do not use ordinary Dickey–Fuller critical values as exact — the residual-based test has its own tables (Engle–Granger / Phillips–Ouliaris) or software MacKinnon pp-values built for cointegration residuals.
3
If you reject a unit root in z^t\hat z_t, treat (a^,b^)(\hat a,\hat b) as a cointegrating estimate and pass z^t1\hat z_{t-1} into a second-stage ECM. Step 1 chooses a normalization (which variable is on the left); the cointegrating space is what the test targets, not a single OLS slope by itself.

Superconsistency: under cointegration b^\hat b converges at rate TT rather than the usual T\sqrt{T}. That fast rate is what licenses treating z^t\hat z_t as if β\beta were known when you pass it to the second stage.

Superconsistency is not a licence to do inference on b^\hat b itself. The static OLS estimator carries a second-order bias whenever Δxt\Delta x_t is correlated with the equilibrium error, and its limiting distribution is not mixed normal, so the reported tt-statistic on b^\hat b has no standard interpretation. If the long-run coefficient is the quantity you want to test — a hedge ratio of exactly 11, say — estimate it with DOLS (add leads and lags of Δxt\Delta x_t to the static regression) or FM-OLS, which restore asymptotic mixed normality and valid tt-tests. A constant and trend in the first step must also match the DGP.

Which variable is on the left?

In a bivariate system the cointegrating vector is unique up to scale, but OLS normalizes on the left-hand variable. If both series are noisy, the two possible regressions need not agree in small samples. That is one reason system estimators exist.


04 · Error Correction

If yy and xx are cointegrated, the Granger representation theorem says there is an error-correction model (ECM). A bivariate sketch:

Δyt=αyzt1+γyΔyt1+δyΔxt1+εyt\Delta y_t = \alpha_y\, z_{t-1} + \gamma_y\Delta y_{t-1} + \delta_y\Delta x_{t-1} + \varepsilon_{yt}

and a matching equation for Δxt\Delta x_t, with zt1=yt1βxt1z_{t-1}=y_{t-1}-\beta x_{t-1}. The coefficient αy\alpha_y is the speed at which yy closes the gap. If αy<0\alpha_y<0 when z=yβxz=y-\beta x, a positive gap pulls yy down. At least one of αy,αx\alpha_y,\alpha_x must be nonzero or the equilibrium does no work — in a bivariate system, often only one series error-corrects while the other adjusts weakly or not at all, depending on which market leads.

A levels VAR that omits zt1z_{t-1} is misspecified under cointegration: the long-run term is missing. A differences-only VAR omits it too, and cannot recover the levels relation.

❌ Calling any lagged spread an ‘error-correction term’

Including yt1β^xt1y_{t-1}-\hat\beta x_{t-1} in a differences regression when the residual is still I(1)I(1) is not error correction.

Why it breaks: the ECM representation assumes cointegration. Without it you have mixed a spurious lagged levels combination into Δyt\Delta y_t.

Consequence: test cointegration first. Then estimate α\alpha.


05 · Johansen, Briefly

For K>2K>2, or when you do not want to choose a left-hand variable, the Johansen procedure estimates a VECM

ΔYt=ΠYt1+i=1p1ΓiΔYti+εt\Delta Y_t = \Pi Y_{t-1} + \sum_{i=1}^{p-1} \Gamma_i \Delta Y_{t-i} + \varepsilon_t

where Π=i=1pAiI\Pi=\sum_{i=1}^{p}A_i-I collects the long-run behaviour of the levels VAR. Everything hinges on rank(Π)=r\mathrm{rank}(\Pi)=r:

rrMeaningCorrect model
00Π=0\Pi=0, no cointegrationVAR in differences
0<r<K0<r<KΠ=αβ\Pi=\alpha\beta^\top, rr relations, KrK-r common trendsVECM
KKYtY_t was already I(0)I(0)VAR in levels

The two statistics are built from the ordered squared canonical correlations λ^1λ^K\hat\lambda_1\geq\cdots\geq\hat\lambda_K of a reduced-rank regression. Stated, not derived:

LRtrace(r)=Ti=r+1Klog(1λ^i),LRmax(r)=Tlog(1λ^r+1)\mathrm{LR}_{\text{trace}}(r) = -T\sum_{i=r+1}^{K}\log(1-\hat\lambda_i), \qquad \mathrm{LR}_{\max}(r) = -T\log(1-\hat\lambda_{r+1})

They test different hypotheses. Trace takes H0:rankrH_0:\mathrm{rank}\leq r against the unrestricted alternative rank=K\mathrm{rank}=K. Maximum-eigenvalue takes H0:rank=rH_0:\mathrm{rank}=r against exactly one more, rank=r+1\mathrm{rank}=r+1. In practice you run them sequentially from r=0r=0 upward and stop at the first non-rejection — which means the overall error rate is not the nominal one you read off each step, and the two statistics can disagree about rr.

❌ Comparing a trace statistic to a $\chi^2$ table

The Johansen statistics are likelihood ratios, but their null distributions are not χ2\chi^2.

Why it breaks: under the null there are KrK-r unit roots in the system. The limits are functionals of a (Kr)(K-r)-dimensional Brownian motion — the multivariate cousin of the Dickey–Fuller distribution of Chapter 04. The tabulated values depend on KrK-r and on which of Johansen’s five deterministic specifications you chose (no terms; constant restricted to the cointegrating relation; unrestricted constant; trend restricted to the relation; unrestricted trend).

Consequence: use the Johansen–MacKinnon–Haug–Michelis tables that match your KrK-r and your deterministic case, and state which case you ran. A degrees-of-freedom count is not available here.

What Johansen estimates is a space, not a vector

The factorization Π=αβ\Pi=\alpha\beta^\top is not unique. For any nonsingular r×rr\times r matrix MM, (αM)(βM)=αβ(\alpha M)(\beta M^{-\top})^\top=\alpha\beta^\top gives the identical Π\Pi. Only the cointegrating space — the column span of β\beta — is identified by the data; individual columns need r2r^2 normalization restrictions before they can be read as economic relations. For r=1r=1 this collapses to the “unique up to scale” statement made earlier in this chapter. For r2r\geq 2, a printed β^\hat\beta is a software normalization choice, and interpreting one of its columns as the long-run relation without imposing and testing restrictions is an error.

This course does not derive those statistics or quote their critical values. Treat Johansen as a system rank test plus a jointly estimated (α,β)(\alpha,\beta). Use it when Engle–Granger’s single-equation normalization is the wrong tool.


06 · Exercises

EXERCISE 8.1

Independent random walks; the residual inherits a unit root.

Spurious regression: u^t\hat u_t is I(1)I(1), OLS tt-statistics do not have a standard normal limit, and R2R^2 can look large. Differencing, or a cointegration test on the residual, is the check.

You regress one independent random walk on another in levels and get t=8t=8 and R2=0.7R^2=0.7. What went wrong, and what should you look at next?

EXERCISE 8.2

ztz_t should be I(0)I(0); β\beta is unique up to scale.

zt=st0.5ftz_t=s_t-0.5\, f_t. Any nonzero scale of (1,0.5)(1,-0.5) spans the same cointegrating space.

If sts_t and ftf_t are I(1)I(1) and st0.5fts_t-0.5\, f_t is I(0)I(0), write a cointegrating residual ztz_t.

EXERCISE 8.3

The lagged gap belongs in the Δ\Delta equations.

An error-correction term α(yt1βxt1)\alpha(y_{t-1}-\beta x_{t-1}) (plus short-run Δ\Delta lags). A plain VAR in differences leaves the long-run relation out.

In an ECM for cointegrated (y,x)(y,x), what extra regressor appears next to lagged differences?


07 · Chapter Summary

IdeaContent
I(1)I(1)levels nonstationary; Δ\Delta stationary
Spurious regressionindependent I(1)I(1) series look related in levels OLS
CointegrationβYt\beta^\top Y_t is I(0)I(0)
Engle–GrangerOLS levels, then a residual unit-root test with the right tables
b^\hat bTT-consistent, but no standard tt; use DOLS or FM-OLS to test it
ECMΔY\Delta Y depends on the lagged equilibrium error
Johansenrank of Π=αβ\Pi=\alpha\beta^\top; trace vs max-eigenvalue test different H0H_0
β\betaonly the cointegrating space is identified

Next: Chapter 09 — Spectral Analysis and Linear Filters, the same second-order structure read in the frequency domain.