SPB Git

spb/wp29_uqo

Public

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

# Question

How strongly does the quarterly change in the US unemployment rate (Δu_t, pp) respond to quarterly real GDP growth (g_t = 100·Δln GDPC1, % not annualised), in Δu_t = α + β·g_t + ε_t over 1960Q1–2019Q4? Was the relation stable between 1960Q1–1983Q4 and 1984Q1–2019Q4? β is a reduced-form (descriptive) association, not a causal effect.

# Data and exclusions

Inputs: data/GDPC1.csv (319 quarterly rows) and data/UNRATE.csv (945 monthly rows) (n_input_rows); SHA-256 hashes match the README (see out/state/data_audit.md). Quarterly u_t is the mean of the three monthly UNRATE values. Exclusions (out/exclusions.csv, counted in GDP quarters): 51 quarters before 1959Q4 dropped, 27 quarters after 2019Q4 dropped (information rule), 1959Q4 used only as the lag level → 240 quarters analysed (n_analysed), from sample_start = 1960-01-01 to sample_end = 2019-10-01; subperiods have n_sub1 = 96 and n_sub2 = 144 quarters. Data issues (data_issues): one blank UNRATE value (2025-10), outside the sample, so it has no effect; both files extend past 2019Q4 and were truncated; GDPC1 is the current revised vintage.

# Method

  • Baseline: mean-only prediction of Δu; RMSE baseline_metric.
  • Main estimate: full-sample OLS of Δu on a constant and g. Standard errors are Newey–West HAC (Bartlett kernel, no small-sample correction). The lag length is hac_lags = 4, from the rule floor(4·(n/100)^(2/9)) with n = 240. The 95% CI is β ± 1.96·SE.
  • Stability: separate OLS on each subperiod. The classical Chow test compares the pooled sum of squared residuals with the sum from the two subperiod fits, F = ((SSR_p − SSR_u)/2)/(SSR_u/(n−4)), with df (2, 236).
  • Supplementary diagnostics (not required): HAC SE at other lag lengths (hac_se_sensitivity), and a HAC t-test of a break in the slope alone, run as a dummy-interaction regression (slope_break_hac_pvalue).
  • The analysis is deterministic and uses no random numbers (random_seed = null). Outputs: out/table1.csv (slope_se = HAC SE, 4 lags, in each row) and out/figure1.png.

# Results

  • Full sample: β = −0.256 (effect_estimate) and α = 0.184 pp (intercept), so 1 pp higher quarterly real growth goes with about a 0.26 pp larger fall in the unemployment rate that quarter. R² = 0.41 (r_squared_full).
  • Fit: residual RMSE is 0.250 pp (model_metric), against 0.325 pp for the mean-only baseline (baseline_metric).
  • The 95% HAC interval lies entirely below zero, so conclusion = negative_effect.
  • Subperiod slopes are nearly equal: −0.259 in 1960–83 (beta_sub1) and −0.273 in 1984–2019 (beta_sub2).
  • The joint Chow test of (α, β) rejects equality: F = 6.09 (chow_f_stat), p = 0.0026 (chow_p_value), so stability_conclusion = unstable.
  • The rejection comes from the intercept, not the slope. The intercept falls from 0.254 (intercept_sub1) to 0.152 (intercept_sub2), while the slope-only HAC break test gives p = 0.85 (slope_break_hac_pvalue). One reading is that the growth rate needed to keep unemployment stable (−α/β) fell after 1984, but this is an interpretation that was not tested formally.

Table 1 (out/table1.csv) gives n, intercept, slope and HAC SE per sample. Figure 1 (out/figure1.png) shows the scatter with the two subperiod fitted lines.

# Uncertainty

  • HAC SE of β = 0.0358 (effect_se). 95% CI: [−0.326, −0.186] (effect_ci_low, effect_ci_high).
  • The classical OLS SE is 0.0200 (ols_classical_se_full), so correcting for autocorrelation and heteroskedasticity widens the SE by about 80%.
  • Lag sensitivity (hac_se_sensitivity): SE is 0.029 at 0 lags, 0.034 at 2, 0.037 at 8 and 0.036 at 12. The interval excludes zero at every lag length tried.
  • The Chow p-value assumes homoskedastic, serially uncorrelated errors. The HAC/classical SE ratio shows these assumptions fail here, so that p-value is probably too small (over-rejects). The stability verdict is required to rest on the classical test and is reported as such, but should be read with this caveat.

# Limitations and open issues

  • What would invalidate the result:
    • The Chow test's i.i.d.-error assumption is violated (serial correlation is evident). A HAC-robust joint Wald test might not reject, so the unstable verdict is fragile. It was not computed, because the task specifies the classical test.
    • The break date (1984Q1) is imposed, not estimated. Unknown-break tests (sup-F/Quandt–Andrews) were not run.
    • The sample-split result depends on that choice.
  • Not checked:
    • Endogeneity / simultaneity. β is a projection coefficient, not a structural parameter.
    • Dynamic specifications with lagged growth. The contemporaneous-only model may misattribute timing.
    • Real-time vs revised GDP. The current GDPC1 vintage is used, and earlier vintages might give different values.
    • Outliers (e.g. the 1980–82 recessions, 2008–09) and their influence.
    • Asymmetry between expansions and recessions.
    • Changes in UNRATE methodology (e.g. the 1994 CPS redesign).
  • Main threats:
    • The Chow rejection is driven by an intercept shift, probably reflecting slower trend growth and labour-force changes. This means "unstable" here does not mean the Okun slope changed: the slope-only test does not reject (slope_break_hac_pvalue).
    • The HAC lag choice changes the SE modestly but not the sign conclusion.
Files · main
Menu

Theme