The Test Bench › Opening range breakout › Study 007
Can two trading platforms give different backtest results for the same strategy? We tested it on SPY.
STUDY 007Backtest results can differ between platforms even when the strategy is the same. One reason is the price data: two platforms can show slightly different prices for the same stock in the same five minutes, usually by a few cents.
We ran the same opening range breakout strategy on SPY in GU Analyser and on another established trading platform, over the same three months. Both used $10,000 and the same trading costs. Each platform used its own price data.
Both backtests lost money, but by different amounts: -0.33% on the other platform and -1.77% in GU Analyser.
To check that GU Analyser wasn't reading the strategy differently, we ran the other platform's version on GU Analyser's price data. The two made the same trades on 79 of the 80 days. That points to the price data as the main reason for the difference.
This strategy waits for a whole 5-minute candle above the opening range high, so a few cents can decide whether a trade happens, and when. For strategies on 5-minute, 15-minute or hourly charts, the price data is part of the backtest.
| Measure | The other platform | GU Analyser |
|---|---|---|
| Total result | -$32.77 (-0.33%) | -$177.02 (-1.77%) |
| Winning trades | 56.5% (39) | 49.2% (29) |
These are historical analyses. They are neither advice nor forecasts. A backtest describes what a rule would have done over a past window. It does not say what the rule will do next.
The rule is the one Study 005 tested: a 15-minute opening range, an entry after a whole 5-minute candle trades above the range high, a 70% sale at a first target, and the rest sold at a second target, at breakeven, below the range or at the end of the day. Signals are read at a candle's close and filled at the next candle's open. The opening range breakout page explains the setup.
| Part | Setting |
|---|---|
| Stock and candles | SPY, 5-minute candles |
| Window | 23 June 2026 to 25 September 2026 |
| Starting capital | $10,000 |
| Position size | All of the account in whole shares |
| Commission | 0.02% of each purchase and each sale, no slippage |
| Price data | Each platform's own 5-minute candles |
The other platform's figures are the ones its strategy tester displayed for this run. GU Analyser's are its engine's trades over the same window, sized and charged the same way.
| Measure | The other platform | GU Analyser |
|---|---|---|
| Total result | -$32.77 (-0.33%) | -$177.02 (-1.77%) |
| Closed trades (a partial sale counts as one) | 69 | 59 |
| Profitable closed trades | 56.5% (39) | 49.2% (29) |
| Profit factor | 0.91 | 0.63 |
The other platform reports a partial sale as its own closed trade, so a position with a 70% sale counts twice. GU Analyser's figures are counted the same way: its 59 closed trades are 40 positions and 19 partial sales. The total result does not depend on how trades are counted: -0.33% against -1.77%. The other platform also reports a maximum drawdown, computed on its own basis; it is left out.
A different result could come from a different rule rather than different data. To check, the rule as written for the other platform was translated line by line and run on GU Analyser's SPY candles from 1 April 2026 to 25 September 2026. On the 80 days both versions traded, they chose the same entry, partial-sale and exit candles on 79, and so the same fill prices. The one that differed, 2 April 2026, falls inside GU Analyser's indicator warm-up at the start of the data, as does 1 April 2026, when only the replay traded and which is therefore outside the 80 days.
The replay checks the rule logic, not every setting of the other platform. It indicates that the different input candles are the main source of the difference in section 2.
US stocks trade on more than a dozen exchanges and on off-exchange venues. A 5-minute candle summarises the trades in those five minutes, and which trades it counts depends on the feed:
Each of these can contain legitimate trades. GU Analyser's 5-minute candles come from a single exchange, through a data provider whose documentation does not state which trade conditions its bars include. The feed behind the other platform's candles in this run was not identified.
Over Study 005's six months, GU Analyser's 5-minute candles for five stocks were compared with the daily high and low from a separate end-of-day data source. The daily prices are dividend-adjusted, so both series were put on the same scale using each day's close, and a difference counts only above 0.02%.
| Stock | Days | Highest 5-minute high above the daily high | Lowest 5-minute low below the daily low |
|---|---|---|---|
| SPY | 117 | 32% | 17% |
| AAPL | 121 | 36% | 25% |
| MSFT | 120 | 24% | 26% |
| NVDA | 120 | 33% | 33% |
| JPM | 120 | 19% | 16% |
This is consistent with differences in how the two sources are built and which trades each counts, such as odd lots, venue coverage or filtering. The underlying trade records were not inspected, so the cause on any single day is not established, and the table does not show that either source is wrong.
The opening range high is the highest high of the first three 5-minute candles, and the entry needs a later candle's low above it. A source with higher highs sets a higher range; a source with lower lows makes fewer candles clear it. Either can move the entry by one candle or more, which changes the entry price at the next open and every exit that follows. Rules built on short-period highs and lows can be moved by the few trades that set those extremes.
An independent analysis ran one opening range breakout backtest on data from several providers and reported materially different outcomes, with more than a threefold gap between the best and worst result in some settings (Concretum Group, 2026).
Historical candles record trades that took place between other traders. A backtest assumes an order fills at a candle's price. A real order buys at the ask and sells at the bid, reaches the market after a delay, waits in a queue, can move the price, and may fill only in part. Both runs above charged a fixed commission and no slippage, so neither result includes these effects.
The same intraday rule returned -0.33% on one platform and -1.77% on the other, each on its own 5-minute data. Given the same candles, the two versions of the rule made the same decisions on 79 of 80 days, which points to the input candles as the main source of the difference. Because the rule depends on short-period highs and lows, small differences between feeds can change whether and when it trades.
This is one SPY case study over three months. It does not estimate how large feed effects usually are. For a rule whose measured average trade is close to zero, as Study 005's was at -0.013% before costs, running the backtest on more than one credible data source is a useful check.
The other platform's figures are reported as its strategy tester displayed them.
Using this research. The analysis, tables and figures on this page are GU Analyser Ltd’s own work, published under a Creative Commons BY-NC 4.0 licence. You are welcome to quote it, cite it and build on it, with credit and a link. Suggested credit: GU Analyser, The Test Bench, Study 007, linking to guanalyser.com/test-bench/price-feed-backtest/. For commercial use, ask us at hello@guanalyser.com.
Rebuild the test
Build the same opening range breakout on the strategy canvas and backtest it on 5-minute candles. Running a strategy on more than one source of prices shows how much of its result depends on the data.
Create a free account and build your own strategies → or read how the Opening Range is calculated →The method: how a backtest is built