XLM-anchored crash propagation across a 13-asset crypto book. Cholesky-correlated idiosyncratic shocks, full-distribution tail metrics. Everything runs locally in this page.
| Asset | Starting Spot Price ($) | Crash Beta (β) | Interpretation |
|---|
k draws an anchor landing price uniformly from the target range, giving the anchor return R_anchor,k = P_land / P_spot,anchor − 1.Σ is built from asset-class blocks (anchor / majors / memes / alts) and decomposed with a pure-JS Cholesky routine so that L·Lᵀ = Σ (diagonal jitter is added automatically if Σ is not numerically positive-definite). Independent N(0,1) draws Z come from the Box–Muller transform and are mapped to correlated normals via the matrix product X = L·Z.ε_i,k = σ_i · X_i,k with σ_i = (noise% / 100) · |R_anchor,k|, so idiosyncratic dispersion scales with crash severity. Negative draws are additionally multiplied by 1.35 to produce the fat left tail characteristic of a liquidity flash crash.R_i,k = β_i · R_anchor,k + ε_i,k, floored at −99.5%. The anchor leg lands inside your target band by definition, so it takes neither a beta nor idiosyncratic noise. Landing price is P_i,k = P_spot,i · (1 + R_i,k).min(P_i,k) / P_spot,i − 1.The seed field drives a deterministic Mulberry32 PRNG, so a given configuration reproduces exactly; set it to 0 for a fresh random stream each run. Note that with high betas, a deep anchor crash and large noise, returns can hit the −99.5% floor — when the 95% and 99% tail figures for an asset are identical, that floor is binding and the tail is truncated rather than estimated.
It answers one question: “if my anchor asset crashes to somewhere between my two target prices, where does the rest of my crypto book probably land?”
Rather than guessing a single number, it replays the crash thousands of times. Each replay picks a slightly different landing price for the anchor inside your target range, then pushes that shock out to every other coin through two dials you control: its beta (how hard it amplifies or dampens the anchor's move) and the noise setting (how much each coin can wander off its beta on its own).
Crucially, that wandering is correlated, not independent. In a real flash crash coins do not fall in isolation — majors move together, memes move together, and everything moves somewhat with everything else. The correlation matrix at the top of this page encodes those relationships, and the Cholesky decomposition is the piece of maths that makes the random draws respect them. Ignore that step and you get a comfortably wrong answer, because independent randomness quietly cancels itself out and hides your true tail risk.
The result is a full distribution of landing prices for every asset. The results table reports the middle of that distribution and — more importantly — its bad end.