Infrastructure livebacktestingliquidityrisk-managementtrading

Liquidity Assumptions That Can Skew Backtest Results

Explore how unrealistic liquidity assumptions such as infinite depth, zero slippage, and static spreads can mislead backtests and learn practical ways to

By the Felix team6 min read

Produced with automation, then checked by deterministic quality rules and an independent source-grounded review before publication.

Key takeaways
  • 01Assuming infinite order‑book depth removes realistic price impact from the model.
  • 02Treating slippage as zero can overstate profitability and hide execution risk.
  • 03Static spread assumptions ignore market conditions that widen during volatility.
  • 04Neglecting order‑size limits can produce signals that would be rejected in live trading.
  • 05Incorporating realistic liquidity constraints improves the reliability of backtest conclusions.

When a backtest treats the market as if it had unlimited depth, zero slippage, and unchanging spreads, the simulated performance often looks better than what would be achievable in a live environment. Those simplifying assumptions ignore the fact that large orders move the order book, that execution prices can differ from quoted prices, and that transaction costs vary with market conditions. The result is a set of performance metrics that are systematically biased upward.

Why Do Traders Often Assume Infinite Depth?

Many backtesting frameworks load a historical price series and then assume that any trade can be filled at the exact price shown for that bar. This approach is computationally cheap and easy to implement, but it removes the reality that each trade consumes available liquidity. When a trader places a sizable order, the best‑available price levels are exhausted and the next levels must be reached, which pushes the execution price against the trader. Ignoring this price impact can make a strategy appear scalable when, in fact, it would suffer significant slippage on larger positions.

How Does Zero Slippage Distort Results?

Slippage is the difference between the expected execution price and the actual fill price. It arises from latency, order‑book dynamics, and market volatility. If a backtest assumes zero slippage, it removes a key source of loss, especially for high‑frequency or momentum strategies that trade frequently. The omission inflates win rates and can hide the fact that many trades would have been marginally profitable only because the model ignored realistic execution costs.

What Are the Risks of Using Static Spreads?

A static spread assumes the bid‑ask gap stays constant over the entire backtest period. In reality, spreads widen during periods of high volatility, low volume, or news releases. By keeping spreads fixed, a backtest underestimates transaction costs during the most challenging market conditions. This bias is especially harmful for short‑term or high‑frequency strategies that rely on tight spreads to generate profit.

How Can Order‑Size Limits Influence Backtest Fidelity?

Real exchanges enforce maximum order sizes, minimum tick increments, and other constraints such as iceberg orders or hidden liquidity. A backtest that ignores these limits may generate signals that would be rejected or only partially filled in a live market. The resulting performance numbers therefore overstate the strategy’s capacity and can lead to over‑allocation of capital.

  • Apply a depth model that reduces the fill price proportionally to the ratio of order size to average daily volume.
  • Introduce a volatility‑adjusted slippage function rather than a fixed value.
  • Use dynamic spreads that widen when a volatility threshold is breached or when market depth falls below a defined level.
  • Enforce exchange‑specific order‑size limits, minimum lot sizes, and tick rules within the simulation.
  • Validate results against a benchmark and incorporate realistic fee and slippage assumptions as described in Understanding the Limits of the Sharpe Ratio in Backtesting.
A backtest that pretends the market is always liquid is like a flight simulator that never experiences turbulence-useful for basics, but insufficient for real‑world preparation.

Remaining Uncertainties After Liquidity Modeling

Even with sophisticated liquidity models, uncertainty remains around data quality, unexpected macro events, and the behavior of other market participants. Backtests are read‑only analyses; they cannot capture the full spectrum of operational risk that appears when orders are actually placed. Continuous monitoring and post‑trade analysis remain essential when moving from simulation to live execution.

Frequently asked questions

Can I rely on backtest profitability if I ignore liquidity constraints?

No. Ignoring depth, slippage, and spread dynamics typically inflates profitability and hides execution risk, making the results unreliable for live deployment.

How do I model depth without overcomplicating the simulation?

A common approach is to apply a linear or square‑root impact model that reduces the fill price based on the ratio of order size to average daily volume.

Is it enough to add a fixed slippage value to each trade?

A fixed slippage value can be a starting point, but it does not capture variability caused by changing volatility or market conditions. Adaptive slippage models are more realistic.

What sources can help me understand the limits of common performance metrics?

Reading articles such as [Understanding the Limits of the Sharpe Ratio in Backtesting](/blog/sharpe-ratio-limitations-backtest) and [Why Fees and Slippage Change a Trading Backtest](/blog/why-fees-and-slippage-change-trading-backtest) provides deeper insight.

Should I always benchmark my strategy against a market index?

Benchmarking helps reveal whether excess returns are due to skill or unrealistic assumptions. A proper benchmark should be subject to the same liquidity constraints as the strategy.

Sources and verification

Product claims in this article were checked against these first-party references. Runtime status remains authoritative for current availability.

Build with Felix now.

Felix infrastructure is live through MCP and the API. The full trading app launches September 17.

Keep reading

Not a brokerage, exchange, or investment adviser. Not investment advice. Trading involves risk, including total loss.