Futures mechanics
Level I vs Level II futures data: reading quotes and depth
Read what the quote shows, what deeper levels add, and what neither can tell you about a future fill.
Level I shows the best quote; Level II adds depth
Level I futures data provides the last traded price and the best bid and ask. Level II adds displayed buy and sell quantities at multiple prices. The additional levels help you inspect resting orders beyond the current quote; they do not make the feed inherently faster.

The best bid is the highest displayed buying price; the best ask is the lowest displayed selling price. The last traded price records an execution, so it is a different observation from either current quote.
Sources: Tradovate: Level I and Level II data · NinjaTrader: quote and depth columns
Read the quantity at each price separately
Consider this hypothetical snapshot of one futures contract. Quantities are contracts, and the three rows are selected depth levels rather than a claim about any provider’s full feed.
The best quote is 6,000.00 bid for 5 contracts and 6,000.25 offered for 2. The next two ask levels bring the displayed sell quantity across all three prices to 2 + 3 + 5 = 10 contracts. That does not mean 10 contracts are offered at 6,000.25. These are resting quantities at the instant shown, not completed trades or a forecast of your execution.
| Bid quantity | Bid price | Ask price | Ask quantity |
|---|---|---|---|
| 5 | 6,000.00 | 6,000.25 | 2 |
| 8 | 5,999.75 | 6,000.50 | 3 |
| 10 | 5,999.50 | 6,000.75 | 5 |
Sources: NinjaTrader: quote and depth columns
Displayed depth is not traded volume
A depth column describes quantities currently advertised at prices. A volume-at-price column counts contracts that have already traded over its stated period. NinjaTrader’s SuperDOM, for example, separates bid/ask depth from its Volume column, which counts executions during the session.
A change in a depth number alone does not establish how many contracts traded. Nor does the visible book necessarily disclose an order’s total size: where iceberg orders are supported, only their display quantity is public. CQG’s example shows an order with 1,000 total contracts but only 100 visible.
Sources: NinjaTrader: traded volume and queue estimates · CQG: total versus displayed iceberg quantity
Aggregated levels do not reveal individual orders
Market by Price (MBP) combines quantities at each price. A displayed total of 40 contracts alone cannot tell you whether that is one 40-contract order or several smaller orders, much less how many different traders submitted them.
CME’s MBP format includes aggregate quantity and order count, while its Market by Order (MBO) format supplies individual order sizes and anonymous order IDs for more detailed queue analysis. An order ID is not a trader’s identity. Level II is a broad label: confirm whether your provider and platform deliver aggregated price levels or individual orders.
Sources: CME: Market by Price and Market by Order · dxFeed: aggregated levels and individual orders
Match the data to the display you use
Start with the information your actual view needs. A best-quote and last-trade display uses top-of-book information; a depth ladder or liquidity heatmap needs quantities beyond the best quote. Indicator requirements can differ even within one platform: Tradovate says certain Order Flow+ indicators require Level II.
Do not assume Level II always means ten rows or the entire available book. NinjaTrader’s SuperDOM defaults to ten depth levels, but the exchange/data-provider combination limits how many can be displayed. Enlarging the window or changing a display setting cannot supply depth missing from the feed.
For Boxcar’s current data packages and activation steps, use the linked Level II support guide. Market depth does not change an account’s stage: Boxcar evaluations and simulated-funded accounts use virtual funds, and live trading requires express designation under a separate written agreement. A simulated order does not gain a real place in the exchange queue merely because the screen shows live depth.
Sources: Tradovate: Level I and Level II data · NinjaTrader: quote and depth columns · Boxcar: Level II packages and activation · Boxcar: evaluation, simulated-funded and live stages · NinjaTrader: traded volume and queue estimates