Market Data

Level 2 Market Data Explained: Reading Order Book Depth in Futures

What Level 2 market data really shows, how to read order book depth and imbalance, and where the edge is — and isn't — for futures traders and quants.

Open a depth-of-market ladder for the first time and it looks like the cockpit of a plane: columns of numbers flickering on both sides of the price, sizes appearing and vanishing faster than you can read them. That ladder is Level 2 market data, and understanding what it actually represents — and what it doesn’t — separates traders who use it from traders who get mesmerized by it.

Related: what Level 2 and other CME market data costs · L1 vs L2 vs L3 explained.

Level 1 vs Level 2: top of book vs the whole stack

Every futures contract has an order book: a list of resting buy orders (bids) below the current price and resting sell orders (offers/asks) above it, each at a specific price and quantity.

  • Level 1 gives you the top of the book only — the best bid, the best ask, and the last trade. It answers “what can I buy or sell right now, and at what price?”
  • Level 2 gives you depth: the bid and ask quantities at multiple price levels stepping away from the touch. It answers “how much size is waiting at each price, and which side is heavier?”

A simplified Level 2 snapshot for an E-mini contract might look like this:

Bid sizeBid priceAsk priceAsk size
1425275.005275.2588
3105274.755275.50205
4775274.505275.75331

The “touch” — the best bid and ask — is the top row. Everything below is depth. In this snapshot there is more size resting on the bid than the offer, a simple order book imbalance that some traders read as short-term buying pressure.

What depth actually tells you

Three things are genuinely informative in the book:

  1. Where liquidity sits. Large resting orders at a round number act like soft walls — places where price may pause because there is real size to absorb it. Knowing the next big level up and down is useful context for stops and targets.
  2. Imbalance. The ratio of total bid size to ask size in the visible book correlates, weakly and fleetingly, with the direction of the next few ticks. Heavier bids, slight upward drift; heavier offers, slight downward drift. Emphasis on weak and fleeting.
  3. How fast it refreshes. A book that rebuilds instantly after a sweep is deep and liquid; one that stays thin after a print is fragile and prone to fast moves.

What depth does not tell you

Here is the part most “DOM trading” courses gloss over. The order book is not a list of intentions — it is a list of resting orders that can be cancelled in microseconds. That has consequences:

  • Liquidity is largely fleeting. A huge bid can evaporate the instant price approaches it. Size you can see is not size you can necessarily trade against.
  • Some of it is noise on purpose. Orders placed only to be pulled — to create the appearance of pressure — are part of the landscape. You cannot reliably tell a genuine resting order from a fleeting one by looking at the ladder.
  • The visible edge is often sub-spread. This is the quiet killer for retail. In our own research on E-mini and Nasdaq futures, order book imbalance does carry real predictive information about the next move — but the median move it predicts is smaller than the bid-ask spread. A maker sitting on the queue might harvest it; a taker crossing the spread to act on it pays more in cost than the edge is worth.

That last point is worth sitting with. “Order book imbalance predicts price” can be simultaneously true and untradeable depending on whether you cross the spread. A lot of seductive DOM strategies die exactly there.

Order flow: pairing depth with the tape

Depth on its own is a static photograph. Order flow adds the verb. By combining Level 2 (resting liquidity) with the trade feed — time and sales, with the aggressor side of each print — you can see not just where size rests but where it is being consumed. Aggressive buyers lifting offers while the bid stack holds is a different story than the same imbalance with no trades going through.

This is why serious order-flow work needs both channels, aligned on the same clock:

from tickstream import Stream

# subscribe to depth + trades on one connection, same timestamp base
for evt in Stream("sk_live_…").subscribe("ES", channels=["book", "ticks"]):
    if evt.channel == "book":
        imbalance = sum(evt.bids_size) / max(sum(evt.asks_size), 1)
    else:  # a trade printed
        ...

The non-negotiable requirement is a single, consistent timestamp across both channels. If your book updates are stamped in milliseconds and your trades in microseconds, you cannot reliably say which came first — and sequencing is the entire point of order flow.

Backtesting order book strategies

If you want to test a depth-based idea properly, snapshots won’t cut it. You need historical Level 2 data that captures every book update with accurate timestamps, so you can replay the book as it actually evolved. Three things separate a real backtest from a fantasy:

  • Queue position. Being filled on a resting order depends on where you are in the queue, which a naive backtest ignores — turning losing strategies into “winners.”
  • Latency. The book you’d actually see is delayed by your network path; acting on the instantaneous book overstates every edge.
  • Spread and fees. As above, sub-spread edges evaporate once you pay to cross.

A feed that archives full-depth Level 2 history — not just top-of-book — lets you do this honestly. tickstream keeps complete order-book history (every level, microsecond-stamped, back to 2019 for the major contracts) for exactly this reason: so depth strategies can be tested against what the book really did, spread and all, before any capital is at risk.

The honest summary

Level 2 market data is real information, not magic. It shows you where liquidity rests, how imbalanced the book is, and how quickly it heals — genuinely useful context. What it is not is a push-button signal, because the liquidity is fleeting, some of it is intentionally misleading, and the cleanest statistical edges in the book tend to live inside the spread where takers can’t reach them.

Use it to understand structure, pair it with the tape for order flow, and if you want to trade on it, prove the edge survives queue position, latency and the spread on real historical depth first. That discipline is the difference between reading the book and being read by it.

Frequently asked questions

What is the difference between Level 1 and Level 2 market data?

Level 1 shows only the best bid and best offer (the top of the book) plus the last trade. Level 2 shows the full depth of the order book — the resting bid and ask quantities at multiple price levels away from the touch — so you can see how much size is queued above and below the current price.

Is Level 2 data useful for retail futures traders?

It can be, but with caveats. Depth reveals where resting liquidity sits and how imbalanced the book is, which is genuine information. However, much of that liquidity is fleeting and some is deliberately misleading, so reading the DOM is a skill, not a signal generator. It is most useful combined with trade (time-and-sales) data, not in isolation.

Can you backtest order book strategies?

Yes, but only with historical Level 2 data that reconstructs the book over time, not just snapshots. You need every book update with accurate timestamps to replay how depth evolved. Many edges that look strong on snapshots disappear once you account for queue position, latency and the bid-ask spread.

Keep reading

Market Data

CME Crypto Futures Data Is Live: Real-Time BTC & ETH Tick Streams (BTC, MBT, ETH, MET)

tickstream now streams CME Bitcoin and Ether futures in real time — BTC, Micro Bitcoin (MBT), ETH and Micro Ether (MET) as raw trade prints with size and aggressor side, over the same WebSocket and REST API as NQ and ES. What CME crypto futures data gives you that spot-exchange feeds can't, contract basics, code examples, and honest notes on what we don't have yet.

Market Data

CME Data Feed Providers Compared (2026): Direct, Vendor APIs, Retail Platforms

An honest side-by-side of the realistic ways to get CME futures data in 2026: direct MDP 3.0, institutional vendors, usage-billed developer APIs, retail platform feeds like Rithmic/CQG, IQFeed-style desktop feeds, and flat-priced developer APIs — what each costs, what you actually get, and who each path is for. Including where our own product fits and where it doesn't.