Monte Carlo is not one model. It is a way to repeat calculations under a specified random mechanism. If that mechanism is wrong for the question, running more simulations only gives a more precise answer to the wrong question. Trade shuffling, independent resampling and block bootstrap all rearrange historical information, but they preserve different features and answer different questions.
A trader usually wants to know something practical. How severe could the drawdown become? How often might a challenge hit its target before its loss limit? Could a bad week repeat? Would a longer sequence produce a positive result? Before choosing a menu option, write down which uncertainty you intend to study. This makes the simulation interpretable and prevents you from treating every collection of colored paths as the same evidence.
Three methods, three preserved structures
Trade shuffling permutes the observed trades without replacement. Every path contains each historical trade exactly once, only in a different order. Independent bootstrap samples trades with replacement. Some historical trades may appear several times and others may not appear at all. Block bootstrap resamples consecutive groups, preserving ordering within each sampled group while changing how the groups are assembled.
| Method | Preserves | Changes |
|---|---|---|
| Shuffle without replacement | The full set of trade outcomes | Order and path-dependent metrics |
| Independent bootstrap | The empirical single-trade distribution in the resampling model | Counts, order and terminal result |
| Block bootstrap | Local sequences within sampled blocks | Block selection, transitions and terminal result |
None of these methods creates a genuinely new historical crisis. They recombine available observations under assumptions. If the archive contains no examples of a liquidity shock, a bootstrap cannot infer the missing execution dynamics from nothing. Add separate, clearly specified stress scenarios when the research question requires risks absent from the observed sample.
Why shuffled paths can finish at the same profit
Take twelve fixed-dollar trade outcomes. Six win $100 and six lose $100. The total is zero. Every permutation still contains six wins and six losses, so every untruncated fixed-size shuffled path ends at zero profit. That is expected behavior, not a bug. The order changes maximum drawdown, time underwater and the timing of a target or barrier crossing.
One arrangement alternates a win and a loss six times. Measured from the initial equity and subsequent peaks, its maximum drawdown is $100. Another places all six wins first and then all six losses. It reaches a $600 profit before returning to zero, creating a $600 drawdown from its peak. Identical trade outcomes, identical terminal profit, six times the maximum drawdown.
| Order | Final profit | Maximum closed-trade drawdown |
|---|---|---|
| Win, loss, repeated six times | $0 | $100 |
| Six wins, then six losses | $0 | $600 |
| Six losses, then six wins | $0 | $600 |
If a rule stops trading at a $300 drawdown, however, the full twelve-trade path is no longer always realized. A path may terminate before recovering. The realized terminal result can therefore differ across shuffles once you apply stopping rules. Keep “unrestricted terminal profit” separate from “profit when the account stops.” They are outputs of different processes.
When compounding does and does not change the result
For a fixed set of percentage returns applied multiplicatively with no constraints, final wealth is initial wealth times the product of one plus each return. Multiplication is commutative, so pure reordering still leaves terminal wealth unchanged. It is not enough to say that compounding automatically makes shuffled terminal results different.
Order starts to affect terminal wealth when the sizing rule has additional path dependence. Examples include changing risk after a drawdown, rounding to whole contracts, stopping after a target, applying margin limits or withdrawing money after a threshold. These mechanisms need to be implemented explicitly. Otherwise a simulation may attribute variation to a sizing policy that was never actually modeled.
Check the units of the archive before resampling. Dollar results from trades executed at different position sizes cannot be interpreted as equal-risk outcomes without normalization. If using R-multiples, define the initial risk for every trade, including contract value and stop distance. Do not normalize away gaps and slippage that are part of the actual risk.
Independent bootstrap introduces composition uncertainty
Return to the twelve-trade example. An independent bootstrap draws twelve times with replacement from the six wins and six losses. Under this empirical model, each draw has a 50% chance of winning. The number of wins is binomial with twelve trials. Unlike a shuffle, a resampled path can contain nine wins and three losses, or two wins and ten losses.
Simulated profit = $100 × wins − $100 × losses
= $200 × wins − $1,200
Mean profit under this model = $0
Standard deviation = $100 × sqrt(12) ≈ $346.41
The chance of an all-losing path is one divided by 4,096, about 0.0244%, under the independent empirical model. That calculation is not a claim about the true market probability. It illustrates what the resampling mechanism assumes. A real strategy with clustered losses can have different tail behavior even when its overall historical win rate is 50%.
Increasing the simulated horizon repeats the empirical distribution for longer. It does not prove that the strategy remains stationary for that duration. A five-year forecast built from three months of trades is a strong modeling assumption, not five years of evidence.
Why blocks matter
Strategies often experience local dependence. A trend-following system may produce a cluster of losses in a choppy session. Several trades may share the same news shock or volatility environment. Sampling each trade independently can break those clusters and make paths look smoother than a realistic sequence.
Block bootstrap keeps short runs together. A moving-block design draws consecutive blocks from the historical series and joins them until the desired length is reached. Other designs wrap around the sample or randomize block length. Politis and Romano's stationary bootstrap uses randomly sized blocks. These are related approaches, not identical settings with different names.
For an intraday strategy, the natural block may be a session rather than a fixed number of trades. Resampling complete sessions can preserve the relationship between trade count, costs and daily limits. A session containing ten trades should not silently become ten independent days. Keep timestamps or relative intraday positions if the evaluation depends on daily resets or time-based rules.
Choosing block length without optimizing the answer
Short blocks preserve little dependence. Long blocks preserve more local structure but provide fewer distinct building pieces. There is no universal rule that five trades or ten days is always right. The choice should reflect the dependence in the process and the uncertainty you want to represent.
A practical diagnostic compares a small predefined set of lengths, such as one, three, five and ten sessions, provided the sample is long enough. Report how drawdown and barrier probabilities change. If conclusions depend entirely on one convenient length, the result is fragile. Do not choose the length that produces the highest pass rate and present it as a neutral model choice.
Watch for artificial block joins. The last observation of one block may be followed by a completely different volatility state from another. This is a feature of resampling, but it can create unrealistic transitions for strategies with stateful positions or long indicator memory. Resampling completed portfolio returns differs from rerunning the strategy on stitched price bars. The latter can manufacture discontinuities that trigger nonexistent signals.
Portfolio simulation needs synchronized observations
If two strategies trade the same underlying market, bootstrap their aligned return vectors together. Independently shuffling each strategy destroys their historical co-movement and can exaggerate diversification. A sampled session should carry the outcomes of all included strategies for that session, including legitimate zero exposure.
The same principle applies to positions within one strategy. Overlapping trades can share risk. Resampling them as independent tickets can create impossible levels of concurrency or erase a shared shock. For capital and drawdown analysis, regularly sampled portfolio equity increments may be a better starting point than a bag of individual closed trades.
Validate the simulator before interpreting it
- Confirm the original path reconciles with the stored trade ledger.
- Check that fixed-size shuffles preserve unrestricted terminal profit.
- Check that independent resampling changes composition as expected.
- Confirm that blocks preserve their internal order and intended calendar structure.
- Apply target, loss and time-limit rules in the documented event order.
- Store the random seed, sample identity, horizon and simulation count.
- Compare numerical uncertainty with uncertainty about the underlying model.
A seed makes a simulated experiment reproducible. It does not make the assumed process realistic. If a pass-rate estimate is 40% in 10,000 independent simulated paths, the rough Monte Carlo standard error is the square root of 0.4 times 0.6 divided by 10,000, about 0.49 percentage points. Historical sampling error and execution-model uncertainty can be much larger than that numerical error.
Keep unfinished paths visible when a finite horizon is used. A path that has hit neither target nor failure is not a failure by definition unless the program actually expires at that point. The denominator and outcome definitions must match the question. This distinction is particularly important when comparing simulations with different lengths.
Choose the method from the decision
Use shuffling to isolate ordering sensitivity of a fixed observed set. Use independent bootstrap when independent empirical draws are a defensible approximation and composition uncertainty matters. Use blocks when local dependence should remain in the simulated paths. For more complex nonstationary processes, none of these may be sufficient alone.
The best report makes the mechanism easy to explain in one sentence. “These paths reorder the same trades” is different from “These paths resample complete sessions with replacement.” Once that sentence is clear, traders can interpret the equity fan, drawdown distribution and pass-rate estimate without mistaking model output for new market evidence.