Okun's law in U.S. quarterly data, 1960Q1–2019Q4 (F2-conf-04)
Question
Estimate β in the linear projection Δu_t = α + β g_t + e_t, where u_t is the quarterly average of monthly UNRATE (pp), Δu_t = u_t − u_{t−1}, and g_t = 100·ln(GDPC1_t/GDPC1_{t−1}) (percent, quarter-on-quarter, not annualised), over 1960Q1–2019Q4, with a Newey–West (Bartlett) HAC standard error, and decide whether β is negative and significantly different from zero at 5% (two-sided).
Data and exclusions
data/UNRATE.csv: 945 monthly rows,data/GDPC1.csv: 319 quarterly rows (n_input_rows). Both SHA-256 checksums matchdata/README.md(seeout/state/data_audit.md).- One data issue: UNRATE for 2025-10 is an empty field; it lies outside the 1959Q4–2019Q4 levels window and has no effect (
data_issues). - Exclusions (
out/exclusions.csv, unit = quarters of the merged quarterly panel, 319): step 1 keeps 1959Q4–2019Q4 (78 removed, information rule); step 2 drops 1959Q4, which serves only as the differencing base (1 removed). 319 − 79 = 240 =n_analysed; sample runsfirst_quarter= 1960Q1 tolast_quarter= 2019Q4. Every quarter in the window has all 3 monthly unemployment observations.
Method
- Quarterly u_t = mean of the three monthly SA rates; Δu_t and g_t as defined in the task (log growth ×100, not annualised).
- OLS of Δu_t on a constant and g_t (statsmodels). Baseline uncertainty: conventional homoskedastic, serially independent OLS SE (
se_iid). - HAC: Newey–West Bartlett kernel, weights 1 − j/(L+1), no small-sample degrees-of-freedom correction, normal critical value 1.96. Bandwidth L =
hac_lags= 4, from the Newey–West (1994) plug-in rule floor(4·(T/100)^{2/9}) with T = 240 (hac_lags_rule_nw1994); the textbook rule floor(0.75·T^{1/3}) gives the same value (hac_lags_rule_sw). The statsmodels HAC SE was verified against a hand-coded Bartlett estimator. - No randomness (
random_seed= null).out/analysis.pyregeneratesout/results.json,out/figure1.png,out/hac_sensitivity.csv,out/exclusions.csv.
Results
- Okun coefficient
beta_hat= −0.256: a 1 percentage-point higher quarterly real GDP growth is associated with a 0.256 pp larger fall in the unemployment rate in that quarter. - Intercept
alpha_hat= 0.184 pp;r_squared= 0.408. - Mean quarterly growth
mean_growth= 0.754% (about 3.0% annualised). The growth rate at which predicted Δu = 0 is −α̂/β̂ ≈ 0.72% per quarter (derived fromalpha_hatandbeta_hat). - Figure:
out/figure1.png(scatter of Δu_t against g_t with the fitted line). okun_negative_5pct= true: β̂ < 0 and H0: β = 0 is rejected at 5% with the HAC SE (t_stat_hac= −7.14,p_value_hac≈ 9.5e−13).
Uncertainty
se_iid= 0.0200 (naïve baseline; 95% CI [baseline_ci_iid_low,baseline_ci_iid_high] = [−0.295, −0.217]).se_hac= 0.0358 withhac_lags= 4; 95% HAC CI [beta_ci_low,beta_ci_high] = [−0.326, −0.186].- The HAC SE is about 1.8 times the iid SE (ratio of
se_hactose_iid), consistent with positively autocorrelated OLS residuals (resid_autocorr_lag1_4: 0.39, 0.29, 0.14, 0.07 at lags 1–4). - Bandwidth sensitivity (
out/hac_sensitivity.csv): over L = 0…12 the HAC SE never exceedsse_hac_max_over_lags_0_12= 0.0371 and the largest p-value isp_value_hac_max_over_lags_0_12≈ 5.7e−12, so the significance conclusion does not depend on the bandwidth. A small-sample df correction (n/(n−k)) changes the SE by under 0.5% (same CSV).
Limitations and open issues
- β is a descriptive linear-projection (reduced-form) coefficient, not a causal effect. It is also contemporaneous only (no lags of g_t), as the task specifies.
- Current-vintage data are used, not real-time data; GDP revisions and the 2017 chain base are taken as given.
- The coefficient is assumed constant over 1960–2019; parameter stability (for example across decades or recessions) was not tested because the task does not ask for it.
- The HAC inference is asymptotic (normal critical values, Bartlett kernel). With T = 240 and |t| ≈ 7, the conclusion is far from the margin, so fixed-b or other small-sample refinements are unlikely to change it. They were not computed.
- No part of the task was infeasible (
feasibility= "complete").