← All posts
25 June 2026 · NoxarQuant

Why Your Backtest Lies: Regime-Dependency Explained

Most traders treat a profitable backtest as proof. It usually isn't. A backtest can be perfectly accurate about the past and still tell you almost nothing about whether your edge will survive — because of a problem most retail tools never mention: regime dependency.

The setup that fooled you

Imagine you traded Solana through 2024. Your IB_BREAKOUT setup printed money. You backtest it, resample it, run the numbers — strong, consistent, profitable.

Here's the catch. Every one of those trades happened in roughly the same market regime: high volatility, strong uptrend, risk-on. Your backtest is a faithful record of how that setup performed in that regime. It is silent on how it would perform in a 2022-style downtrend, a low-volatility chop, or a liquidity crunch — because you have no trades from those regimes to test against.

A backtest can only ever evaluate the conditions present in your data. If your data is concentrated in one regime, your "robust edge" is robust to that regime only. The confidence is real; the generalisation is imaginary.

Why resampling doesn't fix it

A common response is to run a Monte Carlo — resample your trades thousands of times and look at the distribution of outcomes. This is genuinely useful, but it does not solve regime dependency, and it's important to understand why.

Bootstrap resampling reshuffles the trades you actually took. If all your trades are high-volatility uptrend trades, every simulated "alternate history" is just a re-ordering of high-volatility uptrend trades. The simulation cannot conjure a bear-market trade you never made. So a tight, confident Monte Carlo cone on a single-regime sample is measuring robustness to ordering — not robustness to regime change. Those are different questions, and conflating them is how over-confidence creeps in.

How to actually catch it

Three things help, in increasing order of usefulness:

1. Use a chronological split, not a random one. Split your history by time into an earlier training portion and a held-out, out-of-sample portion you only look at last. If your edge worked early and died later — exactly what regime change looks like — the out-of-sample portion will show degradation. A random shuffle would hide this by mixing the regimes back together.

2. Tag every trade with the regime it was taken in. Session, volatility, trend, momentum. Once each trade carries its market context, you can see how concentrated your sample is. If the overwhelming majority of your trades are high-volatility uptrends, that's a flashing sign your edge is only validated for one slice of market conditions.

3. Be honest about coverage. The strongest thing a trader can know is the boundary of their own evidence: "this edge is proven in high-vol uptrends, and I have no idea what it does anywhere else." That sentence is worth more than any confident-looking equity curve, because it tells you exactly when to size down.

The honest takeaway

A backtest is descriptive, never predictive. It describes what your past trades say about themselves under the conditions they were taken in. The moment you read it as "this will keep working," you've crossed from analysis into hope.

The fix isn't a better backtest. It's knowing the regimes your edge has actually been tested in — and treating everything outside that boundary as unproven.


NoxarQuant tags every trade you import with the market regime it was taken in — session, volatility, momentum, and trend — then validates your edge on a chronological out-of-sample split so regime-dependent failures show up instead of hiding. It's descriptive analysis of your own trades, not financial advice. See how it works.

Run this on your own trades →

For informational purposes only. Past performance is not indicative of future results. Not financial advice.