Back to knowledge
Data & research8 min read

Robustness

Monte Carlo stress testing for trading systems

Use resampled trade sequences and perturbed costs to explore how much of a backtest depends on a favourable path.

Why order matters

The same set of winning and losing trades can produce very different drawdowns when the order changes. Monte Carlo resampling can expose sequences that were absent from the original history and help estimate a range of possible paths.

It does not predict the future. It tests whether the selected risk level depends on one lucky historical ordering.

Stress more than the trade order

Useful stress tests can increase spread and slippage, delay entries, remove a portion of the best trades, perturb parameters, or apply a realistic loss cluster. Each stress should represent a specific uncertainty, not an arbitrary attempt to make the result fail.

  • Resample trade order while preserving the trade distribution.
  • Add conservative execution costs.
  • Test delayed or missed fills.
  • Measure the probability of exceeding the chosen drawdown limit.

Use the output to set risk

The most useful output is often a drawdown or recovery distribution, not a single simulated return. Choose a risk level that remains acceptable across conservative scenarios and document which scenario caused the decision.

If a small change in costs turns a comfortable system into a breach risk, the system needs more evidence before deployment.

Discuss this article

Ask a setup question, share a backtest, or compare notes with other algorithmic traders. Use a display name; your email remains private.

Create an account or sign in above to join the conversation.

Loading discussion…