# F1-conf-03 — Leverage at end of year t and default in year t+1 ## Question How is a firm's leverage at the end of year t associated with default in year t+1, using only information available at the end of year t? Estimand: coefficient b1 on `leverage` in the linear probability model default_next = a + b1·leverage + b2·cash_ratio + b3·log_sales + e, estimated by OLS with standard errors clustered by firm. The data are **simulated** (a synthetic panel), not observed data. ## Data and exclusions Input: `data/firm_panel.csv`, 2,140 data rows, 300 firms, years 2016–2022. | step | rule | n_before | n_after | removed | |---|---|---|---|---| | 1 | rows read | 2140 | 2140 | 0 | | 2 | drop column `rating_2025` (information rule) | 2140 | 2140 | 0 | | 3 | drop exact duplicate rows | 2140 | 2100 | 40 | | 4 | drop rows with missing `default_next` | 2100 | 1800 | 300 | | 5 | drop rows with missing predictors | 1800 | 1800 | 0 | Data issues I found and how I handled them: - **`rating_2025` breaks the information rule.** It was assigned in 2025, using each firm's realised default history through 2022 and its average leverage over the whole sample. It therefore leaks the outcome: every default in the data has rating D. I left it out of the analytic dataset and the model, and it is listed in `variables_excluded`. - **40 exact duplicate rows.** These are assembly errors: 40 firms have 8 rows instead of 7. Every duplicate is identical in all columns, so I kept one copy of each. After this step there is exactly one row per firm-year. - **300 missing outcomes.** All of them, and only them, are origin year 2022. Their outcome year, 2023, falls after the end-2022 data cut. I excluded them and did not impute. - **Leverage piles up at its minimum value of 0.02.** 54 analysed rows sit exactly there, which suggests floor-coding. I kept the values as recorded. - **Repeat defaults.** 56 firms have `default_next = 1` in more than one year, i.e. firms do not leave the panel after defaulting. I kept these rows because the estimand is defined over firm-years, and the firm-clustered standard errors allow for correlation within a firm. Final estimation sample (`out/analytic.csv`): 1,800 firm-years, 300 firms, origin years 2016–2021. Columns: firm_id, year, leverage, cash_ratio, log_sales, default_next. ## Method OLS linear probability model with predictors `leverage`, `cash_ratio` and `log_sales` (all measured at the end of year t), using statsmodels. Standard errors are clustered by `firm_id` (300 clusters) with statsmodels' default small-sample correction. The method is deterministic, so no random seed is used. `out/analysis.py` regenerates every output from `data/`. ## Results - Baseline default rate in the sample: 0.1211 (218 of 1,800 firm-years). - **beta_leverage = 0.2638**: holding cash ratio and log sales fixed, an increase of 1.0 in leverage (e.g. from 0 to 1) goes with a 26.4 percentage-point higher probability of default next year. Equivalently, about 2.6 pp per 0.10 of leverage. - cash_ratio: −0.186 (clustered SE 0.059). log_sales: −0.0073 (SE 0.0076). Intercept: 0.090. - R² = 0.0349. ## Uncertainty The firm-clustered SE of beta_leverage is 0.0408, giving a 95% CI of [0.184, 0.344] and p ≈ 1e-10. Leverage is positively associated with next-year default. The intervals reflect sampling variation within this synthetic panel only. ## Limitations and open issues - The estimate is an association, not a causal effect. Confounders that were not observed are not controlled for. - A linear probability model can predict values outside [0, 1], and its errors are heteroskedastic by construction. Clustered SEs are robust to the heteroskedasticity. - The floor at leverage = 0.02 may be censoring, which would slightly distort the slope. I did not correct for it. - Because defaults repeat within firms, "default" here is a recurring event rather than an absorbing one. If the outcome was meant to be first default, the sample definition would have to change. - The data are simulated, so the results describe how the data were generated, not real firms. - Feasibility: complete.