Running the shipped drawdown-recovery-markov engine on the input below produces exactly
this output. Continuous integration recomputes it against the engine bundle on
every build, so these numbers cannot drift from the code.
What does the Drawdown-Recovery Markov Simulator methodology page document?
Cornish-Fisher quantile formula, simulation procedure, and references for the AI Fin Hub Drawdown-Recovery Markov simulator. It states the formulas, assumptions, data sources, limitations, and reproducibility steps behind the Drawdown-Recovery Markov Simulator, in the Finance category.
When was the Drawdown-Recovery Markov Simulator methodology last reviewed?
This methodology was last reviewed on 2026-05-08. The matching tool is at https://aifinhub.io/drawdown-recovery-markov/.
Are the Drawdown-Recovery Markov Simulator numbers reproducible?
Yes. This page embeds a worked example whose output is the verbatim result of running the shipped drawdown-recovery-markov engine on a fixed input; the embedded JSON is recomputed and diffed against the engine in CI, so the numbers cannot drift from the code.
Methodology · Tool · Last updated 2026-05-08
How Drawdown-Recovery Markov Simulator works
Monte Carlo with Cornish-Fisher quantiles to estimate time-to-recover from a drawdown — the engine behind the Drawdown-Recovery Markov simulator.
Cornish-Fisher quantile expansion
For a target distribution with skew γ₃ and excess kurtosis (γ₄ − 3), the moment-matched quantile from a standard normal z is:
This is the standard fourth-order expansion (Cornish-Fisher 1937). It is exact at z = 0 and accurate for moderate skew (|γ₃| ≲ 1) and excess kurtosis (γ₄ − 3 ≲ 6). Beyond those bounds the approximation distorts.
Simulation procedure
μ_m = monthly_sharpe × 0.04 ← assume σ_m = 4%
For each path p of P:
value = 1 − drawdown_threshold
For t = 1..max_months:
z = standard_normal_sample()
q = cornish_fisher(z, γ₃, γ₄ − 3)
r = μ_m + 0.04 · q
value *= 1 + r
If value ≥ 1:
record recovery_time = t; break
If never recovers, record never += 1
Probability of never recovering within the simulation cap (240 months).
Why σ_m is fixed
Time-to-recover for a given drawdown threshold depends on μ_m / σ_m (the monthly Sharpe), not σ_m alone — fixing σ_m = 4% is convenient and does not affect the result. Doubling both μ and σ yields the same recovery times.
References
Cornish, E. A., Fisher, R. A. (1937). "Moments and cumulants in the specification of distributions." Revue de l'Institut International de Statistique 5(4): 307–320. DOI: 10.2307/1400905.
Maillard, D. (2012). "A user's guide to the Cornish-Fisher expansion." SSRN 1997178.
Magdon-Ismail, M., Atiya, A. F. (2004). "Maximum drawdown." Risk Magazine 17(10): 99–102.
Burghardt, G., Duncan, R., Liu, L. (2003). "Deciphering Drawdown." Risk Magazine, September.
Limitations
Returns are i.i.d. by assumption — no regime switching, no autocorrelation.
Cornish-Fisher accuracy degrades for extreme skew/kurtosis. For very fat tails consider a t-distribution sampler.
Simulation cap of 240 months means very-low-Sharpe inputs will report ∞-by-cap.