SPB Git

spb/wp29_uqo

Public

# Okun's law in U.S. quarterly data, 1960Q1–2019Q4 (F2-conf-04)

# Question

Estimate the slope β of the linear projection Δu_t = α + β g_t + e_t, where u_t is the quarterly average of monthly UNRATE (pp) and g_t = 100·ln(GDPC1_t/GDPC1_{t−1}) (% q/q, not annualised). Sample: 1960Q1–2019Q4. Test whether β is negative and significantly different from zero at 5%, using a Newey–West (Bartlett) HAC standard error that remains valid when the errors are serially correlated.

# Data and exclusions

  • data/UNRATE.csv: 945 monthly rows; data/GDPC1.csv: 319 quarterly rows (n_input_rows). SHA-256 checksums match data/README.md (see out/state/data_audit.md).
  • One data issue (data_issues): UNRATE is empty for 2025-10. That month is outside the analysis window, so it is not used. The script checks that every quarter in the window has all three monthly values.
  • Exclusions (out/exclusions.csv), counted in GDPC1 quarters: 319 → 241 after keeping 1959Q4–2019Q4 (78 removed); → 240 after dropping 1959Q4, which serves only as the base for the first differences (1 removed). n_analysed = 240, from first_quarter = 1960Q1 to last_quarter = 2019Q4.

# Method

  • OLS of Δu_t on a constant and g_t.
  • Naïve baseline SE: the conventional iid/homoskedastic standard error (se_iid).
  • Main SE: the Newey–West HAC estimator with Bartlett weights 1 − j/(L+1), without a small-sample degrees-of-freedom correction (se_hac). The script checks it against a manual computation.
  • Bandwidth: L = floor(4·(T/100)^(2/9)) = 4 for T = 240 (hac_lags). This is the standard Newey–West (1994) rule of thumb for the Bartlett kernel. It covers the observed residual autocorrelation, which falls from 0.39 at lag 1 to 0.07 at lag 4 (resid_autocorr_lag1_4).
  • The 95% CI is β̂ ± 1.96·se_hac, using the normal approximation that the asymptotic HAC theory justifies.
  • The script uses no randomness (random_seed = null). out/analysis.py regenerates all outputs, including out/figure1.png (scatter of Δu_t against g_t with the fitted line).

# Results

  • Okun coefficient: beta_hat = −0.256. Each additional 1% of quarterly real GDP growth is associated with a 0.256 pp fall in the unemployment rate in that quarter.
  • Intercept: alpha_hat = 0.184 pp. Δu is zero at g ≈ 0.72% q/q (≈ 2.9% annualised), which is computed from alpha_hat/beta_hat.
  • Fit: r_squared = 0.408.
  • Mean growth: mean_growth = 0.754% per quarter.
  • The coefficient is negative and significant at 5% using the HAC SE: okun_negative_5pct = true, with HAC t-stat t_hac = −7.14 and p_value_hac ≈ 1e−12.

# Uncertainty

  • se_iid = 0.0200 (baseline) and se_hac = 0.0358. The HAC SE is about 1.8 times larger, reflecting positive serial correlation in the residuals.
  • HAC 95% CI: [beta_ci_low, beta_ci_high] = [−0.326, −0.186]. The naïve iid CI is narrower: [baseline_ci_iid_low, baseline_ci_iid_high] = [−0.295, −0.217].
  • Bandwidth sensitivity (sensitivity_se_hac_by_lag): the HAC SE is 0.0288 at L = 0 (White SE), 0.0342 at L = 2, 0.0358 at L = 4, 0.0365 at L = 5, 0.0371 at L = 8 and 0.0364 at L = 12. The conclusion holds at every bandwidth tried: |t| > 6.

# Limitations and open issues

  • β is a contemporaneous linear-projection coefficient, not a causal effect. The specification omits lags of growth, so dynamic Okun effects are not captured.
  • The data are the current vintage, not real-time data. GDP revisions could change the estimates for other vintages.
  • The coefficient may not have been stable over 1960–2019; no test for structural breaks was done because the task does not ask for one.
  • The bandwidth comes from a rule of thumb, not data-driven selection. The sensitivity results above show this choice does not affect the conclusion.
  • The normal critical value ignores the size distortions HAC tests can have in finite samples. With |t| ≈ 7 these distortions would not change the conclusion.
Files · main
Menu

Theme