SPB Git

spb/wp29_uqo

Public
4.4 KB · 39 lines markdown
1# Okun's law in U.S. quarterly data, 1960Q1–2019Q4 (F2-conf-04)23## Question4How 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?56## Data and exclusions7- `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 match `data/README.md` (see `out/state/data_audit.md`).8- 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.9- 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.1011## Method12- I estimated β and α by OLS of Δu_t on a constant and g_t.13- Baseline: the conventional OLS standard error (`se_iid`), which assumes errors that are independent and homoskedastic.14- 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.15- 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.16- 95% CI: β̂ ± 1.96·`se_hac`, using the normal approximation.17- Decision rule: `okun_negative_5pct` is true if and only if β̂ < 0 and |β̂/`se_hac`| > 1.96.18- No randomness is involved (`random_seed` = null). `out/analysis.py` regenerates every output, including `out/figure1.png` (scatter plot with the fitted line).1920## Results21- β̂ = −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.22- α̂ = 0.184 pp (`alpha_hat`). With no growth, unemployment rises by about 0.18 pp per quarter.23- The implied growth rate at which unemployment holds steady is α̂/|β̂| ≈ 0.72% per quarter. This figure is derived from `alpha_hat` and `beta_hat`. It is close to the sample mean growth of 0.754% per quarter (`mean_growth`), which is not annualised.24- R² = 0.408 (`r_squared`).25- 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`).2627## Uncertainty28- Naïve baseline: `se_iid` = 0.0200, giving a 95% CI of [−0.295, −0.217] (`baseline_ci_iid_low`, `baseline_ci_iid_high`).29- 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`).30- 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.31- The naïve SE understates the uncertainty because the residuals are positively autocorrelated.3233## Limitations and open issues34- I used the current data vintage, not real-time data. GDP revisions could change the estimates somewhat.35- β 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.36- The coefficient is assumed constant over 1960–2019. I did not test for structural breaks.37- The HAC inference is asymptotic and uses normal critical values. With T = 240, size distortions should be modest, but they cannot be ruled out.38- 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.39
Files · main
Menu

Theme