SPB Git

spb/wp29_uqo

Public
4.0 KB · 46 lines markdown
1# F1-conf-03 — Leverage at end of year t and default in year t+123## Question4How 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 model5default_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.67## Data and exclusions8Input: `data/firm_panel.csv`, 2,140 data rows, 300 firms, years 2016–2022.910| step | rule | n_before | n_after | removed |11|---|---|---|---|---|12| 1 | rows read | 2140 | 2140 | 0 |13| 2 | drop column `rating_2025` (information rule) | 2140 | 2140 | 0 |14| 3 | drop exact duplicate rows | 2140 | 2100 | 40 |15| 4 | drop rows with missing `default_next` | 2100 | 1800 | 300 |16| 5 | drop rows with missing predictors | 1800 | 1800 | 0 |1718Data issues I found and how I handled them:19- **`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`.20- **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.21- **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.22- **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.23- **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.2425Final 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.2627## Method28OLS 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/`.2930## Results31- Baseline default rate in the sample: 0.1211 (218 of 1,800 firm-years).32- **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.33- cash_ratio: −0.186 (clustered SE 0.059). log_sales: −0.0073 (SE 0.0076). Intercept: 0.090.34- R² = 0.0349.3536## Uncertainty37The 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.3839## Limitations and open issues40- The estimate is an association, not a causal effect. Confounders that were not observed are not controlled for.41- A linear probability model can predict values outside [0, 1], and its errors are heteroskedastic by construction. Clustered SEs are robust to the heteroskedasticity.42- The floor at leverage = 0.02 may be censoring, which would slightly distort the slope. I did not correct for it.43- 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.44- The data are simulated, so the results describe how the data were generated, not real firms.45- Feasibility: complete.46
Files · main
Menu

Theme