Skip to content
On this page
  1. Key Takeaways
  2. What It Is
  3. The Intuition
  4. How It Works
  5. Worked Example
  6. Common Mistakes
  7. Frequently Asked Questions
  8. Sources
  9. Disclaimer
← All concepts
Trading MechanicsAdvanced5 min read

Queue Position Modeling: Estimating Fill Probability

Queue position modeling estimates the probability that a resting limit order will fill before it has to be cancelled or repriced. It is a core problem for market makers, execution algorithms, and any strategy that posts passive liquidity for a fee rebate.

Key Takeaways

  • Queue position modeling estimates fill probability as a function of how much size sits ahead of your order, depletion rates, and the time you can keep it resting.
  • With 8,000 shares ahead, an 800 share-per-second depletion rate, and a 30-second horizon, the fill probability is approximately 72 percent using a simplified exponential model.
  • Investors often assume high fill probability means profitable, but an order filled at the front of the queue is often the one caught by an adverse price move.
  • Understanding queue position lets institutional traders decide whether to post at a price level or pay the take fee to execute immediately, balancing cost against fill certainty.

Key Takeaways

  • Queue position modeling estimates fill probability as a function of how much size sits ahead of your order, depletion rates, and the time you can keep it resting.
  • With 8,000 shares ahead, an 800 share-per-second depletion rate, and a 30-second horizon, the fill probability is approximately 72 percent using a simplified exponential model.
  • Investors often assume high fill probability means profitable, but an order filled at the front of the queue is often the one caught by an adverse price move.
  • Understanding queue position lets institutional traders decide whether to post at a price level or pay the take fee to execute immediately, balancing cost against fill certainty.

What It Is

When you post a limit order at a price level, you join a first-in-first-out queue behind every order that arrived before you. Your queue position is the cumulative size ahead of you at that level. Queue position modeling is the quantitative estimation of how that position evolves and the probability your order reaches the front and fills before adverse events (price moves through your level, or you decide to cancel).

The output is typically a survival probability: the chance your order fills as a function of your starting position, current order flow rates, and the time horizon.

The Intuition

Two orders posted at the same price are not equivalent. The first arrival fills before the tenth. Even if both orders are economically identical, the earlier one has a much higher probability of execution. That is why market makers fight for queue position with aggressive posting, optimised colocation, and order types that maximise displayed priority.

Queue position also predicts adverse selection. The orders that consume the queue ahead of you tend to do so when the price is about to move against you. By the time you reach the front, the move may already have started, meaning the next fill is more likely to come at a price you no longer want. Modelling this trade-off (fill probability vs. adverse selection cost) is what separates a profitable market maker from a losing one.

How It Works

The basic survival framework treats queue depletion as a stochastic process. Let:

Q   = initial size ahead of you (queue position)
mu  = rate at which marketable orders consume the queue
theta = rate at which orders ahead of you cancel
lambda = rate at which new orders join behind you

In a simple Poisson approximation, the time until your order reaches the front is the time for Q units of "ahead size" to disappear, where each unit disappears at combined rate mu + theta per share. The expected fill time is approximately Q / (mu + theta).

A more useful form is the fill-before-move probability. Let tau_fill be the random time until your order fills and tau_move the random time until the inside quote moves away from your price. Then:

P(fill before move) = P(tau_fill < tau_move)

Closed-form expressions exist under birth-death Markov assumptions (see Moallemi-Yuan 2017 and Cont-Stoikov-Talreja 2010). In practice, traders fit empirical hazard rates from ITCH-level data and condition on the current state of the book (depth, recent trade direction, time of day).

A simplified approximation many desks use as a sanity check:

fill_prob ~ exp( -Q / (mu_eff * H) )

where mu_eff is the effective queue-depletion rate (adjusted for the share of cancellations that come from in front vs. behind) and H is the trader's holding-time horizon.

Worked Example

A market-making desk wants to post 500 shares at 50.00 on a stock with the following empirical statistics from the morning session:

Current depth ahead of new arrivals = 8,000 shares
Trade rate at 50.00 = 600 shares per second
Cancellation rate ahead = 200 shares per second
Effective depletion mu_eff = 800 shares per second
Holding horizon H = 30 seconds

