research sandbox

Endogenous fat tails

How diffuse leverage creates heavy-tailed return distributions through liquidation cascades, with nothing but Gaussian shocks as input.

Financial returns are not Gaussian, that's well established. Small positive returns most of the time, rare violent crashes. Negative skewness, excess kurtosis. The usual fix is to swap the Gaussian for a heavy-tailed distribution, but that describes the phenomenon without explaining it.

This simulator explores a structural explanation: diffuse leverage. Many agents borrow to increase their exposure. Their liquidation thresholds cluster. When a price drop crosses a few of them, forced selling pushes the price into more thresholds : a cascade. The shocks going in are purely Gaussian. The fat tails come out of the mechanism.

Adjust the parameters on the left, run the Monte Carlo, and watch the excess kurtosis and negative skewness emerge in the results on the right.

Adjust parameters and run Monte Carlo to see aggregate fat-tail statistics
across many independent simulations.

The model

N leveraged positions, each with a size Qi and a liquidation price Pliq,i. The daily log-return combines three components:

r_t = μ(L_t) + σ₀ · ε_t + cascade_impact_t       ε_t ~ N(0,1)

The εt are the only source of randomness, everything else is deterministic given the state.

Endogenous drift. The drift depends on aggregate leverage across all positions. As price nears liquidation thresholds, effective leverage rises, which nudges drift upward, the accumulation phase before a crash.

μ(L_t) = μ₀ + β · L̄_t
L̄_t = Σ (L_eff_i − 1) · Q_i  /  Σ Q_i
L_eff_i = P_t / (P_t − P_liq_i)

Cascade. After the shock, if the new price P' = P·exp(r) falls below some liquidation thresholds, those positions are forcibly sold. The resulting volume hits the market with a linear price impact:

P' ← P' · exp(−λ · V_liq / V_daily)

This may push price below more thresholds, the cascade iterates until no more positions are hit (max 80 rounds). An optional convex regime (θ, λ₂, γ) models order book depletion for extreme events.

LTV correlation. Liquidation thresholds can be correlated through a Gaussian common factor. With ρ = 0, thresholds are independent. With ρ = 0.6, positions cluster, cascades are rarer but far more violent when they occur.

z_i = ρ · z_common + √(1−ρ²) · z_idio  →  LTV_i = LTV_min + (LTV_max − LTV_min) · Φ(z_i)

Renewal. Liquidated positions are replaced at the current price with fresh LTV draws. Without this the position pool shrinks and the model dies. A small fraction (0.5%) of surviving positions also turn over each day.

Baseline. Every simulation runs a parallel Gaussian path with the exact same εt sequence, constant drift μ₀, no cascade. Same shocks, different dynamics.

Reading the outputs

Fan chart: log scale so that extreme paths don't crush the view. The median line shows central tendency; the bands show dispersion across simulations. If the cascade median tracks below the Gaussian median, leverage is eroding long-run returns.

QQ-plot: if both models were Gaussian, all points would sit on the diagonal. Departure to the left of the diagonal at the bottom = heavier left tail. This is the most direct visual test for fat tails.

VaR vs ES: in the risk metrics table, notice that VaR 99% barely changes between models while ES 99% jumps significantly. This is the signature of fat tails: the 1% threshold is similar, but how bad it gets beyond that threshold is much worse.

Mechanism decomposition: three regimes are compared: pure Gaussian (β=0, λ=0), cascade only (β=0, λ>0), and the full model. The Δ columns show what each mechanism adds. The cascade is typically the dominant contributor; the endogenous drift plays a secondary role. Medians are used because pooled kurtosis is extremely sensitive to outlier simulations.

Dose-response: shows how Δkurtosis and Δskewness grow as λ increases from 0 to its full value. The relationship is usually nonlinear, most of the tail risk comes from the last 25% of cascade intensity.

Empirical motivation

The idea that leverage amplifies tail risk is not new. Thurner, Farmer & Geanakoplos (2012) showed in an agent-based model that leverage alone can produce fat tails and volatility clustering from Gaussian fundamentals, the direct inspiration for this simulator. Brunnermeier & Pedersen (2009) formalized the margin spiral mechanism: falling prices → tighter margins → forced selling → further price decline. Adrian & Shin (2010) documented that financial intermediary leverage is procyclical, it builds up in calm markets and unwinds violently.

The empirical facts this model tries to capture: daily equity returns exhibit excess kurtosis in the range of 5–15 (far above the Gaussian value of 0), negative skewness around −0.3 to −0.7, and left-tail exceedances roughly 2–3× the Gaussian prediction. The cascade mechanism naturally produces all three.

Limitations

Not calibrated to any real asset, this demonstrates a mechanism, not a trading strategy. Single asset, no cross-market contagion. Agents are homogeneous (same size distribution, same LTV range). The cascade is instantaneous within a day; real cascades can unfold over hours or days. The price impact model is deliberately stylized, real limit order books have richer dynamics (Bouchaud et al., 2009).

References

Thurner, Farmer, Geanakoplos (2012). Leverage causes fat tails and clustered volatility. Quantitative Finance.

Brunnermeier, Pedersen (2009). Market liquidity and funding liquidity. Review of Financial Studies

Adrian, Shin (2010). Liquidity and leverage. Journal of Financial Intermediation

Cont, Wagalath (2013). Fire sales forensics: Measuring endogenous risk. Mathematical Finance.

Bouchaud, Farmer, Lillo (2009). How markets slowly digest changes in supply and demand. Handbook of Financial Markets.

Mandelbrot (1963). The variation of certain speculative prices. Journal of Business.