Markets: A Rigorous Course

13A.10 Structural breaks: Chow, sup-F, CUSUM and Bai–Perron

Advanced about 20 min

Motivation

The most expensive event in stat arb is a relationship that stops holding. Break tests ask whether parameters changed. They are also easy to misuse: the classic Chow test is valid only if the break date was chosen without looking at the data.

13A.10.1The Chow test#

Setup

yt=zt′β+uty_t = z_t'\beta + u_t, t=1,…,nt = 1,\dots,n, ztz_t of dimension kk (including a constant), utu_t i.i.d. N(0,σ2)N(0,\sigma^2) independent of the regressors. Split at a known date ss: regime 1 is t<st<s (n1n_1 observations), regime 2 is t≥st\ge s (n2n_2), each with nj>kn_j>k. H0H_0: β1=β2\beta_1 = \beta_2.

Proposition 13A.15Chow 1960

Let SSRR\text{SSR}_R be the sum of squared residuals of the pooled regression and SSRj\text{SSR}_j that of regime jj alone. Under H0H_0,

F=(SSRR−SSR1−SSR2)/k(SSR1+SSR2)/(n−2k) ∼ F(k, n−2k).(13A.37)F = \frac{(\text{SSR}_R - \text{SSR}_1 - \text{SSR}_2)/k}{(\text{SSR}_1+\text{SSR}_2)/(n-2k)}\ \sim\ F(k,\,n-2k). \tag{13A.37}
Proof

Stack the unrestricted model as y=ZUθ+uy = Z_U\theta + u with ZU=diag⁡(Z1,Z2)Z_U = \operatorname{diag}(Z_1, Z_2) (block-diagonal; ZjZ_j the regressors of regime jj) and θ=(β1′,β2′)′\theta = (\beta_1',\beta_2')'. Its residual sum of squares is SSRU=SSR1+SSR2\text{SSR}_U = \text{SSR}_1+\text{SSR}_2 because the blocks do not interact. The restricted model is y=ZRβ+uy = Z_R\beta + u with ZR=(Z1′,Z2′)′Z_R = (Z_1', Z_2')', and col⁡(ZR)⊂col⁡(ZU)\operatorname{col}(Z_R)\subset\operatorname{col}(Z_U). Let PU,PRP_U, P_R be the orthogonal projections onto these spaces, of ranks 2k2k and kk, and MU=I−PUM_U = I - P_U. Under H0H_0, y=ZRβ+uy = Z_R\beta + u, so SSRU=u′MUu\text{SSR}_U = u'M_Uu and SSRR−SSRU=u′(PU−PR)u\text{SSR}_R - \text{SSR}_U = u'(P_U - P_R)u. Because col⁡(ZR)⊂col⁡(ZU)\operatorname{col}(Z_R)\subset\operatorname{col}(Z_U), PU−PRP_U - P_R is the orthogonal projection onto the orthogonal complement of col⁡(ZR)\operatorname{col}(Z_R) inside col⁡(ZU)\operatorname{col}(Z_U), of rank kk, and (PU−PR)MU=0(P_U-P_R)M_U = 0. By Cochran's theorem, u′(PU−PR)u/σ2∼χk2u'(P_U-P_R)u/\sigma^2\sim\chi^2_k and u′MUu/σ2∼χn−2k2u'M_Uu/\sigma^2\sim\chi^2_{n-2k}, independent. Their ratio, each divided by its degrees of freedom, is F(k,n−2k)F(k,n-2k).∎

Equivalently, (13A.37) is the FF-test that the coefficients on the interaction regressors DtztD_tz_t are zero in a regression on (zt,Dtzt)(z_t, D_tz_t), Dt=1{t≥s}D_t = 1\{t\ge s\}. m13a_breaks.py checks the two agree to 10−910^{-9} against statsmodels.

Assumptions that matter in markets

  • Same error variance in both regimes. If volatility also changed (it usually does), use a Wald test with heteroskedasticity-robust covariance (or HAC, M04).
  • Stationary regressors. In a levels regression of one I(1) price on another, FF does not have the FF distribution (13A.3). Test breaks in return regressions, or use a cointegration test that allows a break (Gregory and Hansen 1996, below).
  • The date must be chosen in advance, on economic grounds: a merger announcement, a duty change, a regulatory circular.

13A.10.2Unknown break date: sup-F#

If the date is chosen because the rolling-beta plot looks different there, the Chow test at that date is a maximum of many correlated FF statistics and its null distribution is not F(k,n−2k)F(k,n-2k). Quandt (1960) proposed the maximum; Andrews (1993) derived its distribution: with the candidate dates restricted to [π0n,(1−π0)n][\pi_0 n, (1-\pi_0)n] (trimming π0=0.15\pi_0 = 0.15 is standard), sup⁡F\sup F converges to the supremum of a normalised squared tied-down Bessel process, and Andrews tabulates the critical values.

Size, power and snooping (m13a_breaks.py, computed for this course; yt=1+0.5xt+δ 1{t≥T/2}+uty_t = 1 + 0.5x_t + \delta\,1\{t\ge T/2\} + u_t, x,ux,u i.i.d. N(0,1)N(0,1), T=200T = 200, k=2k = 2):