Queue position at submission = 8,000.

fill_prob ~ exp( -8000 / (800 * 30) )
         ~ exp( -0.333 )
         ~ 0.717

The desk expects roughly a 72% chance of executing the 500-share order at 50.00 within 30 seconds before either cancelling or being adverse-selected by a price move. A different stock with depth ahead of 30,000 shares and identical depletion rate would yield exp(-30000/24000) ~ 0.287, a 29% fill probability. The same posting strategy gives very different results based on queue depth.

Common Mistakes

  1. Treating displayed depth as the true queue. Hidden and reserve orders sit in the queue without showing on the feed. Two books with identical displayed depth can have very different effective queues. ITCH-level event data, which captures order add/cancel/execute messages, gives a closer estimate than top-of-book quotes.

  2. Ignoring conditional cancellation. Cancellations are not memoryless. When the contra-side starts to consume the inside, traders ahead of you may cancel quickly to avoid being run over. A naive Poisson model overestimates fill probability during precisely the moments it matters most.

  3. Confusing fill probability with profit. A 90% fill probability on an adverse-selected order is worse than a 50% fill probability on a flat-mid order. Combine fill probability with expected post-fill price impact to get a usable signal. Otherwise, you optimise to be filled exactly when you should not have been.

  4. Forgetting refresh penalties. Iceberg replenishments and order modifications often reset timestamps and send orders to the back of the queue. Strategies that fail to track these resets persistently overestimate their effective queue position.

  5. Ignoring fee tiers. Maker rebates change the economics of waiting. A 30 mil maker rebate on a tight-spread name can flip the trade-off, making it worth posting even at low fill probability. Strategies that model queue position without modelling rebates leave money on the table.

Frequently Asked Questions

Q: What is queue position modeling in simple terms? Queue position modeling estimates how likely your resting limit order is to fill before the price moves away, based on how many shares are ahead of you in the queue and how fast that queue is being depleted by trades and cancellations.

Q: How does queue position modeling affect investment decisions? It tells you whether a passive limit order will likely fill within your time horizon or whether you should pay the taker fee and execute immediately. Getting this trade-off right reduces execution cost across thousands of trades per year.

Q: What is a real-world example of queue position modeling? 8,000 shares sit ahead of your order. The queue depletes at 800 shares per second. Your maximum wait is 30 seconds. The model estimates a 72 percent fill probability. With 30,000 shares ahead instead, the same setup gives only a 29 percent chance, making the market order the better economic choice.

Q: How can investors use queue position modeling effectively? The simplified exponential model in this article provides a sanity check before any large passive order. For production execution algorithms, use ITCH-level order event data to calibrate empirical arrival, cancellation, and trade rates by time of day.

Q: How is queue position modeling different from order book depth analysis? Order book depth is a snapshot. Queue position modeling is dynamic, estimating how quickly the depth will be consumed relative to your time horizon and the probability that you are at the front when demand arrives.

Sources

  1. Cont, R., Stoikov, S., and Talreja, R. (2010). "A Stochastic Model for Order Book Dynamics." Operations Research, 58(3), 549-563. https://www.columbia.edu/~ww2040/orderbook.pdf
  2. Moallemi, C. and Yuan, K. (2017). "A Model for Queue Position Valuation in a Limit Order Book." https://www.columbia.edu/~ccm2102/papers/queue.pdf
  3. SEC Staff. "Equity Market Structure Literature Review Part II: High Frequency Trading." https://www.sec.gov/marketstructure/research/hft_lit_review_march_2014.pdf
  4. Nasdaq. "TotalView ITCH 5.0 Specification." https://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/NQTVITCHspecification.pdf

Disclaimer

This article is educational content only and is not financial advice. Nothing here is a recommendation to buy, sell, or hold any security. Consult a licensed advisor before making investment decisions.

The IWP Substack

You understand the concept. Now see it applied.

The Investing With Purpose Substack turns ideas like this into research and risk-managed trade plans on real stocks, updated every week.

Read on Substack (opens in a new tab)

Related concepts