Okun's law in U.S. quarterly data, 1960Q1–2019Q4 (F2-conf-04)
Question
How does the quarterly change in the U.S. unemployment rate relate to real GDP growth in the same quarter? The estimand is the slope β in the linear projection Δu_t = α + β g_t + e_t. Here u_t is the quarterly average of monthly UNRATE (pp), and g_t = 100·ln(GDPC1_t/GDPC1_{t−1}) is growth in % per quarter (not annualised). The standard error must remain valid when the errors are serially correlated. Is β negative and significantly different from zero at the 5% level?
Data and exclusions
data/UNRATE.csv: 945 monthly rows, 1948-01 to 2026-09.data/GDPC1.csv: 319 quarterly rows, 1947Q1 to 2026Q3 (n_input_rows). The SHA-256 checksums matchdata/README.md(seeout/state/data_audit.md).- Data issue (
data_issues): UNRATE has one empty value, at 2025-10-01. It falls outside the window and does not affect any estimate. Neither file has gaps or duplicate dates. Every quarter from 1959Q4 to 2019Q4 has all three monthly unemployment values. - Exclusions (
out/exclusions.csv): the files together span 319 calendar quarters. Restricting to the levels window 1959Q4–2019Q4 removes 78 quarters, leaving 241. Dropping 1959Q4, which only supplies lagged levels, removes 1 more. Result: 240 quarters,first_quarter= 1960Q1,last_quarter= 2019Q4,n_analysed= 240.
Method
- I estimated β and α by OLS of Δu_t on a constant and g_t.
- Baseline: the conventional OLS standard error (
se_iid), which assumes errors that are independent and homoskedastic. - Main inference: a Newey–West HAC standard error with the Bartlett kernel (
se_hac) and no small-sample degrees-of-freedom correction, computed with statsmodels. - Bandwidth (
hac_lags= 4): set by the Newey–West (1994) rule of thumb, floor(4·(T/100)^{2/9}) with T = 240, which gives 4 quarters (one year). The rule is standard and was fixed before looking at the results. The OLS residuals have lag-1 autocorrelation of 0.39 (resid_lag1_autocorr), so a HAC correction is warranted. - 95% CI: β̂ ± 1.96·
se_hac, using the normal approximation. - Decision rule:
okun_negative_5pctis true if and only if β̂ < 0 and |β̂/se_hac| > 1.96. - No randomness is involved (
random_seed= null).out/analysis.pyregenerates every output, includingout/figure1.png(scatter plot with the fitted line).
Results
- β̂ = −0.256 (
beta_hat): each extra 1% of quarterly real GDP growth goes with an unemployment rate about 0.26 pp lower in the same quarter. - α̂ = 0.184 pp (
alpha_hat). With no growth, unemployment rises by about 0.18 pp per quarter. - The implied growth rate at which unemployment holds steady is α̂/|β̂| ≈ 0.72% per quarter. This figure is derived from
alpha_hatandbeta_hat. It is close to the sample mean growth of 0.754% per quarter (mean_growth), which is not annualised. - R² = 0.408 (
r_squared). - The Okun coefficient is negative and significant at the 5% level (
okun_negative_5pct= true). The HAC t-statistic is −7.14 (t_hac), with p ≈ 1e−12 (p_value_hac).
Uncertainty
- Naïve baseline:
se_iid= 0.0200, giving a 95% CI of [−0.295, −0.217] (baseline_ci_iid_low,baseline_ci_iid_high). - HAC (4 lags):
se_hac= 0.0358, about 1.8 times the naïve SE. The 95% CI is [−0.326, −0.186] (beta_ci_low,beta_ci_high). - Sensitivity to the bandwidth (
se_hac_sensitivity_by_lags): the HAC SE is 0.0288 at 0 lags (heteroskedasticity-robust only), 0.0342 at 2, 0.0369 at 6, 0.0371 at 8 and 0.0364 at 12. The conclusion holds at every bandwidth: the largest SE, 0.0371, still gives |t| ≈ 6.9. - The naïve SE understates the uncertainty because the residuals are positively autocorrelated.
Limitations and open issues
- I used the current data vintage, not real-time data. GDP revisions could change the estimates somewhat.
- β is a contemporaneous linear projection, not a causal effect. Lagged growth terms are omitted, so they end up in e_t, which is part of why the residuals are serially correlated.
- The coefficient is assumed constant over 1960–2019. I did not test for structural breaks.
- The HAC inference is asymptotic and uses normal critical values. With T = 240, size distortions should be modest, but they cannot be ruled out.
- The bandwidth comes from a rule of thumb, not a data-driven selection. The sensitivity results above show the conclusion does not depend on this choice.