# Monte Carlo Price Paths

Also known as: trade-sequence Monte Carlo.
A Statistics concept (Simulation) in the LuxAlgo Library, with 5 indicator implementations.

## What are Monte Carlo Price Paths?

Monte Carlo price paths are simulated futures: many hypothetical forward trajectories generated by drawing random per-bar returns and compounding them from the current price. The draws come either from a fitted model (a drift and a volatility, often estimated from recent [realized volatility](https://www.luxalgo.com/library/concept/realized-volatility/), driving a geometric random walk) or from bootstrapping, meaning resampling or shuffling the instrument's own historical returns. No single path is a forecast. The information lives in the ensemble: percentile envelopes, the distribution of terminal prices, and frequencies such as the share of paths that touch a level within the horizon.

The method itself is mid-century physics: Stanislaw Ulam and John von Neumann developed Monte Carlo simulation for nuclear calculations in the 1940s, and finance adopted it in stages, from Phelim Boyle's 1977 use in option pricing to the risk engines and retail charting tools of later decades. The trading application inherits the original premise unchanged: when a system is too messy to solve analytically, simulate it many times and read the distribution of outcomes.

A second flavor, trade-sequence Monte Carlo, applies the same idea to a strategy instead of a market: reshuffling or resampling the order of historical trades shows the range of equity curves and drawdowns the same trade population could have produced. Both flavors inherit their assumptions. Independent draws ignore volatility clustering and autocorrelation, so standard implementations tend to understate how extreme and how clustered real moves can be.

The craft is in the generator. Model-based paths (drift plus volatility) are transparent but Gaussian-thin in the tails; simple bootstrapping keeps the observed distribution's shape, including its skew and fat tails, but scrambles the time structure; block bootstrapping resamples runs of consecutive returns to preserve some [autocorrelation](https://www.luxalgo.com/library/concept/autocorrelation/) and clustering. Whichever generator is chosen, the ensemble is a statement of the assumptions, which is why serious use starts from a measured [return profile](https://www.luxalgo.com/library/concept/distribution-of-returns-profiling/) rather than defaults.

## How to read a Monte Carlo projection on a chart

Monte Carlo overlays render as path fans or percentile envelopes projected from the current bar; the reading discipline is about the ensemble, never the strands.

1. Check the generator first: a drift-and-volatility model, an IID bootstrap, or a block bootstrap produce differently shaped fans from the same history.
2. Read the percentile envelope, not individual paths: the bands state where the stated fraction of simulated futures remained, under the assumptions.
3. Use the terminal distribution for horizon planning: its spread and skew describe the range of end states the generator considers plausible.
4. Read touch frequencies where offered: the share of paths reaching a stop or target within the horizon is the simulation's answer to a trade-planning question.
5. Rerun before trusting: if the statistic you care about shifts materially between batches, the run count is too small for that statistic.
6. Distrust the extreme tails on principle: independence assumptions understate clustered, violent sequences, so real markets escape simulated ranges more often than the labels imply.

## How traders use it

- To draw forward scenario envelopes: percentile bands over the simulated ensemble form [probability cones](https://www.luxalgo.com/library/concept/probability-cones/) that frame how far price could plausibly travel within a horizon under the stated volatility.
- To estimate level-touch odds: the fraction of paths that reach a stop or target within N bars serves as a rough, assumption-dependent probability for trade planning.
- To stress a backtest: shuffling trade order, one of the standard [resampling tests](https://www.luxalgo.com/library/concept/resampling-tests/), reveals how much of the realized drawdown was sequence luck and what worse orderings look like.
- To size soberly: the simulated drawdown distribution, rather than the single historical drawdown, sets risk budgets, since the one path history happened to print is just one draw from the ensemble.
- To score outcomes after the fact: locating the realized move as a [percentile](https://www.luxalgo.com/library/concept/percentile-rank/) of the simulated distribution turns 'was that normal?' into a number, the simulation-based cousin of a [z-score](https://www.luxalgo.com/library/concept/z-score/) surprise reading.

## Monte Carlo paths vs related projection tools

- **Probability Cones** (https://www.luxalgo.com/library/concept/probability-cones/): Cones are the envelope view: percentile bands widening with horizon, sometimes computed analytically from a volatility number. Monte Carlo generates the underlying ensemble explicitly, which also yields touch odds, terminal distributions, and path-dependent statistics a closed-form cone cannot provide.
- **Exponential Smoothing Forecasts** (https://www.luxalgo.com/library/concept/exponential-smoothing-forecasts/): Smoothing forecasts extrapolate one dead-reckoning line from recent level and trend. Monte Carlo refuses the single line on principle, answering with a distribution instead; one is a point forecast to measure surprise against, the other a range to plan risk within.
- **Distribution-of-returns Profiling** (https://www.luxalgo.com/library/concept/distribution-of-returns-profiling/): Profiling measures what returns have been; Monte Carlo spends that measurement by compounding draws into forward paths. The profile is the input, the ensemble is the output, and the simulation is only as honest as the profile it draws from.

## FAQ

### Are Monte Carlo price paths a prediction of where price is going?

No. Each path is one random draw under explicit assumptions about drift, volatility, and independence, and the useful output is the range and its frequencies, not any single trajectory. The results are only as reliable as those inputs: a volatility regime shift, or the clustering that independent draws ignore, will make real outcomes fall outside the simulated ranges more often than the labels suggest.

### How many Monte Carlo simulations are enough?

Enough that the statistic you care about stops moving when you rerun the batch. Central estimates such as the median path stabilize with modest run counts, while rare-event frequencies deep in the tails need far more. More runs only reduce simulation noise, though: they sharpen precision around the model's answer and do nothing to fix a wrong volatility or distribution assumption.

### Should paths be generated from a model or by bootstrapping?

Model-based generation (drift plus volatility driving a geometric walk) is transparent and easy to stress, but its Gaussian draws underweight tails. Bootstrapping resamples the instrument's own returns, keeping skew and fat tails, at the cost of scrambling time structure; block bootstrapping preserves short runs to keep some clustering. Many practitioners run both and treat disagreement as information about assumption sensitivity.

### Why do real moves escape Monte Carlo ranges more often than the percentiles claim?

Because the standard generators assume independent draws from a stable distribution, and markets violate both parts: volatility clusters, returns correlate serially, and regimes shift. A 95% envelope built on those assumptions is really '95% if the assumptions hold.' Block bootstraps and regime-aware inputs narrow the gap; nothing closes it, which is why envelope breaches deserve attention rather than surprise.

### What is trade-sequence Monte Carlo?

The strategy-side application: take a backtest's population of trade results and resample or reshuffle their order many times, producing the distribution of equity curves that same edge could have generated. Its headline output is the drawdown distribution, since the historical drawdown is a single draw. It underpins honest risk-of-ruin and position-sizing arithmetic for systematic traders.

### Can Monte Carlo simulations time entries?

Not usefully. The ensemble has no opinion about direction beyond its drift input, and its percentiles move slowly with conditions. Where simulations earn their keep is planning around an entry decided elsewhere: sizing from simulated drawdowns, gauging whether a target is a low-frequency outcome, and framing how long a position may need to reach a level within tolerable adverse excursion.

## Implementations in the Library

- Monte Carlo Shuffled Projection (LuxAlgo): https://www.luxalgo.com/library/indicator/monte-carlo-shuffled-projection/
- Monte Carlo Mean Reversion Heatmap (LuxAlgo): https://www.luxalgo.com/library/indicator/monte-carlo-mean-reversion-heatmap/
- Monte Carlo Expected Move Distribution (LuxAlgo): https://www.luxalgo.com/library/indicator/monte-carlo-expected-move-distribution/
- Predictive Monte Carlo Engine (LuxAlgo): https://www.luxalgo.com/library/indicator/predictive-monte-carlo-engine/
- Anchored Monte Carlo Shuffled Projection (LuxAlgo): https://www.luxalgo.com/library/indicator/anchored-monte-carlo-shuffled-projection/

## Related concepts

- Probability Cones: https://www.luxalgo.com/library/concept/probability-cones/
- Resampling Tests: https://www.luxalgo.com/library/concept/resampling-tests/
- Random-entry Baselines: https://www.luxalgo.com/library/concept/random-entry-baselines/

---

Source: https://www.luxalgo.com/library/concept/monte-carlo-price-paths/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/