SPB Git

spb/wp29_uqo

Public

# Okun's law in the United States, 1960Q1–2019Q4 (task F6-conf-03)

# Question

How much does the quarterly change in the US unemployment rate respond to quarterly real GDP growth, and is that response stable? The estimand is β in Δu_t = α + β·g_t + ε_t, where Δu_t is the change in the quarterly-average UNRATE (pp) and g_t = 100·Δln GDPC1_t (percent, not annualised). The sample is the 240 quarters 1960Q1–2019Q4. Stability is checked by splitting the sample at 1984Q1 and running a classical Chow test.

# Data and exclusions

  • GDPC1.csv: 319 rows (1947Q1–2026Q3), no missing values, no duplicate dates. UNRATE.csv: 945 rows (1948-01 to 2026-09), no duplicate dates. One value is missing (2025-10-01), which is outside the window and has no effect on any estimate.
  • Quarterly u_t is the simple mean of the three monthly values. The code only builds a quarter when all three months are present. 1959Q4 levels are used only to form the 1960Q1 differences. The code checks that the 240 quarters are consecutive and complete.
  • Everything after 2019Q4 is excluded, including the 2020 COVID outliers (g = −8.2 % and +7.5 %, u up to 14.8 %).
  • The data are the current (2026) vintage of GDP, not real-time data. This is acceptable for a historical relationship but is listed below as a limitation.
  • Subperiod counts: n₁ = 96 (1960Q1–1983Q4) and n₂ = 144 (1984Q1–2019Q4).

# Method

  • Baseline: the mean-only prediction of Δu. Its RMSE is 0.325 pp.
  • Main model: OLS of Δu_t on a constant and g_t over the full sample.
  • Standard errors: Newey–West HAC with a Bartlett kernel. The lag length is 4, from the rule floor(4·(T/100)^{2/9}) with T = 240. HAC is needed because the residuals are strongly autocorrelated (Ljung–Box p ≈ 6e−13 at lag 4) and heteroskedastic (Breusch–Pagan p ≈ 4e−4).
  • Confidence interval: 95% normal interval, β̂ ± 1.96·SE.
  • Subperiods: separate OLS fits. Their table SEs are HAC with the same 4 lags.
  • Chow test: the classical SSR F-test of joint equality of (α, β), F = [(SSR_p − SSR₁ − SSR₂)/2] / [(SSR₁ + SSR₂)/(T − 4)], with (2, 236) df.
  • Supplementary checks (in out/diagnostics.json and out/hac_lag_sensitivity.csv): a HAC-robust Wald test of the break using an interaction model, and HAC SEs for lags 0–12.

# Results

sample n α β HAC SE(β)
Full 1960Q1–2019Q4 240 0.184 −0.256 0.036
1960Q1–1983Q4 96 0.254 −0.259 0.039
1984Q1–2019Q4 144 0.152 −0.273 0.068

(The table is also saved as out/table1.csv. The figure is out/figure1.png.)

  • Fit: the regression lowers RMSE from 0.325 pp (mean-only baseline) to 0.250 pp, with R² = 0.41.
  • Effect size: one extra percentage point of quarterly real growth goes with about a 0.26 pp smaller rise in the unemployment rate in that quarter.
  • Growth that keeps unemployment flat: about 0.72 % per quarter over the full sample.
  • Stability: the Chow statistic is F = 6.09 (p = 0.0026), so equality of (α, β) is rejected at 5%. stability_conclusion = unstable.
  • What drives the break: the intercept, not the slope. The two slopes are almost identical (−0.259 vs −0.273). A HAC Wald test on the slope difference alone gives p = 0.85, while the HAC joint test still rejects (p = 0.004). The growth rate that keeps unemployment flat falls from about 0.98 % to about 0.55 % per quarter, which fits slower trend growth after 1984. So the coefficient that responds to growth looks stable; the relationship as a whole does not.

# Uncertainty

  • HAC SE(β) = 0.0358 with 4 lags. The 95% CI is [−0.326, −0.186], entirely below zero, so conclusion = negative_effect.
  • The SE is not sensitive to the lag choice: 0.029 at 0 lags (plain OLS SE, no HAC correction), then 0.034, 0.036, 0.037 and 0.036 at 2, 4, 8 and 12 lags. The sign conclusion holds for every lag length.
  • The subperiod-2 slope is estimated less precisely (SE 0.068).

# Limitations and open issues

  • The classical Chow test assumes errors that are homoskedastic and serially uncorrelated. Both assumptions fail here (see the Ljung–Box and Breusch–Pagan results above), so its nominal p-value is not exact. The HAC Wald test reaches the same rejection, which is reassuring, but it is asymptotic.
  • The break date is fixed in advance at 1984 (the Great Moderation). It is not estimated. A sup-F (Andrews/Quandt) test or a rolling estimate was not run and might show a different or a gradual break.
  • β is not a causal parameter. Output and unemployment are determined jointly, and OLS of Δu on g is a reduced-form association. Reversing the regression (g on Δu) would not give 1/β. Measurement error in quarterly GDP growth biases |β| toward zero.
  • Static specification. No lags of g are included. Lagged effects (labour hoarding) would show up in the serially correlated residuals and could make the contemporaneous β understate the total response. Dynamic and gap-form (output gap) versions were not checked.
  • Data vintage. Later revisions to GDPC1 change g_t, so a real-time analysis could give a different β. The chained-dollar base year does not affect log growth, but benchmark revisions do.
  • Things that would overturn the stability reading: evidence that the "intercept shift" is really a slowly drifting trend, or that the slope changed within subperiods, for example during the jobless recoveries after 1991, 2001 and 2009. Neither was tested.
  • Unemployment is averaged within quarters. This smooths the series, and the timing of the averaging relative to GDP may produce some of the serial correlation.
Files · main
Menu

Theme