SPB Git

spb/wp29_uqo

Public

# P4 verification checks (2026-10-30)

Determinism: deleted results.json/table1.csv/figure1.png/exclusions.csv, re-ran out/analysis.py; results.json byte-identical (cmp), table1.csv identical md5. PASS. Assertions inside analysis.py (all passed at runtime): every quarter 1959Q4–2019Q4 has exactly 3 monthly UNRATE values; 241 merged quarters with regular spacing; 240 regression quarters from 1960-01-01 to 2019-10-01; n_sub1+n_sub2=n. Post-hoc checks (all PASS):

  • all required results.json keys present
  • n_sub1+n_sub2 = n_analysed = 240; n_sub1=96, n_sub2=144; sample dates 1960-01-01/2019-10-01
  • effect_se > 0; CI contains estimate; CI half-width = 1.96·SE
  • model_metric < baseline_metric; 1−(model/baseline)² equals R² (identity)
  • conclusion code consistent with CI (upper bound < 0 → negative_effect)
  • stability_conclusion consistent with chow_p_value < 0.05
  • Chow df = (2, 236); F ≥ 0, p in [0,1]
  • exclusion ledger: n_before − n_removed = n_after for every step; final n = 240
  • n_input_rows = 319 / 945 match wc -l minus header
  • table1 has header + 3 rows with required columns; full-sample slope = effect_estimate
  • magnitude: β ≈ −0.26 is in the conventional range for q/q (non-annualised) growth
  • HAC SE (0.036) > classical SE (0.020), consistent with positive residual autocorrelation
  • No date after 2019-10-01 enters any estimate (window filter + assertion on max date) Figure inspected visually: two subperiod clouds, two fitted lines, labels correct.
Files · 452964ee0fbbaa40fbbed2c87a54ca798ffd6a85
Menu

Theme