Order-Book Depth vs Last Price: Why Most Prediction-Market Backtests Lie
A last price is one number. The order book is the liquidity that number sits on top of. Backtests built on the first quietly inflate every result.
A last price is the price of the most recent trade; order-book depth is every resting bid and ask with its size, on both sides. A backtest built on last-price data assumes you filled at that price with zero slippage — but real fills walk the book, paying the spread and consuming size at progressively worse levels. That gap is why depth-blind backtests systematically overstate edge.
What each one actually tells you
| Question | Last price | Order-book depth |
|---|---|---|
| What was the most recent trade? | Yes | Yes (top of book ± trades) |
| What's the spread right now? | No | Yes |
| How much size can I fill at the touch? | No | Yes |
| What slippage will a larger order pay? | No | Yes |
| Would my resting order have filled? | No | Yes (with queue modelling) |
How a depth-blind backtest inflates returns
Assume a market shows a last price of 0.50. A last-price backtest fills your buy at 0.50 and your sell at 0.50. In reality the book might be 0.48 bid / 0.52 ask — so a marketable buy pays 0.52 and a marketable sell receives 0.48. That four-cent round-trip spread, on a contract that pays at most 1.00, is enormous, and it compounds over every trade in the backtest.
Add slippage on larger orders, which walk past the touch into thinner levels, and the picture worsens. None of this is visible without the book, so a depth-blind backtest reports an edge that evaporates the moment it trades real size.
It's the same story on Polymarket and Kalshi
On Polymarket, the CLOB carries a bid/ask book per outcome; the spread and resting size are exactly what a marketable order pays and consumes. On Kalshi, the binary contract has a yes/no book up to 100 levels per side; the same spread-and-slippage logic applies, and spreads tend to widen into settlement.
Either way, the discipline is identical: backtest against the recorded book, both sides, every level — not a last print. DepthFeed serves that full depth for both venues in one schema, so the same backtest code reads either market.
Key takeaways
- 01Last price hides the spread, the resting size, and the slippage of a real order.
- 02Marketable orders walk the book and fill worse than the touch; the book is the only way to see that.
- 03Depth-blind backtests overstate edge and the error compounds across trades.
- 04The same logic applies to Polymarket's CLOB and Kalshi's yes/no book alike.
DepthFeed serves the full Polymarket & Kalshi order book over a REST API and live WebSocket. Free Explorer tier, no card.
Start free