Implemented research prototype · synthetic data

Volatility Cascade Engine

A deterministic Python research prototype exploring how an initial market shock can be amplified by leverage, margin constraints, forced liquidation, and endogenous price impact.

Baseline source: March 2026Reproduced: 29 July 2026Seed: 42Author: David Anderle
Boundary: This is an educational and research prototype. It does not predict market crashes, reproduce a broker’s full margin system, measure real-world systemic risk, or provide investment advice.

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.

System6 synthetic funds · 5 synthetic assets
Scenario grid2% to 30% initial shock, in 2-point steps
Outcome at 30%34.3% system equity loss · 4 funds distressed

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.

Aᵢ = Eᵢ × Lᵢ
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.

Eᵢ,t = Σⱼ xᵢⱼ · (pⱼ,t / pⱼ,0) − Dᵢ

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.

distressedᵢ,t ⇔ Aᵢ,t / Eᵢ,t ≥ margin_thresholdᵢ

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.

pⱼ,t+1 = max(5, pⱼ,t · exp(−0.75 · Sⱼ,t / 950))

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.

Schematic network of six synthetic funds connected through five shared assets

Figure 1. Overlapping exposures create the transmission channel. The diagram is schematic; it does not encode exact position sizes.

Results

System equity loss rises from 1.6 percent at a 2 percent shock to 34.3 percent at a 30 percent shock

Figure 2. Final system equity loss across the deterministic shock sweep. Source: reproduced baseline run, 29 July 2026.

No funds are distressed through a 14 percent shock; the count rises to four by a 30 percent shock

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.

Important interpretation: the script’s own simple threshold detector reports “No obvious threshold detected.” The change around 16–20% is descriptive evidence from this parameterization, not a statistically estimated phase transition.
Volatility Cascade Engine scenario results
Initial shockSystem equity lossFunds distressedRound counter
2%1.6%01
4%3.2%01
6%4.7%01
8%6.3%01
10%7.9%01
12%9.5%01
14%11.1%01
16%16.9%112
18%21.6%212
20%25.7%312
22%26.9%312
24%28.0%312
26%29.2%312
28%30.4%312
30%34.3%412

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.py

The reproduced scenario summary has SHA-256 51914179b472a5163cb6e8a183d54c6c9cc112de2e2778dc909bc21da9eb8556.

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/