Markets: A Rigorous Course

13A.3 Spurious regression

Core about 10 min

Motivation

Regress the log price of one bank on another and you will get a slope with a tt-statistic in the hundreds and an R2R^2 above 0.8. This says almost nothing. Granger and Newbold (1974) showed it by simulation; Phillips (1986) explained it.

Setup

Let yty_t and xtx_t be independent random walks with innovation variances σy2,σx2\sigma_y^2, \sigma_x^2. Run OLS of yy on a constant and xx. Write W~x,W~y\tilde W_x, \tilde W_y for independent demeaned Brownian motions.

Proposition 13A.3Phillips 1986

As T→∞T\to\infty:

β^⇒σyσx ∫W~xW~y∫W~x2,R2⇒(∫W~xW~y)2∫W~x2∫W~y2,T−1/2 tβ^⇒a non-degenerate random variable.(13A.8)\begin{aligned} \hat\beta &\Rightarrow \frac{\sigma_y}{\sigma_x}\,\frac{\int \tilde W_x\tilde W_y}{\int\tilde W_x^2}, \qquad R^2 \Rightarrow \frac{\left(\int\tilde W_x\tilde W_y\right)^2}{\int\tilde W_x^2\int\tilde W_y^2}, \\ T^{-1/2}\,t_{\hat\beta} &\Rightarrow \text{a non-degenerate random variable}. \end{aligned} \tag{13A.8}

In particular β^\hat\beta does not converge to the true value 0, R2R^2 does not converge to 0, and ∣tβ^∣→∞|t_{\hat\beta}|\to\infty in probability.

Proof

Let Sxy=∑(xt−xˉ)(yt−yˉ)S_{xy} = \sum(x_t-\bar x)(y_t-\bar y) and similarly Sxx,SyyS_{xx}, S_{yy}. As in Proposition 13A.1, T−2Sxy⇒σxσy∫W~xW~yT^{-2}S_{xy} \Rightarrow \sigma_x\sigma_y\int\tilde W_x\tilde W_y, T−2Sxx⇒σx2∫W~x2T^{-2}S_{xx}\Rightarrow\sigma_x^2\int\tilde W_x^2, T−2Syy⇒σy2∫W~y2T^{-2}S_{yy}\Rightarrow\sigma_y^2\int\tilde W_y^2, jointly. Then β^=Sxy/Sxx\hat\beta = S_{xy}/S_{xx} and R2=Sxy2/(SxxSyy)R^2 = S_{xy}^2/(S_{xx}S_{yy}) give the first two limits (the T−2T^{-2} factors cancel). For the tt-ratio, the residual sum of squares is SSR=Syy−Sxy2/Sxx\text{SSR} = S_{yy} - S_{xy}^2/S_{xx}, so T−2SSR⇒σy2[∫W~y2−(∫W~xW~y)2/∫W~x2]>0T^{-2}\text{SSR} \Rightarrow \sigma_y^2\big[\int\tilde W_y^2 - (\int\tilde W_x\tilde W_y)^2/\int\tilde W_x^2\big] > 0. With s2=SSR/(T−2)s^2 = \text{SSR}/(T-2), s2=Op(T)s^2 = O_p(T). Then

tβ^=β^ Sxx1/2s=Op(1)⋅Op(T)Op(T1/2)=Op(T1/2),t_{\hat\beta} = \frac{\hat\beta\,S_{xx}^{1/2}}{s} = \frac{O_p(1)\cdot O_p(T)}{O_p(T^{1/2})} = O_p(T^{1/2}),

and T−1/2tβ^T^{-1/2}t_{\hat\beta} converges to the ratio of the corresponding functionals, which is non-zero with probability one.∎

Simulation (spurious_regression in m13a_adf.py, 2,000 replications each). Share of ∣t∣>1.96|t|>1.96 on the slope, which should be 5%: 67.7% at T=50T=50, 84.2% at T=250T=250, 92.0% at T=1,000T=1{,}000. Median R2R^2: 0.17, 0.17, 0.16. The rejection rate rises with TT because tt grows like T\sqrt T. The R2R^2 does not fall because its limit is a non-degenerate random variable.

On Indian data (computed for this course from Yahoo Finance adjusted closes, 4 Jan 2010 to 4 Nov 2026, 4,135 common trading days): regressing ln⁡\ln HDFC Bank on ln⁡\ln ICICI Bank gives R2=0.85R^2 = 0.85 and a slope tt-statistic of 151. The Durbin–Watson statistic is 0.003. Yet the Engle–Granger test of 13A.5 does not come close to rejecting "no cointegration" (p=0.79p = 0.79). Granger and Newbold's rule of thumb, R2>DWR^2 > \text{DW} means suspect a spurious regression, flags it at once.

Practitioner notes

  • Correlation of returns is a different object. HDFC Bank and ICICI Bank daily returns had correlation 0.54 over the same sample. High return correlation says the two move together day to day; it says nothing about whether the gap between their levels is anchored.
  • Screening pairs by price-level correlation selects exactly the spurious regressions above.

Create a free account

Reading is open to everyone. An account keeps your progress, answers, notes and code drafts, and gives you the study plan, the journals and the simulator. Running code needs an account approved for it.