-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
priority-highHigh priorityHigh priority
Description
Problem
The simulation engine pays dividends (30% of after-tax income) whenever gross >= 0, even when the company has nearly zero equity. A firm with $100 in equity and $50 of operating income still pays $7.88 in dividends, accelerating ruin.
This is unrealistic: real boards suspend dividends well before insolvency and redirect all earnings to rebuilding the capital base.
Impact
- Overstates ruin probability across all deductible levels
- Artificially penalises high-deductible strategies (which are more likely to enter distress)
- Biases the optimal deductible downward
Proposed Fix
Add a capital adequacy floor (e.g., 10% of starting assets). When equity falls below this floor, set the effective retention ratio to 1.0 (retain all earnings, pay no dividends):
RUIN_CAPITAL_FLOOR = INITIAL_ASSETS * 0.10
capital_adequate = assets > RUIN_CAPITAL_FLOOR
effective_retention = np.where(capital_adequate, RETENTION_RATIO, 1.0)
delta = np.where(gross >= 0,
after_tax * effective_retention,
after_tax)This should be applied in:
Simulationengine (ergodic_insurance/simulation.py)MonteCarloEngine(ergodic_insurance/monte_carlo.py)- Any notebook simulation loops
Scope
- The floor percentage (10%) could be configurable via
ManufacturerConfigor a simulation parameter - Consider a graduated scale (e.g., linear taper from 100% retention at 5% capital to normal retention at 20% capital)
- Already implemented locally in notebook
12_vol_drag_vs_prem_drag.ipynbas a proof-of-concept
References
- Notebook 12: Volatility Drag vs Premium Drag experiment
- IRC §162 (dividend deductibility limitations under financial distress)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority-highHigh priorityHigh priority