# F1-conf-03 — Leverage and next-year default (simulated panel) ## Question How is a firm's leverage at the end of year t associated with default in year t+1, conditional on cash ratio and log sales, using only information available at the end of year t? Estimand: the coefficient on `leverage` in a linear probability model estimated by OLS, SEs clustered by firm. Data are synthetic. ## Data and exclusions `data/firm_panel.csv` has 2140 data rows (`n_input_rows`) for 300 firms, 2016–2022. Steps (see `out/exclusions.csv`): 1. Column `rating_2025` dropped (no rows removed): it was assigned in 2025 using each firm's realised default history through 2022 and its sample-average leverage, so it was not known at the end of year t and leaks the outcome. In the raw file only D-rated firms ever default. Listed in `variables_excluded`. 2. 40 exact duplicate rows removed (assembly error; 2140 → 2100). After this every firm has exactly 7 years. 3. 300 firm-years with unobserved `default_next` removed (all origin year 2022, because the outcome year 2023 falls after the data cut). Outcomes were not imputed. 2100 → 1800. 4. No rows had missing predictors (1800 → 1800). The estimation sample has `n_analysed` = 1800 firm-years from `n_firms` = 300 firms, origin years 2016–2021. Every detected problem is listed in `data_issues`. One of them is a mass point of leverage at 0.02, which was kept as recorded. ## Method OLS of `default_next` on an intercept, `leverage`, `cash_ratio` and `log_sales` (`predictors_used`), using statsmodels with cluster-robust covariance by `firm_id` and its default small-sample correction. Baselines: the unconditional default rate (`default_rate`) and a bivariate slope on leverage (`baseline_beta_leverage_bivariate`). No randomness is used (`random_seed` = null). `out/analysis.py` regenerates every output deterministically. ## Results - Default rate in the estimation sample: 0.121 (`default_rate`). - Coefficient on leverage: 0.264 (`beta_leverage`). Holding cash ratio and log sales fixed, a firm with leverage 0.10 higher has an estimated next-year default probability about 2.6 percentage points higher. The bivariate baseline slope is nearly the same at 0.267 (`baseline_beta_leverage_bivariate`). - Other coefficients (`coef_all`): cash_ratio −0.186, log_sales −0.0073, intercept 0.090. - In-sample R² = 0.035 (`r2`). ## Uncertainty The firm-clustered SE of the leverage coefficient is 0.0408 (`se_leverage_cluster`), giving a 95% CI of [0.184, 0.344] (`ci95_leverage_cluster`). The non-robust OLS SE is smaller, at 0.0358 (`se_leverage_nonrobust`), which is consistent with within-firm correlation. With 300 clusters, cluster-robust inference should be reliable. ## Limitations and open issues - The data are simulated. The coefficient is a conditional association from a linear probability model, not a causal effect, and an LPM can produce fitted probabilities outside [0,1]. - The duplicates were treated as assembly errors because they were identical on every column. We kept the first copy of each. - The codebook does not say whether firms remain in the panel after they default. All firm-years with an observed outcome were kept, as the task specifies. - Leverage shows a floor at 0.02 (`data_issues`). This may be censoring in how the data were generated. It was left untreated. - Feasibility: complete (`feasibility`).