Futures Order Book and Price-Time Priority Explained
Learn how a futures order book, queue position, price priority, time priority, product-specific matching algorithms, and cancel or replace requests affect a working order
Direct answer
A futures order book is a changing record of eligible buy and sell interest, not a reservation of a fill. Seeing a trade at your limit price does not prove that your resting order was first in line, active at that instant, or eligible for the quantity that traded. On CME Globex, matching determines the current prices opposite an aggressor and the quantity at the best price under business-rule priorities. If the incoming quantity does not fully satisfy the relevant displayed resting quantity, the product's assigned algorithm allocates it among resting orders; if it does, CME distributes the fill in time priority. FIFO uses price and time, so the earlier order at the same price has priority where FIFO applies; CME Globex also uses other product-specific allocation methods, so no universal “first in, first filled” rule applies to every product. A public depth screen can be an aggregated Market by Price feed rather than an order-level view, and a cancel or modify request remains a request until the order system confirms its final state. This guide uses CME Globex examples; another venue, product, feed, or broker can use different rules and displays.
The order book is live interest, not a promise of executable size
An order book shows buy and sell interest at price levels while orders are entered, matched, modified, canceled, or expire. It is a current market record, not a contract between the displayed quantity and a later incoming order. Between the screen update a person sees and the exchange processing an order, another participant can trade, cancel, modify, or add interest.
This is why a chart touch, last-trade print, best bid, or displayed offer cannot by itself establish that a particular working limit order should have filled. Start by separating the exact contract month, session, side, price, quantity, and timestamps. Futures market orders and limit orders explains why a limit protects a price boundary but can remain working rather than complete an execution.
The depth view itself may be limited. CME describes Market by Price as an aggregated format that shows total quantity and number of orders for price levels, while Market by Order can show anonymous individual orders and full depth for users who receive that feed. A platform's visible ladder can therefore omit the information needed to establish a customer's precise queue place.
Better price comes first; same-price allocation is product-specific
At a price that can trade, a better price is considered before a worse price. Once an incoming order reaches a best price level, CME first checks whether its quantity fully satisfies the relevant displayed resting quantity. If it does not, the product's matching algorithm determines how the incoming quantity is distributed among eligible resting orders; if it does, CME distributes the fill in time priority. CME's current Globex materials list platform algorithms including FIFO, allocation, pro-rata, configurable, and threshold pro-rata. The exact futures product's assigned algorithm controls, so a platform algorithm or step should not be treated as a universal futures rule.
FIFO is a specific rule, not a synonym for every futures market. Where FIFO applies, price and time are the criteria: resting orders at the same price are filled in entry-time order. In other product configurations, size, a pro-rata component, or another stated product rule can affect the allocation. Check the current matching specification for the exact product rather than carrying a queue rule from another contract or venue.
That distinction explains a common question: “The market traded at my price—why was I not filled?” The trade may have satisfied earlier eligible interest, allocated quantity under a different rule, been too small to reach the order, occurred before the order became working, or concerned a different contract, session, or price record. An accepted order that has not filled is not automatically an error. Futures order rejected versus not filled separates an inability to enter an order from an order that entered the market but did not receive an execution.
A generic depth screen does not reveal your exact queue position
Even an order-level feed is not the same thing as a public promise of priority. CME's Market by Order documentation says individual orders are anonymous; a participant's private OrderID can be used to determine that participant's place in the priority queue, while a PriorityID is used to sort the book. Market by Price does not let participants determine individual queue position with high accuracy.
The data feed, platform, permissions, processing delay, and exact time at which the screen was viewed all matter. Do not infer your own exchange sequence from a chart, a total quantity at one price, or a broker display that may aggregate or delay the book. Confirm the order's exchange acknowledgement and status in the account record. If queue-position information is available, treat it as a live operational detail that can change as the book changes, not as a fill guarantee.
Cancel and replace requests can change both state and priority
Pressing cancel does not retroactively remove an order from a match that already occurred, and it does not establish a cancellation until the trading system processes and acknowledges it. CME distinguishes a pending cancel confirmation from a canceled order that has actually been pulled from the book. A modification can likewise be pending while a fill occurs.
CME lists several modifications that change an order's book priority, including an account change, quantity increase, order-type change, price change, stop-trigger change, and minimum-fill change. Other modifications and their effects should be verified for the exact order and venue rather than assumed from a generic “replace” button. A stop order has an additional state before it becomes eligible to enter its post-trigger path; futures stop orders and stop-limit orders explains why a trigger and a completed exit are different events.
Reconcile a nonfill from the order record, not the screen alone
For a working or unexpected order result, record the exact symbol and contract month, side, limit or trigger fields, original and modified quantities, exchange acknowledgement, status transitions, timestamps with time zone, executions, remaining quantity, time in force, session, and the market-data source being compared. Then check the product's matching algorithm and the broker's order report.
Market controls can alter when and how orders interact. Trading pauses, price limits, price-band controls, and product-specific availability can make a displayed price or order state misleading when viewed outside its precise market context. Futures price limits and circuit breakers explains why a market control is not a promise that an exposure can trade at a chosen price.
This is an order-book mechanics guide, not an instruction to place or cancel a futures order. The current product rules, exchange specification, broker route, and final order record govern an actual execution.
Common questions
Why did futures trade at my limit price without filling my order?
The trade may have filled earlier eligible orders, allocated a small quantity under the product's matching rule, happened before your order was working, or referred to a different contract, session, or price record. Use the exchange acknowledgement, order status, timestamps, and matching specification to reconcile it.
Do all CME futures use price-time priority?
No. FIFO uses price and time, but CME Globex supports several matching algorithms and the applicable allocation can differ by product and market configuration. Confirm the current rule for the exact instrument.
Does pressing cancel guarantee that my futures order cannot fill?
No. A cancel request is not final until the trading system processes and acknowledges it. An order can be pending cancellation or modification while market events occur. Check the final status and executions in the order record.