We’re often asked why live strategies don’t always produce the same results as simulations and backtests. Under many conditions, the results should be close - or even similar - but there are several important factors that can cause divergence between them, even when running simultaneously.
Key Differences Between Backtest, Simulation, and Live Modes
No Execution
Backtests and simulations aren’t connected to a broker and don't place real trades. Especially when testing a large trade on a low-volume asset, live execution can impact the market in ways that aren’t reflected in non-execution modes.Partial Fills
In live mode, a limit order may only be partially filled if there's limited supply. In simulations and backtests, orders are always filled in full, which doesn’t reflect real market liquidity.Slippage
Slippage occurs when an order is filled at a different price than expected. This can happen in live trading due to low volume, price movement, or latency. Since no actual trades occur in simulations or backtests, slippage is not present there. (See our dedicated article on slippage).Price Source
Live and simulation modes use real-time data from brokers. However, different brokers may source their data from different providers, which can result in slight variations in price.Price Type
Each mode and broker may use different price types—some use the last traded price, others use bid/ask or mid-prices. In some cases, backtest price types may differ from those used in live or simulation, which can explain performance gaps.Execution Price
Since no execution happens in backtests or simulations, Capitalise.ai generates the execution price based on the last traded price provided by the broker. In live mode, the actual execution price depends on how the broker handles its order book.Different Periods
Backtests currently default to a 90-day lookback. If you’re comparing live/simulation strategies to a backtest, ensure the strategy periods and execution times match - especially if using time-sensitive conditions, bar-based percentages, or trailing SL/TP.P/L Reference
Exit conditions like "take profit," "at loss," or "trailing stop" are based on P/L—not the asset price. If strategies are run on different brokers or modes, differences in entry prices or trade sizes can impact P/L behavior and trigger exits at different times.Data Corrections
Backtest data may include historical corrections—such as price adjustments, canceled trades, or corporate actions (e.g. stock splits)—which aren't reflected in live or simulation modes.Fees Offset
Some brokers subtract fees from the traded amount. For example, if you place a $100 trade and the broker charges $1, only $99 is actually used for the trade. Simulations and backtests do not account for this.Order Type Handling
Market orders are simple and usually execute immediately across all modes. However, limit orders (LMT) require a specific price. Because of data differences across brokers and modes, some LMT orders may execute in one environment and not in another.
From Backtest to Real
Backtests are an excellent tool for evaluating a strategy’s past performance, but they can't predict future results. It's natural for there to be discrepancies between backtest and real-time performance.
Use backtests to optimize performance - like testing different bar sizes (5m vs. 15m) or switching between MAs and EMAs.
When using price references in backtests, a disclaimer will notify you that data is processed on a 1-minute basis—not in real-time ticks. This can lead to delays in condition checks and order execution compared to live or simulation.
Backtest limitations to consider:
No real execution (Point 1)
No slippage (2)
Fixed strategy period (7)
Data corrections not reflected in live/simulation (9)
No broker fee handling (10)
Varying behavior for LMT orders (11)
While live and simulation strategies use real-time prices from brokers, backtest data comes ad-hoc from exchanges and data vendors, which may cause differences in price types and values (Points 5 & 6).
From Simulation to Real
Simulations are useful for testing strategies using real-time data without executing trades. They offer a closer approximation to live performance than backtests, but there are still differences to note:
No execution means that your strategy won’t influence the market (Point 1). In live trading, large trades can impact low-volume assets.
Orders in simulations are optimally filled, unlike live strategies, which can be subject to partial fills or missed entries (Points 2, 11).
Other differences include slippage (3), execution prices (6), strategy period (7), how P/L is measured (8), and fees (10), which aren't accounted for in simulations.
Comparing Across Brokers
Different brokers use different:
Data sources (Point 4)
Price methodologies (Point 6) — e.g. bid/ask vs. last traded price vs. mid-price
These differences can lead to variations in execution price and strategy performance, even for the exact same logic.
Conclusion
This article outlines the differences between backtests, simulations, and live trading on Capitalise.ai. While these differences exist, a strong, well-built strategy should not be significantly impacted by them.
Automated trading - like manual trading - isn’t an exact science. Market behavior and technical limitations can cause variation. The key is to build a resilient strategy that can withstand these natural differences across modes and brokers.