A crypto backtest Monte Carlo analysis asks how much a historical result depends on the order and recurrence of its recorded outcomes. Start with one clean ledger of closed, net trades; declare how you will resample it; generate many alternative paths; and compare distributions of drawdown and ending value. Those paths are sensitivity tests, not forecasts or extra market history.
What a crypto backtest Monte Carlo analysis tests
A normal backtest shows one path through one historical period. Its total change, win rate, profit factor, and maximum drawdown all come from that path. A Monte Carlo review asks a narrower counterfactual: what happens to the path statistics when the observed outcomes are reordered or resampled under a stated rule?
The statistical bootstrap was introduced as a way to estimate a sampling distribution from observed data by resampling with replacement. Bradley Efron’s original bootstrap paper supports that general method. It does not turn a trade ledger into a forecast, prove that the ledger represents future markets, or validate a crypto strategy.
That boundary matters. A simulation can show that a result is fragile under its own assumptions. It cannot manufacture information that was absent from the historical test.
Start with a closed, net outcome ledger
Resampling a headline return hides the information needed to build a path. Use the ordered outcomes of closed decisions instead. Keep every value in one declared unit, such as quote currency, percentage of starting equity, or risk units. Do not mix units across trades.
Use net outcomes after the same fee, spread, slippage, funding, and other cost treatment applied to the source test. If you resample gross winners and losers, the simulation answers a cleaner question than the strategy faced. The fill-assumption stress test explains why expected, order, and filled prices should not be collapsed into one optimistic number.
Before resampling, record the strategy revision, market, candle interval, test dates, timezone, starting-value convention, position-sizing rule, cost assumptions, number of closed outcomes, and treatment of any open position. If you use Gimmer for the source backtest, this record describes the input to your separate analysis; it does not imply that Monte Carlo analysis is built into Gimmer.
Choose the resampling question first
“Run a Monte Carlo” is not a complete method. Three related approaches answer different questions.
Permutation without replacement: order only
Shuffle the same closed outcomes without adding or removing any of them. Every trial keeps the same trade count, total net outcome, win rate, average outcome, and profit factor. Only the order changes. This is the cleanest first test of sequence risk because a different maximum drawdown can come only from a different path.
Bootstrap with replacement: recurrence and order
Draw the same number of outcomes from the ledger, allowing an observed outcome to appear more than once or not at all in a trial. This changes both composition and order. It can expose wider variation, but the result is conditional on treating the observed ledger as the empirical source distribution.
Do not call the generated distribution a confidence interval unless the method and assumptions justify that term. For a practical review, labels such as “5th percentile of these trials” or “median sampled maximum drawdown” are more precise.
Block resampling: preserve local dependence
Individual trades may cluster because several positions share a market move, a volatility episode, or overlapping exposure. Independent draws can erase that local dependence. A block method samples adjacent observations together. Hans Künsch’s paper on bootstrap methods for stationary observations supports the general block-resampling idea; it does not prove that a crypto ledger is stationary or supply a universal block length.
If you cannot defend an independence assumption or a block rule, show more than one method and explain why their results differ.
A six-outcome sequence-risk example
Suppose an illustrative ledger contains six net outcomes in risk units: +2, +1, -1, -1, +1, -1. The total is +1R. Gross gains are 4R, gross losses are 3R, profit factor is about 1.33, and the win rate is 50%.
Now compare two permutations. These values are invented teaching data, not Gimmer, exchange, user, or cryptocurrency market results.
| Path | Outcome order | Ending result | Profit factor | Maximum drawdown from starting equity | What changed? |
|---|---|---|---|---|---|
| A | +2, -1, +1, -1, +1, -1 | +1R | 1.33 | 1R | Losses are separated by gains. |
| B | -1, -1, -1, +2, +1, +1 | +1R | 1.33 | 3R | Three losses arrive before recovery. |
The same outcomes produce the same total, win rate, and profit factor, yet one path reaches a decline three times as large as the other. That is the practical reason to read the peak-to-trough path behind maximum drawdown rather than treating an aggregate ratio as the complete result. The profit-factor ledger check provides the companion calculation.
Write a reproducible resampling contract
Keep the contract short enough for another reviewer to reproduce without guessing.
- Source: identify the exact saved strategy revision, market, interval, dates, and ordered net-outcome ledger.
- Unit: declare whether outcomes are currency, return percentages, or fixed risk units.
- Method: permutation, replacement bootstrap, or a named block rule.
- Length: state how many observations appear in each trial and how open positions are excluded or handled.
- Randomness: save the pseudorandom seed and the analysis code or spreadsheet revision.
- Outputs: preselect ending result, maximum drawdown, longest losing run, and any ruin boundary relevant to the test.
- Report: publish the median and declared lower and upper percentiles across all valid trials, not one dramatic path.
There is no universal trial count that makes a weak ledger representative. More trials reduce simulation noise under the selected resampling rule; they do not add new market regimes or independent decisions. Review the sample-size and market-coverage checklist before interpreting narrow percentile bands.
Read the distribution without calling it the future
A percentile describes the trials you generated from one source ledger and one rule. It is not a guaranteed boundary. The smallest simulated ending value is not the worst event that can happen, and the largest drawdown is not a stress limit unless the scenario design explicitly makes it one.
- Compare methods: a large gap between permutation and replacement results tells you that composition assumptions matter.
- Inspect tails: ask which source outcomes dominate the lower-end trials instead of treating the percentile as self-explanatory.
- Preserve failures: do not discard trials because a loss sequence looks unrealistic after it appears.
- Keep sizing honest: path-dependent sizing can change future outcome amounts, so a simple fixed-outcome shuffle may no longer reproduce the strategy’s mechanics.
- State omissions: gaps, liquidation rules, latency, liquidity limits, and structural market changes remain outside the simulation unless modeled directly.
Keep an unseen period outside the resampling loop
If the Monte Carlo review influences the strategy, sizing, or risk rules, the source ledger has joined the selection process. Preserve a later or otherwise unseen period for one frozen evaluation. The out-of-sample backtesting workflow explains how to separate selection evidence from final evaluation evidence.
A weak unseen result is not repaired by producing more resampled paths from the older ledger. It is new evidence about the strategy, market, data, or assumptions.
Crypto backtest Monte Carlo analysis checklist
- Freeze one source run and export or transcribe an ordered ledger of closed, net outcomes.
- Verify units, costs, timestamps, open-position handling, and trade count.
- Use permutation first when the question is sequence alone.
- Use replacement sampling only with its empirical-distribution assumption stated.
- Test a justified block method when adjacent outcomes may be dependent.
- Predeclare metrics, percentiles, seed, and invalid-trial handling.
- Report the distribution and its assumptions, not a chosen path.
- Keep an unseen historical period outside the review loop.
Make sequence risk visible
A single backtest path can make stable aggregate metrics look more conclusive than they are. Resampling turns that hidden sequence dependence into a reviewable distribution, provided the method stays reproducible and the limits stay visible. Open Gimmer’s Running Backtest guide, document one historical source run, and add the resampling contract before you interpret the result.