Bootstrap of returns
Resample history with replacement to see how uncertain it is. · 7 min
ProOpen to everyone while Pro is in preview.
A reshuffle keeps every trade exactly once. A bootstrap draws with replacement: some results appear twice, some not at all. Each draw is a history that could have happened, so the spread of the draws shows how uncertain the original numbers are.
Predict first
A strategy returned +12% a year over three years. Bootstrapping a year from those daily returns, roughly how wide is the 90% range of the next year?
Bootstrap the next year
Three years of daily returns from a 20/100 moving-average rule, resampled with replacement into 1,000 possible next years.
Running the numbers…
Can you see an edge by eye?
Four traders, 150 trades each. One has a real edge of +0.2R a trade; three have none. On the default seed the best-looking curve belongs to trader B, up 39%, who has no edge; the real edge, trader C, is up 29%. The bootstrap intervals of the average trade all touch or cross zero: 150 trades cannot separate them.
Blind test: which trader has the edge?
Four traders, 150 trades each at about 2R a win. Three have no edge; one wins 40% of the time, worth +0.2R a trade. Pick one, then reveal.
Running the numbers…
Reshuffle or bootstrap?
- Reshuffle: the same results in another order. Answers “how bad could the road have been with these exact trades?”
- Bootstrap: a new mix of results. Answers “how much could the outcome itself vary?” and gives intervals for any statistic: the mean, the Sharpe, the win rate.
- Block bootstrap: draws runs of neighbouring days, so calm and stormy stretches stay together. Use it when returns cluster, which market returns do.
Worked example
Five daily returns: +1%, −2%, +0.5%, +1.5%, −0.5%. One bootstrap draw of five:
- Draw positions 3, 1, 3, 5, 2: +0.5%, +1%, +0.5%, −0.5%, −2%.
- Its mean: (0.5 + 1 + 0.5 − 0.5 − 2) ÷ 5 = −0.1%; the original mean was +0.1%.
- A thousand draws give a thousand means; their 5th and 95th percentiles are the 90% interval.
Common mistake
Treating the bootstrap as a forecast. It assumes the future is drawn from the same distribution as the past. Regimes change, edges decay, and a market that was calm in the sample will not stay calm. The bootstrap measures the uncertainty you already have, not the new kind.
Closing round
Size it from the fan
A strategy’s next 100 trades at 1% risk, 600 times.
Building a fresh case…
Further reading: Davey, Building Winning Algorithmic Trading Systems; Aronson, Evidence-Based Technical Analysis, chapter 5 (bootstrap).