Okun's law in U.S. quarterly data, 1960Q1–2019Q4
Question
Estimate β in Δ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 per quarter, not annualised). Sample: 240 quarters, 1960Q1–2019Q4. Uncertainty must hold up when the errors are serially correlated.
Data and exclusions
data/UNRATE.csv: 945 monthly rows.data/GDPC1.csv: 319 quarterly rows. Both files are the current FRED vintage, and their SHA-256 checksums matchdata/README.md. Neither file has duplicate dates.- UNRATE has one missing value, 2025-10 (empty field). It lies outside the 1959Q4–2019Q4 window, so it is not used. The script checks that every quarter in the window has all three monthly observations.
- Months are averaged within each calendar quarter. Only the 1959Q4 levels from outside the window are used, to form the 1960Q1 differences. The final sample is n = 240 quarters (1960Q1–2019Q4).
Method
- OLS of Δu_t on a constant and g_t.
- Naïve baseline: the conventional OLS standard error, which assumes iid, homoskedastic errors.
- Main inference: a Newey–West HAC standard error with a Bartlett kernel and L = 4 lags. L comes from the standard rule floor(4·(T/100)^{2/9}) with T = 240. The other common rule, floor(0.75·T^{1/3}), also gives 4. No small-sample degrees-of-freedom correction is applied.
- The 95% CI is β̂ ± 1.96·se_HAC, using the asymptotic normal distribution. The test is two-sided at the 5% level.
- Implementation: statsmodels (
out/analysis.py). The script is deterministic and uses no random numbers.
Results
| quantity | value |
|---|---|
| β̂ (Okun coefficient) | −0.2558 pp per 1% quarterly growth |
| α̂ | 0.1844 pp |
| R² | 0.408 |
| mean g_t | 0.754 % per quarter |
| implied growth rate with stable unemployment, −α̂/β̂ | ≈ 0.72 % per quarter (derived from the values above) |
Each extra percentage point of quarterly real GDP growth goes with a fall of about 0.26 pp in the unemployment rate that quarter. Figure: out/figure1.png.
Uncertainty
| SE type | se(β̂) |
|---|---|
| iid OLS (naïve) | 0.0200 |
| Newey–West, L = 4 (headline) | 0.0358 |
- Confidence interval and test: the 95% HAC CI is [−0.326, −0.186]. The HAC t-statistic is −7.14 (p ≈ 1e−12). The Okun coefficient is negative and significantly different from zero at the 5% level (
okun_negative_5pct = true). - Serial correlation: the OLS residuals are clearly autocorrelated. Their autocorrelations at lags 1–4 are 0.39, 0.29, 0.14 and 0.07. The HAC SE is about 1.8 times the iid SE. Part of the gap comes from heteroskedasticity alone: with L = 0 (White SE) it is 0.0288.
- Sensitivity to bandwidth: the HAC SE is stable across lags. It is 0.032 at L = 1 and lies between 0.034 and 0.037 for L = 2–12 (
out/supplementary.json). The conclusion holds at every bandwidth tried.
Limitations and open issues
- The data are the current vintage, not real-time data. GDP has been revised many times.
- The relation is a contemporaneous linear projection, not a causal effect. It ignores lags of growth and any possible instability over 60 years; the Okun coefficient is widely reported to vary over time and across the cycle. No break tests were run.
- HAC inference is asymptotic, and Bartlett-kernel Newey–West tests can over-reject in finite samples when the persistence is this strong. Fixed-b or EWC critical values would be more conservative. Given |t| ≈ 7, this would not change the conclusion.
- Using quarterly averages of monthly unemployment smooths the series, which adds some serial correlation by construction.