Market Microstructure: Spreads, Depth, and Execution Quality
By Daniel Chau
Founder, NeuroBacktest
Understand how market microstructure affects backtests and live performance through spreads, depth, latency, and adverse selection.
Market microstructure is the hidden layer beneath the price chart. It determines how much you really pay to enter and exit, how quickly your orders fill, and whether your signal can be executed at all. Ignoring it turns a good backtest into a bad live strategy.
Spreads and Depth
The bid-ask spread is the immediate cost of trading. Liquid stocks have tight spreads; small-cap and after-hours markets can have wide spreads. Order book depth tells you whether your order size will move the price. A backtest that assumes mid-price fills ignores both.
Latency and Adverse Selection
Latency is the delay between signal generation and execution. In fast markets, prices move before your order arrives. Adverse selection means your fill often happens just before the market reverses. Both effects reduce realized performance compared to theoretical backtests.
Conservative Fill Assumptions
A robust backtest assumes worse fills than the signal price. Use the bid for sells and the ask for buys, and add a slippage buffer for size and volatility. If the strategy still works with conservative assumptions, it is more likely to survive live trading.
Test Microstructure in NeuroBacktest
With NeuroBacktest, you can model spreads and slippage in your backtests. Try: "Backtest a mean-reversion strategy on a small-cap universe with conservative fill assumptions and 0.2% slippage." The engine helps you separate theoretical edge from execution reality.
Frequently Asked Questions
What is market microstructure?▼
Market microstructure studies how prices form, including spreads, order book depth, and execution mechanics.
How do bid-ask spreads affect returns?▼
Spreads are a transaction cost. Wide spreads reduce net returns, especially for high-frequency strategies.
What is adverse selection?▼
Adverse selection occurs when your order fills just before the market moves against you, often because you are trading against better-informed participants.
How do you model latency in backtests?▼
Add conservative fill assumptions and assume execution at worse prices than the signal price.