Calculator
Drawdown-Recovery Markov Simulator
Time to recover from an N% drawdown given monthly Sharpe + skew + kurtosis. Cornish-Fisher Monte Carlo, percentile distribution of recovery months.
Runs in your browser. Nothing you enter is uploaded, and no account or API key is needed.
Inputs
Mean monthly return / monthly volatility. 0.30 ≈ 1.04 annualized (× √12).
4% a month ≈ 13.9% a year. At the same Sharpe, higher volatility recovers faster.
0 = symmetric; negative = more large losses than large gains.
0 = normal tails; positive = fat tails.
Each path starts this far below its peak.
Paths still under water at the horizon count as not recovered.
Same inputs + same seed = same result.
Median recovery (months)
17
Months to regain the peak from a 20% drawdown, across 2,000 simulated paths of i.i.d. monthly returns. One path in twenty takes longer than 55 months.
Recovery distribution (months)
25th percentile
11
fast paths
Median
17
75th percentile
27
slow paths
95th percentile
55
tail
Path outcomes
Recovered within 12 months
30.3%
607 of 2,000
Not recovered within 240 months
0.00%
Counted as longer than the horizon in every percentile
Reading the result
Each path starts at the drawdown and compounds monthly returns r = μ + σ·q, where μ = Sharpe × σ and q is a standard-normal draw reshaped by the Cornish-Fisher expansion for your skew and kurtosis, then rescaled to unit variance so the simulated Sharpe equals your input. Recovery takes roughly ln(1 / (1 − drawdown)) / (μ − σ²/2) months on average; negative skew and fat tails stretch the slow end. Returns are independent month to month, so regime persistence in real strategies makes true recoveries longer.
How to use it
- Enter your strategy's monthly Sharpe and monthly volatility (4% a month is about 14% a year), plus the skew and excess kurtosis of its monthly returns.
- Set the drawdown to recover from (for example 20%), the number of paths and the simulation horizon in months.
- Read the median recovery and the 25th, 75th and 95th percentiles in months. A percentile shown as 'more than' the horizon means that share of paths had not recovered when the simulation stopped.
- Compare the 95th percentile with the longest drawdown you would sit through. If it is longer, the strategy is too risky at this size or needs a tighter kill switch.
- Change the seed to check that the result is stable, and sweep the drawdown and volatility: at the same Sharpe, deeper drawdowns and lower volatility both lengthen recovery.
The method, step by step
Estimate drawdown recovery time by simulating future return paths from the strategy's monthly mean, volatility, skew, and kurtosis, then reading how many months it takes to climb back to the prior peak across the simulated paths. Report the full percentile distribution, not a single number, because recovery time has a long tail and planning for the median underestimates the pain.
-
Estimate the return moments
Gather the four moments of the monthly return distribution: mean, volatility, skewness, and excess kurtosis. The mean and volatility drive the central tendency of recovery, but skew and kurtosis shape the tail, which is where the painful long recoveries live. Estimate these from out-of-sample returns where possible, since in-sample moments inherit the optimism of the fit and will understate how bad recovery can get.
Use enough history to estimate the higher moments stably. Skew and kurtosis are noisy in short samples, and they are exactly the inputs that govern the tail of recovery.
Returns Distribution Analyzer -
Simulate paths with Cornish-Fisher draws
Generate many simulated forward return paths drawing from a distribution that respects the skew and kurtosis you estimated, rather than a normal distribution. A Cornish-Fisher expansion adjusts normal draws for the third and fourth moments, producing draws with the asymmetry and fat tails of real returns. Simulating from a normal distribution understates recovery time because it ignores the fat-tailed sequences of losses that stretch recoveries out.
Do not simulate from a normal distribution for a fat-tailed strategy. It will give a falsely reassuring recovery estimate by ignoring the bad-streak sequences that actually trap capital.
-
Measure recovery to the prior peak
Starting from the drawdown depth you care about, count how many months each simulated path takes to climb back to the prior high-water mark. Some paths recover quickly; others compound losses and take far longer. The collection of recovery times across all paths is the distribution you want, capturing not just the typical case but the unlucky sequences that define how bad it can realistically get.
Recovery is measured to the prior peak, not to break-even on the next trade. Investors feel the drawdown until the old high is reclaimed, and that is the duration that matters.
-
Read the percentile distribution
Report recovery time as percentiles, not a single average: the median, the 90th percentile, and the 95th or 99th. The tail percentiles are what matter for planning, because they represent the bad-but-plausible scenarios that test whether you can hold the strategy. A median recovery of four months with a 95th percentile of two years is a very different commitment than the median alone suggests, and the tail is the honest number to plan around.
Plan around the 90th or 95th percentile recovery, not the median. The median is the story you tell when things go to plan; the tail is the one that decides whether you capitulate.
-
Use the result to size and to set expectations
Feed the recovery distribution back into your sizing and your psychological preparation. If the tail recovery exceeds what you can sit through without abandoning the strategy, reduce position size until it does not, since smaller positions shorten recovery. Equally, knowing the realistic tail in advance is what lets an investor hold through a long drawdown rather than capitulating at the bottom, which is the most expensive mistake in the recovery.
The point of estimating recovery is to not be surprised by it. An investor who expected a long drawdown holds; one who did not capitulates at the worst time.
Sources: The Cornish-Fisher Expansion in the Context of Delta-Gamma Normal Approximations (Cornish and Fisher (1938), applied finance reference) ; The Statistics of Sharpe Ratios (Andrew W. Lo, Financial Analysts Journal (2002))
Mistakes that undo the result
Simulating recovery from a normal distribution
Real returns are skewed and fat-tailed. A normal simulation ignores the bad-streak sequences that stretch recoveries out, giving a falsely short and reassuring estimate of how long recovery takes.
Reporting only the average recovery time
Recovery time has a long right tail, so the average hides the bad-but-plausible scenarios. Planning around the mean leaves you unprepared for the tail recoveries that actually test whether you can hold.
Using in-sample moments
Moments estimated from the data the strategy was fit on inherit the optimism of the fit, understating volatility and the tails. The recovery estimate built on them is too optimistic, exactly where realism matters most.
Questions people ask
Why use a Markov chain to model drawdowns?
The model is a Markov process in the simple sense: each month's equity depends only on the previous month's equity and a fresh random return. It does not estimate drawdown-state transition probabilities from your equity curve. Every path starts at the drawdown you choose and compounds independent monthly returns with your Sharpe, volatility, skew and kurtosis until it regains the peak or hits the horizon.
What's the recovery time output?
Months from the bottom of the drawdown back to the prior peak, summarized as the 25th, 50th, 75th and 95th percentiles across all simulated paths, plus the share recovered within 12 months and the share still under water at the horizon. Paths that never recover count as longer than the horizon, so a percentile can read 'more than 240'.
How many observations do I need?
None: the tool takes summary statistics, not an equity curve. Estimate monthly Sharpe, volatility, skew and excess kurtosis from your own returns; with fewer than about 60 monthly observations those estimates, especially skew and kurtosis, are noisy, so try a range of values. More simulated paths reduce simulation noise, not estimation error.
Does it work for trend-following systems?
Only partly. Trend-followers have long losing stretches followed by sharp gains, which is serial dependence; the simulation draws each month independently, so it captures the skew and fat tails you enter but not the clustering. Treat its recovery times as a lower bound for strategies whose bad months come in runs.
What's the difference between this and Monte Carlo on returns?
It is a Monte Carlo on returns: i.i.d. monthly draws from a distribution shaped by the Cornish-Fisher expansion for your skew and kurtosis and rescaled so the simulated Sharpe and volatility equal your inputs. Compared with a historical bootstrap it can produce losses your sample never saw, but it cannot reproduce volatility clustering or regime persistence, which make real recoveries longer.
Related tools
- Calculators Kelly Criterion Calculator
Size positions with full, half, quarter, or eighth Kelly and stress-test the choice with a drawdown Monte Carlo simulator. Client-side. Private by default.
- Calculators Position Sizing under Edge Variance
Bayesian-Kelly bet sizing when your edge is itself uncertain. Compare deterministic Kelly, Bayesian-adjusted, and conservative lower-bound versions. Includes 5%-CVaR.
- Calculators Returns Distribution Analyzer
Paste a returns CSV. Histogram, normal QQ plot, skewness, excess kurtosis, Jarque-Bera test, tail-weight index. See why Sharpe alone misleads.
Use it from code
The same calculation as a JavaScript module you can import. It runs where you import it, with no request, key or rate limit.
import { compute } from "https://aifinhub.io/engines/drawdown-recovery-markov.js";