One-sentence result
The deterministic sweep shows a plausible mechanism through which overlapping exposures and forced selling can turn a moderate exogenous shock into a larger endogenous drawdown under the model’s selected assumptions.
Research question
Can a stylized system of leveraged portfolios with overlapping holdings generate amplification after an external price shock, even when the only feedback channel is margin-triggered liquidation and price impact?
My exact role
I built and published the Python baseline, defined the synthetic balance sheets and exposure templates, implemented the iterative liquidation and price-impact loop, generated the original outputs, and wrote the public case study. The model and data are entirely synthetic.
Data and provenance
No broker, market, customer, or institutional dataset is used. The system contains six fictional funds and five fictional assets. Fund equity, leverage, margin thresholds, liquidation fractions, and portfolio weights are hard-coded model inputs. The run uses SEED = 42 for deterministic exposure jitter.
Method
1. Construct synthetic balance sheets
For each fund i, gross asset exposure is initialized as equity multiplied by target leverage. Debt is the difference between gross assets and equity.
Dᵢ = max(Aᵢ − Eᵢ, 0)
2. Revalue portfolios after a price shock
The shocked asset is CHIP. Every position is marked to the new price, while baseline debt remains fixed in this simplified implementation.
3. Trigger forced liquidation
A fund is distressed when marked-to-market leverage reaches or exceeds its configured margin threshold. The fund then sells a fixed fraction of each remaining position.
4. Apply endogenous price impact
Aggregate sales reduce asset prices through an exponential impact function. The function keeps prices positive and creates a nonlinear feedback channel.
5. Iterate until stable or capped
The loop checks distress, liquidates, applies impact, and repeats for at most twelve rounds. A fund may liquidate again if it remains above its threshold.
Figure 1. Overlapping exposures create the transmission channel. The diagram is schematic; it does not encode exact position sizes.
Results
Figure 2. Final system equity loss across the deterministic shock sweep. Source: reproduced baseline run, 29 July 2026.
Figure 3. Number of distinct funds ever classified as distressed.
The first distressed fund appears at a 16% initial shock. Between the 14% and 20% scenarios, system equity loss increases from 11.1% to 25.7%, while the distressed-fund count rises from zero to three. At 30%, the model reports a 34.3% equity loss and four distressed funds.
| Initial shock | System equity loss | Funds distressed | Round counter |
|---|---|---|---|
| 2% | 1.6% | 0 | 1 |
| 4% | 3.2% | 0 | 1 |
| 6% | 4.7% | 0 | 1 |
| 8% | 6.3% | 0 | 1 |
| 10% | 7.9% | 0 | 1 |
| 12% | 9.5% | 0 | 1 |
| 14% | 11.1% | 0 | 1 |
| 16% | 16.9% | 1 | 12 |
| 18% | 21.6% | 2 | 12 |
| 20% | 25.7% | 3 | 12 |
| 22% | 26.9% | 3 | 12 |
| 24% | 28.0% | 3 | 12 |
| 26% | 29.2% | 3 | 12 |
| 28% | 30.4% | 3 | 12 |
| 30% | 34.3% | 4 | 12 |
Validation and falsification attempts
- Deterministic rerun: the baseline script was rerun on 29 July 2026; the scenario summary reproduced the published values exactly.
- Monotonicity check: system equity loss is non-decreasing over the tested shock grid.
- Boundary check: no fund is marked distressed in the 2–14% scenarios; the first distress classification occurs at 16%.
- Negative result retained: the script’s heuristic did not identify an “obvious threshold,” so the page does not claim one.
Limitations
- All inputs are synthetic and uncalibrated.
- Margin thresholds and liquidation fractions are fixed, stylized rules.
- Market depth is constant across assets and scenarios.
- Debt is treated simplistically; funding liquidity and collateral dynamics are absent.
- No bid/ask spread, transaction costs, options convexity, borrow constraints, shorting, or order-book mechanics.
- The only network channel is shared asset exposure; direct counterparty exposures are absent.
- Results are sensitive to chosen thresholds, impact coefficient, depth, and exposure templates.
Reproducibility
The public artifact includes the source, dependency list, deterministic seed, scenario output, unit tests for core invariants, and this report. The baseline command is:
python src/volatility_cascade_engine.pyThe reproduced scenario summary has SHA-256 51914179b472a5163cb6e8a183d54c6c9cc112de2e2778dc909bc21da9eb8556.
Artifacts
What would make this stronger
The next defensible version should separate exogenous and endogenous loss explicitly, implement target-deleveraging rather than repeated fixed-fraction sales, introduce heterogeneous and state-dependent liquidity, add sensitivity surfaces, test alternative shock locations, and compare stylized mechanisms against permitted empirical or historically reconstructed scenarios.
Citation
Anderle, David. “Volatility Cascade Engine: A Stylized Liquidation-Contagion Simulation.” Baseline public report, 29 July 2026. https://davidanderle.com/work/volatility-cascade-engine/