What is Fill Probability?
Learn what fill probability is in trading, how limit orders get filled, which order-book factors matter, and why execution estimates can fail.

Introduction
Fill probability is the estimated chance that an order (usually a passive limit order) will actually execute at a given price within a chosen time horizon. That sounds simple, but it sits on top of a difficult market reality: seeing a price on the screen is not the same as trading at that price. In modern electronic markets, execution depends not only on the quoted bid and ask, but on where your order sits in the queue, how quickly the book is changing, how much opposing flow arrives, and whether the market moves away before your turn comes.
This is why fill probability matters. A trader choosing between a market order and a limit order is not just choosing between “pay the spread” and “save the spread.” They are choosing between certainty of execution and uncertainty of execution. Fill probability is the quantity that tries to measure that uncertainty. It is the bridge between price and execution.
At a practical level, fill probability shows up everywhere execution decisions are made. Algorithmic trading systems use it to decide how aggressively to post orders. Risk systems use it when estimating how fast a position can be unwound. Market makers use it to judge whether a quote is likely to trade before conditions change. And researchers model it because without some estimate of execution likelihood, the economics of passive trading cannot be understood.
The core idea is easy to state but subtle to use: a better price usually means a lower chance of filling quickly, while a worse price usually means a higher chance of filling quickly. Everything else in fill-probability modeling is an attempt to make that tradeoff precise in the actual mechanics of an order book.
Why do traders need fill probability?
| Order type | Execution certainty | Expected price | When to use |
|---|---|---|---|
| Market order | High (near-certain) | Worst (pay spread) | Urgent execution |
| Limit at touch | Medium (queue-dependent) | Better than market | Balanced urgency/price |
| Limit deeper | Low (unlikely short-term) | Best potential price | Low urgency / speculative |
Suppose you want to buy. A market order will likely execute immediately, but you cross the spread and accept the available offer prices. A limit buy order at the current bid may get a better price, but only if sellers arrive before the market rises or before someone else consumes the visible liquidity and the best ask moves away. A limit buy posted below the current bid may get an even better price, but the chance of execution may become very small.
So the real decision is not “market or limit” in the abstract. It is: is the expected price improvement from waiting worth the risk of not getting filled? Fill probability exists because that question cannot be answered from price alone.
This is the compression point that makes the topic click: a passive order is an option on future order flow. You place yourself in the queue and wait for the market to come to you. Whether that option pays off depends on what happens next in the book: incoming market orders, cancellations ahead of you, new orders improving the price, and quote changes that can make your order more or less relevant. Fill probability is an estimate of how likely that option is to convert into an actual trade.
Once you see it that way, many familiar execution ideas become easier to interpret. Queue position matters because it determines how much flow must pass before your order trades. Market depth matters because it measures how much resting volume is in front of you or opposing you. Volatility matters because faster price movement gives the market more chances to leave your order behind. Time horizon matters because a 70% chance of filling in one hour and a 10% chance of filling in one second describe very different execution situations even if they concern the same price level.
What does 'fill probability' mean in trading?
In the most common usage, fill probability means the probability that a limit order executes at its stated price or better within a specified period. The time horizon is part of the definition, not an afterthought. An order might have a high probability of eventually filling if left resting all day, but a low probability of filling in the next 100 milliseconds. Both statements can be true.
That is why fill probability should be thought of as a conditional statement of the form: given the current market state, what is the chance this order fills before some deadline or before some competing event occurs? The competing event may be calendar time running out, the opposite quote moving, the mid-price changing, or the trader canceling and re-posting elsewhere.
The phrase is used somewhat differently depending on context. In execution systems, it often means the probability of getting filled if I post here now. In academic microstructure models, it may mean the probability that a resting order at the bid executes before the ask quote moves or the probability that an order placed deeper in the book fills before the opposite best quote moves. In machine-learning settings, it is often tied to the full distribution of fill times, not just a single yes-or-no probability.
These are not contradictory definitions. They are different ways of asking the same underlying question: how likely is this order to trade, and how soon?
How do order-book mechanics determine whether a limit order fills?
To understand fill probability from first principles, start with a simple limit order book. At any moment, there is a best bid, a best ask, and queues of resting buy and sell orders at each allowed price. If you place a buy limit order, it can fill only if sell flow reaches your price. That can happen immediately if your limit price is marketable, or later if sellers arrive and hit your resting order.
For a passive order at the best bid, three forces largely determine whether it fills.
First, incoming contra-side marketable flow has to arrive. If sellers submit market sell orders or marketable sell limits, they consume the bid queue. Your order fills only after all volume ahead of you at that price has traded.
Second, queue position can improve even without trades if orders ahead of you cancel. This is one reason fill probability is not just a function of future trade volume. Cancellations ahead of you can effectively move you forward. Cancellations behind you do not help. New orders at the same price usually go behind you under price-time priority, but some venues and products use different matching rules, so queue dynamics are venue-specific.
Third, the market can move away before your turn arrives. If buyers become more aggressive and the ask is lifted, the best prices may shift upward. Your resting buy order may remain in the book, but now it is no longer near the touch. In practical terms, its near-term fill probability may collapse even though the order itself still exists.
This is why fill probability is inseparable from market microstructure. It depends on market depth, order-book imbalance, liquidity-provider behavior, tick size, and the exchange’s matching rules. A thick queue with little contra-side flow can have a low fill probability even at the best price. A thinner queue in an active market can have a much higher one.
Example: calculating fill probability for a limit buy order
Imagine a futures market trading with a best bid of 100.00 and a best ask of 100.01. You want to buy 20 contracts without immediately paying the ask, so you place a limit buy for 20 at 100.00. When your order reaches the exchange, there are already 80 contracts resting at 100.00 ahead of you.
At that moment, your order is not competing with the ask directly. It is competing with the queue in front of you and with time. For you to fill at 100.00, at least 80 contracts of sell flow must remove the earlier orders, and then 20 more must reach yours; unless some of that 80 is canceled first. If 30 contracts ahead of you cancel, now only 50 need to trade before your order begins filling. If a burst of sell market orders arrives, you may fill quickly. But if instead buyers become aggressive and start lifting the ask, the market may move to 100.01 by 100.02 before enough sell flow reaches your bid. Your order is still alive, but its practical execution chance over the next few seconds is much worse.
Now change only one thing: instead of joining the bid at 100.00, you post a buy order at 99.99. You have improved your potential price by one tick, but the mechanism changes sharply. Now the market must fall to you, or the 100.00 queue must disappear and then selling must continue. In many liquid markets, the probability of that deeper order filling before the market moves up is much smaller than the probability of filling at the best bid. Research on state-dependent order-book models makes this precise: fill probabilities for orders placed sufficiently deep in the book are often negligible for practical horizons.
That is the basic tradeoff in action. Price improvement is bought with lower execution probability.
Which factors most affect fill probability?
The factors often listed for fill probability are not just a checklist. They all matter because they affect one of two things: how fast opposing flow reaches your order, or how likely the market is to change state before that happens.
Distance from the current market price matters because each extra tick away usually requires more events to occur before your order becomes executable. A best-bid order may need only incoming sellers and some queue turnover. An order several ticks lower may need a price decline first. That compounds uncertainty.
Order size relative to market depth matters because a small order may fill after only modest flow, while a large order may require sustained opposing volume across time or multiple price levels. Fill probability is therefore not just about whether any fill happens, but whether the desired quantity fills.
Historical volume and time of day matter because order flow is not constant. Open, close, and scheduled news periods can have very different rates of submissions, cancellations, and price changes. A venue may look liquid in a daily average and still have very different short-horizon fill behavior at 9:35, 12:15, and 15:58.
Volatility matters because it changes the race between execution and displacement. Higher volatility can create more marketable flow, which might seem helpful, but it also increases the chance that the quote moves away before your queue position pays off. So volatility can increase uncertainty even when activity rises.
Order-book dynamics matter because visible depth is only a snapshot. The book is constantly being rebuilt. Queue depletion, replenishment, imbalance between bid and ask depth, hidden liquidity, Iceberg replenishment, and venue-specific matching all affect whether apparent resting liquidity is actually likely to interact with your order.
How is fill probability modeled: structural vs. machine-learning approaches
| Approach | Core assumption | Strength | Weakness |
|---|---|---|---|
| Structural microstructure | Queueing primitives and Poisson-like flows | Mechanistic insight, analytic results | Simplifying assumptions limit realism |
| Statistical / machine learning | Learn from historical features | Flexible, captures nonlinear patterns | May not generalize across regimes |
| Hybrid (structure + ML) | Model guides features; ML fits residuals | Balances interpretability and fit | More complex to implement |
There are two broad ways to model fill probability, and they differ in what they assume about the market.
The first approach is structural microstructure modeling. Here the market is represented as a stochastic system of queues. A classic example is the continuous-time limit order book model in which limit order arrivals, market order arrivals, and cancellations are treated as stochastic processes. In one influential formulation, orders at different distances from the best quote arrive with intensities that decline with distance, market orders arrive at their own rate, and cancellations occur at rates tied to queue size. Within that framework, researchers can compute conditional probabilities such as the chance that an order at the bid executes before the ask quote moves.
The appeal of this approach is that it tries to model the actual mechanism. Here is the mechanism in plain language: queues evolve because orders arrive, trade, and cancel. If those events can be represented mathematically, then execution probability becomes a first-passage problem; will the queue in front of you hit zero before the market state changes in some competing way? Analytical methods, including Laplace-transform techniques in some models, make those probabilities computable without pure brute-force simulation.
The second approach is statistical or machine-learning estimation. Instead of writing down a simplified queueing model and solving it, these methods learn from historical data. Inputs might include order-book levels, imbalance, recent trades, cancellation rates, volatility, and time-of-day features. The output may be a probability of fill by horizon, or a predicted distribution of fill times. Recent research uses survival analysis for exactly this reason: the key object is not only whether a fill occurs, but when the event occurs.
The strength of statistical models is flexibility. They can absorb richer state dependence and nonlinear patterns than many tractable analytical models. The weakness is that they may be less interpretable and can degrade when the market regime changes. A model trained in one asset class or one venue may not generalize well to another because queue behavior and hidden liquidity differ.
In practice, modern trading systems often combine both styles. The structural intuition says what signals should matter. The statistical layer estimates them from data in real time.
Why does queue position matter for fill probability?
| Queue position | Typical fill likelihood | Primary risk | Practical response |
|---|---|---|---|
| First in queue | Highest at that price | Adverse selection on reprice | Post and wait aggressively |
| Mid queue | Moderate; volume/cancels matter | Being skipped by cancellations | Reduce size or move price |
| Back of queue | Low short-term likelihood | Queue never depletes quickly | Use market or improve price |
A common misunderstanding is to treat fill probability as mostly a function of displayed depth at a price. But two traders posting at the same price do not have the same fill probability if they have different queue positions.
On many electronic venues, matching follows price-time priority: better prices fill first, and among equal prices, earlier orders fill first. This means your execution chance depends on the quantity ahead of you, not just the total at your level. A posted bid with 1,000 contracts visible at that price can be attractive or unattractive depending on whether you are first in line or 950 contracts back.
Official exchange documentation reinforces this operational reality even when it does not use the phrase “fill probability” directly. For example, CME Globex describes limit orders as remaining on the book until executed, canceled, or expired, and offers order types such as FAK and FOK that deliberately change the execution condition. Those choices alter the probability distribution of outcomes. An FAK order asks, in effect, whether executable liquidity exists now. A resting limit order asks whether executable liquidity will arrive before conditions change.
This is also where hidden and partially displayed liquidity complicate matters. Visible depth may not equal true executable depth. Iceberg replenishment can make a queue more durable than it looks; hidden contra liquidity can make fills happen sooner than visible data alone would predict. Conversely, visible liquidity can evaporate through cancellation just before a marketable order reaches it. Fill probability is therefore always an estimate based on incomplete observation.
How does the time horizon change fill probability?
The chosen horizon changes the meaning of the number. A 90% fill probability over a full trading session may be useless to a strategy that needs execution in 200 milliseconds. A 20% one-second fill probability might be excellent for a passive market-making strategy posting and canceling continuously.
This is why sophisticated models often produce a fill-time distribution rather than a single score. Once you estimate the distribution of time to fill, you can answer multiple practical questions: the chance of any fill within one second, the chance of full fill within ten seconds, the expected waiting time, or the probability of partial fill before a price move.
Survival-analysis methods are a natural fit here because they are built around time-to-event questions. In this framing, the “event” is the fill. The model maps time-varying order-book features into a changing hazard rate; the instantaneous chance of filling given that the order has not filled yet. That is conceptually cleaner than pretending fill probability is static from the moment of submission.
How traders use fill probability in execution and risk decisions
The main use is execution optimization. If a trader has low urgency, they may post passively where the probability of fill is lower but price improvement is better. If urgency rises, they can move toward more aggressive prices where fill probability is higher. Smart order execution systems do this continuously, adjusting as market conditions change.
The underlying mechanism is always a tradeoff between execution cost and execution risk. A market order pays the spread and possibly more if depth is thin, but execution is highly likely. A passive limit order may save spread and reduce measured market impact, but carries non-execution risk: the market may run away, forcing a later and worse execution. Fill probability is the quantity needed to compare those outcomes on common ground.
It also matters in risk management. If a desk needs to estimate how quickly a position can be reduced under normal or stressed conditions, it needs some view of likely fills. This becomes especially important during liquidation, rebalancing, or hedging windows. The lesson from stress episodes such as the 2010 Flash Crash is that visible activity is not the same as reliable liquidity. During that event, buy-side depth in the E-mini collapsed dramatically even as trading volume exploded. In such conditions, naive assumptions about fill likelihood can fail badly.
For market makers, fill probability shapes quoting behavior. A posted quote is valuable only if the expected spread capture exceeds the risks of adverse selection and non-fill. If the quote is too passive, it may never trade. If it is too aggressive, it may fill precisely when informed flow is arriving. Fill probability does not solve adverse selection, but it is one half of the passive quoting problem: first estimate whether you trade, then estimate whether that trade is good or bad.
When and why fill-probability estimates fail
Fill probability sounds precise, but it is never a guarantee. It is a model output, and the model can be wrong for at least three deep reasons.
The first is unobserved state. Hidden orders, iceberg reserve size, private order-routing logic, and latency differences mean that the visible book is only a partial picture. Two identical visible snapshots may have different true execution prospects.
The second is strategic behavior. Many tractable analytical models deliberately ignore strategic interaction to stay solvable. But real traders react to each other. Liquidity providers cancel when they sense risk. Fast traders may remove the last contracts at the best bid or ask just before a price move, reducing the effective fill chance for slower participants. Research on flash-crash dynamics describes this kind of “immediacy absorption,” where faster traders aggressively consume the remaining top-of-book liquidity and re-post at adjacent prices. In that setting, a fill-probability estimate based on slower, average queue dynamics can become misleading exactly when execution quality matters most.
The third is regime change. Models calibrated in quiet markets can fail in stressed ones. Exchange protections, pauses, market-with-protection rules, and venue state changes can alter the execution environment abruptly. During rapid moves, order submission, cancellation, and matching opportunities can change in ways a stationary historical model does not capture.
These are not minor implementation issues. They are reminders that fill probability is best treated as a conditional, horizon-specific estimate under a stated modeling view of market dynamics.
How exchange and venue rules change fill probability
Although the concept is general across equities, futures, FX, and crypto markets, the actual number is venue-specific because matching and order-handling rules change the mechanism of execution.
In futures markets on CME Globex, order types such as FAK, FOK, display quantity, minimum quantity, and market-with-protection directly shape whether and how an order can execute. Session states and pause mechanisms affect whether orders can trade at all at a given moment. These are not cosmetic details; they determine the event tree behind “will this order fill?”
In crypto and cash equities, the broad logic is the same even when APIs and venue design differ. Public market-data feeds provide the book state used for estimation, trading APIs place the order whose execution is being predicted, and the exchange’s matching engine decides queue priority and partial-fill behavior. Fill probability is therefore not a universal constant attached to a price level. It is the output of a specific market structure.
Conclusion
Fill probability is the estimated likelihood that an order will execute at a chosen price within a chosen time. Its importance comes from a basic fact of electronic markets: a good quoted price is valuable only if you can actually trade there.
The key idea to remember is simple: passive execution is a race between queue depletion and market change. If opposing flow reaches you before the market moves away, you fill. If not, price improvement stays hypothetical. Fill probability is the tool traders use to reason about that race; useful, indispensable in practice, and always conditional on the market model and horizon behind it.
Frequently Asked Questions
It is the estimated probability a limit order will execute at its stated price (or better) within a specified time horizon - the horizon is part of the definition, so a single numeric probability must always be read as “within X time” under the model used.
Choose a horizon that matches your execution objective: very short horizons (milliseconds) are relevant for low-latency market making, while multi-minute or session horizons matter for low‑urgency rebalancing; the same posted price can have very different probabilities across those horizons.
No - fill probability is a model output and not a guarantee; the article warns models can be wrong because of unobserved state (hidden/iceberg orders), strategic behaviour, and regime changes that make historical estimates unreliable in some conditions.
Queue position usually matters more than the raw visible depth because most venues use price‑time priority, so two orders at the same price can have very different fill chances depending on how much quantity is ahead of them; hidden/iceberg liquidity and venue matching rules can still materially change that assessment.
There are two common approaches: structural microstructure models (queueing/first‑passage frameworks) that try to capture the execution mechanism and can yield semi‑analytic probabilities, and statistical/ML models that learn fill probabilities or fill‑time distributions from data; structural models are more interpretable while ML is more flexible but can degrade when regimes shift.
Higher volatility can both increase marketable flow (which can raise fill chances) and increase the probability the market moves away from your resting order (which lowers short‑term fill chances), so volatility usually raises uncertainty and can either help or hurt depending on the exact dynamics.
Venue rules and order types materially change fill probability: FAK/FOK orders explicitly condition on immediate executable liquidity, display/hidden quantity and minimum‑quantity rules change how much of the queue is visible or reachable, and exchange protections, session states, and features like Cancel‑on‑Disconnect can prevent orders from ever reaching the book or being executed.
Producing reliable real‑time estimates requires low‑latency, high‑frequency order‑book data and infrastructure (the evidence notes such data systems are a practical prerequisite), but the exact latency and data‑frequency thresholds depend on your horizon and the asset and are not prescribed by the cited sources.
The reviewed glossary and papers do not prescribe a single calibration or evaluation metric; the sources note this is an open/unspecified area and practical validation typically requires horizon‑specific backtests (e.g., time‑to‑fill distributions and hit‑rate metrics) tailored to the strategy and market.
Related reading