SPB Git

spb/wp29_uqo

Public

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

# Question

How strongly does the change in the U.S. unemployment rate move with real GDP growth? We estimate the slope β (the Okun coefficient) 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 quarter-on-quarter growth in percent, not annualised. The standard errors must stay valid when the disturbances are serially correlated.

# Data and exclusions

  • data/UNRATE.csv (945 monthly rows) and data/GDPC1.csv (319 quarterly rows) were read as given (n_input_rows). Both SHA-256 checksums match data/README.md.
  • One data issue was found (data_issues): the UNRATE value for October 2025 is missing. That month is outside the window used here, so it has no effect.
  • Exclusion ledger (out/exclusions.csv), counted in GDPC1 quarters:
    • Start: 319 quarters.
    • Drop 5 quarters without a complete 3-month UNRATE average (1947Q1–Q4 and 2025Q4) → 314.
    • Keep the levels for 1959Q4–2019Q4 → 241.
    • Drop 1959Q4, which has no prior level to difference against → 240.
  • Result: n_analysed = 240 quarters, from first_quarter = 1960Q1 to last_quarter = 2019Q4. Nothing after 2019Q4 is used.

# Method

  • Estimator: OLS of Δu_t on a constant and g_t.
  • Baseline uncertainty: the conventional (iid, homoskedastic) standard error (se_iid).
  • Main uncertainty: a Newey–West HAC standard error with a Bartlett kernel (se_hac). It uses no small-sample degrees-of-freedom correction.
  • Bandwidth: hac_lags = 4. This comes from the standard Newey–West rule of thumb L = floor(4·(T/100)^(2/9)) with T = 240.
  • Inference: a 95% CI equal to β̂ ± 1.96·se_hac, and a two-sided normal-approximation test of H0: β = 0.
  • Reproducibility: no randomness is involved (random_seed = null). out/analysis.py regenerates all outputs and out/figure1.png.

# Results

  • Okun coefficient: beta_hat = −0.256. Each extra 1% of quarterly real GDP growth goes with a fall of about 0.26 pp in the unemployment rate in the same quarter.
  • Intercept: alpha_hat = 0.184 pp. Together with the slope, this implies that unemployment holds steady at about 0.72% quarterly growth (≈2.9% a year). That is close to the sample mean growth, mean_growth = 0.754% per quarter.
  • Fit: r_squared = 0.408.
  • Significance: okun_negative_5pct = true. β̂ is negative, and H0: β = 0 is rejected at the 5% level using the HAC standard error (t_stat_hac = −7.14, p_value_hac_two_sided ≈ 1e−12).
  • Figure 1 (out/figure1.png) shows the scatter with the fitted line.

# Uncertainty

  • Standard errors: se_hac = 0.0358 versus se_iid = 0.0200. The HAC standard error is about 1.8 times the naïve one.
  • Why they differ: the OLS residuals are serially correlated. Their autocorrelations at lags 1–4 are about 0.39, 0.29, 0.14 and 0.07 (resid_autocorr_lag1_4). Assuming iid errors therefore understates the uncertainty substantially.
  • 95% HAC CI: [beta_ci_low, beta_ci_high] = [−0.326, −0.186].
  • Bandwidth sensitivity: across bandwidths from 0 to 12 lags, the HAC standard error ranges from 0.029 to 0.037 (se_hac_by_lags). The conclusion that β is significantly negative does not depend on the bandwidth.

# Limitations and open issues

  • Vintage: the data are the current vintage, not real-time data. GDP revisions could change the estimates slightly.
  • Interpretation: β is a contemporaneous linear projection, not a causal or structural parameter. Lagged growth is excluded, as the task specifies.
  • Stability: the sample is treated as having one stable relationship. Possible changes in the Okun coefficient over 1960–2019 are not modelled.
  • Inference method: the HAC inference relies on normal approximations in large samples. The rule-of-thumb bandwidth is not data-driven. Fixed-b critical values would give a somewhat wider interval, but they were not computed.
  • Completeness: the task was completed as specified (feasibility = "complete").
Files · main
Menu

Theme