Glossary
R: Engle–Granger two-step cointegration test
A statistical property of two or more non-stationary time series that share a common stochastic trend, such that a specific linear combination of them is stationary. Granger and Newbold (1974) warned that regressing one non-stationary series on another can produce spurious res...
title: Cointegration
slug: cointegration
Definition
A statistical property of two or more non-stationary time series that share a common stochastic trend, such that a specific linear combination of them is stationary. Granger and Newbold (1974) warned that regressing one non-stationary series on another can produce spurious results; cointegration testing (e.g., Engle–Granger, Johansen, or ARDL bounds approaches) determines whether an underlying long-run equilibrium exists.
Why It Matters
Regressing non-stationary variables that are not cointegrated yields spurious correlations — high R-squared values and seemingly significant coefficients that carry no economic meaning. Establishing cointegration validates the existence of a long-run equilibrium relationship and justifies the use of error-correction models that capture both short-run dynamics and long-run adjustment. Without this step, policy conclusions drawn from time-series regressions may be entirely unreliable.
Example
Suppose a researcher models the long-run relationship between the log of real GDP and log of real consumption. Both series are I(1), but a linear combination — log consumption minus 0.9 times log GDP — appears stationary. This cointegrating relationship implies that consumption adjusts toward its equilibrium level with GDP, which can be modeled with an error-correction mechanism.
```r
library(urca)
summary(ur.df(residuals(lm(consumption ~ gdp)),
type = "none"))
```
Related Terms
Software Notes
R: Use the urca package for Engle–Granger and Johansen tests; the vars package for VECM estimation. Stata: Use vec for vector error-correction models and vecrank for Johansen rank tests. Python: Use statsmodels.tsa.vector_ar.vecm for VECM and cointegration testing.
Contact Us for Support → /contact/