guide · Performance & testing
Monte Carlo Trading Simulation: Build and Read a Scenario Study
A Monte Carlo trading simulation generates many hypothetical paths from a stated model. It can show how sequence, costs and sizing assumptions change outcomes. It cannot establish that historical trades represent the future or predict a guaranteed range of returns.

Key points
- Shuffling without replacement and sampling with replacement answer different questions.
- Track path-dependent drawdowns, not only ending balances.
- More simulated paths reduce simulation noise, not errors in the underlying model.
Scope and assumptions
- All numerical paths are hypothetical. This guide explains model design and interpretation; it does not report a simulation of TradeCopier customer returns.
Start with a question that a model can answer
“Will this strategy make money?” is too broad for a simulation to settle. A more precise question is: under this historical outcome distribution, this sizing rule and this cost assumption, how often do modeled paths cross a specified drawdown boundary during 100 trades? Every phrase defines part of the calculation and limits what the result means.
NIST’s introduction to Monte Carlo uncertainty analysis describes the general method of defining uncertain inputs, assigning distributions and repeatedly sampling a model. The trading workflow below is an educational application of that method, not a NIST validation of a trading system.
Write the question before running the model. Otherwise it is easy to browse dozens of outputs and select the one that looks most reassuring. Keep a short specification with the dataset, horizon, position-sizing rule, cost treatment and measures to report. That document is part of the result.
Three approaches that should not share one vague label
| Approach | What changes | Main limitation |
|---|---|---|
| Shuffle existing trades | Order of the same observations | No new trade amounts are created |
| Bootstrap with replacement | Which historical observations repeat or disappear | The sample may omit future risks |
| Model-based scenarios | Outcomes sampled from explicit assumed distributions | Distribution and dependence assumptions may be wrong |
Shuffling asks how the order of a fixed set of trades affects the path. With fixed dollar outcomes and no intervening constraints, the final total is unchanged. With fixed fractional returns, the final product is also unchanged by order, provided the same returns apply and no path-dependent rule intervenes. Drawdown and the timing of a boundary breach can still differ.
Bootstrapping samples with replacement, so a large winner can appear twice or not at all in a path. It changes the composition as well as the sequence. A block bootstrap samples groups of adjacent observations to retain some dependence. The block length then becomes another assumption to document and test.
A small example you can check without software
Begin with $1,000 and four fixed-dollar trade results: +$100, +$100, −$100, −$100. In the sequence win, win, loss, loss, equity becomes $1,100, $1,200, $1,100 and $1,000. The decline from the $1,200 peak to $1,000 is about 16.67%.
In the sequence loss, loss, win, win, equity becomes $900, $800, $900 and $1,000. The decline from the starting peak is 20%. Both paths end where they began. A study showing only ending equity would conceal the different drawdowns and the fact that the second path crosses a $850 floor.
This example assumes trades continue regardless of that floor. If the modeled rule stops trading when equity falls below $850, the second path ends at $800 and the later hypothetical wins are never taken. The stopping rule changes the final distribution, which is why execution and risk rules belong inside the simulation rather than in a footnote.
Prepare inputs before generating paths
Use net outcomes or model costs explicitly, but do not mix the two. Keep an immutable copy of the source records. Record how partial exits are grouped, how open positions are valued and how missing records are treated. A simulation based only on exported winners will reproduce a data problem very precisely.
If sizing changes between trades, distinguish dollar outcomes from R multiples or percentage returns. Resampling old dollar profits into a different account balance may imply a sizing rule you did not intend. For copied accounts, incorporate each destination’s minimum volume and volume-step rounding when those constraints affect whether a position can exist.
Do not treat many positions opened during one market event as automatically independent. A currency shock can affect several correlated pairs at once. Sampling each trade separately may break that relationship and understate clustered losses. The sampling unit might need to be a day, event or complete portfolio return instead of a single fill.
A reproducible simulation procedure
- Load a versioned sample and validate units, signs, dates and costs.
- Set initial equity, path length, number of paths and a reproducible random seed.
- Draw outcomes using the selected sampling method.
- Apply the sizing and execution assumptions to update equity.
- Update the equity high, drawdown and any stop conditions after each step.
- Store ending equity, maximum drawdown, breach flags and any other preselected measures.
- Summarize distributions and rerun important sensitivity cases.
A seed allows another reviewer to reproduce the same pseudorandom run when the software and inputs are unchanged. It does not make the model realistic. Record the implementation version too, because a later change to rounding or cost timing can alter outputs even with the same seed.
Read a percentile carefully
If the fifth percentile of ending equity is $8,500 in a simulation, that describes the model’s generated distribution. It does not establish a 95% real-world guarantee that the account will finish above $8,500. The distinction matters most when the historical sample missed unusual events or when the strategy’s behavior changes.
Similarly, the 95th percentile of maximum drawdown is a statistic of the modeled paths. It is not the largest possible loss. Report the range of scenarios and the assumptions that produced them. Label graphs as simulated and identify the source period so a reader cannot mistake the chart for actual account history.
Keep the counting unit explicit. Imagine a hypothetical run of 10,000 paths that monitors a floor without stopping at it. If 180 paths cross the floor at least once, the modeled ever-breached proportion is 1.8%. If only 65 finish below it, the ending-below proportion is 0.65%. These answer different questions because some paths recover. A path that crosses three times counts once in the ever-breached measure, although a separate event counter could record three crossings. Changing the model to stop at the first breach requires recalculating the paths and their ending outcomes.
When comparing two studies, check whether they use the same horizon. The probability of encountering at least one adverse event can change as the number of trials grows. A 20-trade study and a 500-trade study cannot be interpreted as interchangeable risk estimates simply because both contain 10,000 paths.
Use sensitivity tests to expose fragile conclusions
Try a separate higher-cost scenario, a scenario with worse fills, and a scenario that preserves blocks of clustered outcomes. Consider an explicitly hypothetical extreme loss outside the historical range. Keep the base case intact and explain why each alternative was chosen. Avoid repeatedly adjusting inputs until the result becomes comfortable.
For example, if average historical net outcome is only slightly positive, a small extra per-trade cost may reverse it. The expectancy calculator can check the average arithmetic, while simulation explores possible paths under the chosen model. These tools complement one another; neither supplies a verified future edge.
More iterations do not repair a weak model
Increasing the number of paths helps stabilize estimates within the selected model. It does not add missing market regimes, correct look-ahead bias or prove an assumed distribution. NIST’s work on consistency in Monte Carlo uncertainty analyses is a useful reminder that simulation results themselves need a reproducibility and uncertainty check.
A practical report can show how key estimates change between successive run sizes and across seeds. If an extreme percentile moves widely, avoid reporting several decimal places. Precision in formatting should follow the strength of the evidence, not the number of digits the software can print.
Connect scenario analysis to operational review
Use the study to identify what needs testing: a minimum-size constraint, a correlated group of accounts or a loss-control rule. TradeCopier’s configuration options and equity controls should be evaluated against the actual supported account setup. The software does not turn a hypothetical path into a forecast.
Save the original trades, model settings, summary statistics and limitations with the review journal. An independent reviewer should be able to trace a surprising output to a particular assumption. That traceability is the main benefit of a disciplined scenario study: it makes uncertainty and decisions visible.
Questions and answers
Does a Monte Carlo simulation predict my future balance?
No. It produces hypothetical outcomes conditional on the supplied data and model. The future can contain market conditions and operational events that the model does not include.
Why does shuffling trades sometimes leave final profit unchanged?
Reordering the same fixed-dollar results leaves their sum unchanged. Reordering the same fixed fractional returns leaves their product unchanged absent path-dependent constraints. Drawdown can still change.
Are more simulation runs always more accurate?
More runs can reduce random sampling noise within a model. They do not repair biased data, incorrect distributions, missing dependence or unrealistic execution assumptions.
Sources and further checks
Use the current source for your exact instrument, account and platform. Referencing a general specification does not establish support for every TradeCopier workflow.
- NIST: New Tool to Account for Uncertainty · Checked September 19, 2026
- NIST: Consistency in Monte Carlo Uncertainty Analyses · Checked September 19, 2026
Found an error? Send a correction with this page's address and a primary source. See our editorial standards for how we handle examples, claims and revisions.

