SPB Git

spb/wp29_uqo

Public

# Verification checks (P4)

  1. Clean re-run: deleted out/results.json and out/exclusions.csv, re-ran analysis.py; byte-identical results.json (cmp) — PASS.
  2. beta_fe (LSDV numpy) vs statsmodels OLS with C(firm_id)+C(year): diff 5e-15 — PASS.
  3. beta_fe vs two-way within (demeaning) estimator on balanced panel: equal to 1e-15 — PASS.
  4. se_conventional vs statsmodels nonrobust bse: diff 3e-17 — PASS.
  5. Cluster meat vs statsmodels cluster SE (which counts all 112 params in K): matches se_cluster_alt_K_all_dummies to 1e-16 — PASS (reported se_cluster uses nested-FE K=12 convention; documented).
  6. beta_pooled vs statsmodels y~x: matches — PASS.
  7. SEs positive; CI contains beta_fe and is symmetric (midpoint − beta_fe = 0) — PASS.
  8. Counts: n_input_rows 1200 − 0 removed (exclusions.csv) = n_analysed 1200 = n_firms 100 × n_years 12 — PASS.
  9. Magnitudes: cluster SE 1.38× conventional (plausible with positively serially correlated errors/regressor); beta_fe (0.60) differs markedly from pooled (1.27), consistent with firm/year effects correlated with x — noted, not an error.
  10. LSDV design full rank (112 = rank) — PASS.
Files · main
Menu

Theme