Experiment Result
Chow at the true mid-sample date, δ=0\delta = 0 (size, nominal 5%), 4,000 draws 4.65%
Power, δ=0.2\delta = 0.2 / 0.3 / 0.5 (2,000 draws each) 22.9% / 45.8% / 87.8%
Noncentral-FF approximation, noncentrality Tδ2/4T\delta^2/4 22.3% / 45.4% / 89.1%
No break; choose the date maximising FF; use the Chow pp-value (2,000 draws) rejects 37.1%
95% quantile of sup⁡F\sup F (15% trimming) / of F(2,196)F(2,196) 5.92 / 3.04

Picking the break date by eye and then quoting a Chow pp-value turns a 5% test into a 37% test. The simulated 5.92 is a finite-sample stand-in for Andrews' asymptotic critical value.

13A.10.3CUSUM#

Brown, Durbin and Evans (1975) monitor the recursive residuals

wt=yt−zt′β^t−11+zt′(Zt−1′Zt−1)−1zt,t=k+1,…,n,(13A.38)w_t = \frac{y_t - z_t'\hat\beta_{t-1}}{\sqrt{1 + z_t'(Z_{t-1}'Z_{t-1})^{-1}z_t}},\qquad t = k+1,\dots,n, \tag{13A.38}

where β^t−1\hat\beta_{t-1} is OLS on the first t−1t-1 observations. Under H0H_0 with normal errors, the wtw_t are i.i.d. N(0,σ2)N(0,\sigma^2): each is the one-step forecast error ut−zt′(β^t−1−β)u_t - z_t'(\hat\beta_{t-1}-\beta), which has variance σ2(1+zt′(Zt−1′Zt−1)−1zt)\sigma^2(1+z_t'(Z_{t-1}'Z_{t-1})^{-1}z_t), and it is uncorrelated with all earlier observations, hence with earlier ww's. They also satisfy ∑wt2=SSRn\sum w_t^2 = \text{SSR}_n, the full-sample residual sum of squares (a test checks this). The CUSUM statistic

Wr=1σ^∑t=k+1rwt,reject if ∣Wr∣>a[n−k+2(r−k)n−k] for some r,(13A.39)W_r = \frac{1}{\hat\sigma}\sum_{t=k+1}^r w_t,\qquad \text{reject if }|W_r| > a\Big[\sqrt{n-k} + \frac{2(r-k)}{\sqrt{n-k}}\Big]\text{ for some }r, \tag{13A.39}

with a=0.948a = 0.948 at 5%, is a random walk under H0H_0 and drifts after a change in the intercept. CUSUM needs no break date and works in real time, which suits monitoring a live spread. It has weak power against changes in variance and against breaks late in the sample (the CUSUM of squares addresses the former).

13A.10.4Several breaks: Bai–Perron#

Bai and Perron (1998, 2003) allow mm breaks at unknown dates. For given mm, the dates minimise the total SSR over all partitions with a minimum segment length hh. The minimisation is a dynamic programme over the O(T2)O(T^2) segment SSRs, each computable recursively, so it is feasible for thousands of observations. They provide: sup⁡F(ℓ)\sup F(\ell) tests of ℓ\ell breaks against none; "double maximum" tests (UDmax, WDmax) against an unknown number; sequential sup⁡F(ℓ+1∣ℓ)\sup F(\ell+1\mid\ell) tests; and confidence intervals for the dates. Choose the number of breaks with the sequential test or BIC. Implementations exist in R (strucchange); in Python the dynamic programme is a short exercise.

Breaks in a cointegrating relation Gregory and Hansen (1996) test the null of no cointegration against cointegration with one shift in the intercept (or slope) at an unknown date: run the EG residual ADF for every candidate date and take the minimum, with their own critical values. A pair that "was cointegrated until a merger" is exactly the alternative they consider.

13A.10.5Applying it#

  • M10's gold–real-yield beta. M10 · 10.6.2 suggests testing for a break around 2022. Regress weekly Δln⁡\Delta\ln gold on Δ\DeltaDFII10 and Δln⁡\Delta\ln DXY (stationary regressors). If the date is fixed in advance on economic grounds (the freezing of Russia's reserves in early 2022 is the usual candidate), the Chow test (13A.37), or its HAC Wald version, applies. If the date was found by looking at the rolling beta, use sup⁡F\sup F critical values or Bai–Perron.
  • HDFC Bank on ICICI Bank returns around the merger. Computed for this course from Yahoo adjusted closes: regress HDFC Bank daily log returns on ICICI Bank's, from 1 Jul 2021 to 30 Jun 2025, with the date fixed in advance at 3 Jul 2023 (the first trading day after the merger's effective date of 1 Jul 2023). The slope was 0.496 before and 0.491 after; F=0.00F = 0.00, p=0.996p = 0.996. The daily return correlation moved from 0.50 to 0.47. The day-to-day co-movement did not break. 13A.13.2 shows what did.

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.