Backtests often assume, “A signal appeared, so I bought at this price.” Real execution depends on whether enough liquidity is available at that price, how much queue is ahead of the order, and where the market has moved by the time the order reaches the exchange.
A quoted price does not guarantee your execution price
Even if the best ask is 100, your entire order may not fill there if available depth is smaller than your order size. The remainder may execute at worse prices. A limit order controls price, but it may not fill at all or may fill only partially because of queue position.
Latency is about event ordering, not just being a few milliseconds slower
The key is to preserve the order of signal creation, order decision, and exchange arrival. If a backtest uses quote information generated after the order decision, the result is already using future information, no matter how sophisticated the fill model looks.
A fill model is an assumption, not a fact
Without market-by-order data, the exact queue position usually cannot be reconstructed. It is safer to compare conservative and probabilistic fill models and test sensitivity than to treat one assumed fill rule as fact.
Execution assumptions are part of the result and should be disclosed with it.
A return chart alone does not show how realistic the execution assumptions were. Order type, fees, slippage, partial-fill handling, and latency assumptions must be preserved with the result so it can be reviewed again.