---
title: "Limit Order Fill Simulator"
description: "Estimate fill probability, expected fill time, and partial-fill risk for a resting limit order based on queue depth, spread, order size, and market conditions."
canonical: https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/limit-order-fill-simulator/
source: "Swoopr Investment: https://www.getswoopr.com"
---

## Direct Answer



> The limit order fill simulator estimates the probability, expected fill time, and partial-fill risk of a resting limit order based on spread, order book depth, order size, hold time, and volatility. The results are illustrative models built from user-supplied assumptions, not a prediction from real order-book data.






      

# Limit Order Fill Simulator



Estimate fill probability, expected partial-fill size, and queue-position sensitivity for a resting limit order, given spread, depth, order size, hold time, and volatility. All calculations are illustrative models; no real order data is used.




![stock exchange trading floor Limit Order Fill](https://www.getswoopr.com/images/hero/markets-execution-orders-routing-and-fill-quality-limit-order-fill-simulator.webp)
*Photo by [geralt](https://pixabay.com/users/geralt-9301/) via [Pixabay](https://pixabay.com/photos/entrepreneur-stock-exchange-4313685/)*







## What a Modelled Fill Probability Is Worth



A simulator like this one makes an assumption explicit. It does not forecast what will happen. The inputs are yours: the depth you believe sits ahead of your order, the spread you expect, the volatility you assume. The output restates those beliefs as a probability, which is genuinely useful for comparing scenarios against each other and is not evidence about any particular order.



The temptation is to read a percentage as a measurement. A real order book changes continuously, hidden size can sit at your price, and cancellations ahead of you move you forward without any trading taking place. None of that is observable from the inputs a model accepts.



The comparison that survives these limits is relative. Holding every other input constant and varying only order size, or only the limit price, shows the direction and rough magnitude of the tradeoff being made. That is the question this kind of tool answers well, and it is worth using it for that rather than for a number to quote.



Fills also depend on venue rules, priority conventions and order handling that differ between markets and between brokers, none of which a general model captures.








**Educational tool only.** All outputs are illustrative probability estimates based on simplified queuing models and user-entered assumptions. This tool does not connect to any broker, exchange, or market data feed. It does not accept account numbers, broker credentials, or personal trading data. Results are not investment advice, execution guarantees, or predictions of real-world fill outcomes.





      



## Fill Simulator



Enter hypothetical order parameters. The simulator estimates fill probability, expected queue-clearance time, and partial-fill risk under your conditions. No real broker data is needed or accepted.

![stock exchange trading floor Limit Order Fill simulator](https://www.getswoopr.com/images/accent/markets-execution-orders-routing-and-fill-quality-limit-order-fill-simulator-accent-1.webp)
*Photo by [stevepb](https://pixabay.com/users/stevepb-282134/) via [Pixabay](https://pixabay.com/photos/censorship-limitations-610101/)*






          





Order side






Buy




Sell




Buy limit rests on the bid; sell limit rests on the ask.






Limit price ($)




Hypothetical price, use any round number (e.g. 49.90).






          





Best bid ($), NBBO bid




Current national best bid. Buy limit below this rests passively.






Best ask ($), NBBO ask




Current national best ask. Sell limit above this rests passively.






          





Your order size (shares)




How many shares you want to buy or sell.






Shares ahead of you at your limit price




Estimated order book depth (shares) at your price level that arrived before your order.






          





Avg daily volume (shares)




How many shares typically trade in a full session.






Avg trade size at this price level (shares)




How many shares each aggressor order typically removes from this level.






          





Max hold time for the order




1 minute


5 minutes


15 minutes


30 minutes


1 hour


Full session (~6.5 hours)




Good-Till-Canceled orders have more time to fill; Day orders expire at session close.






Market volatility scenario






Low




Medium




High




High volatility means the market price sweeps through levels faster, improving fill speed but also increasing the chance the price moves away from you.









Simulate fill


Reset

            





        





### Simulation Results



          



Order may be aggressive (marketable).
 Your limit price is at or through the best opposite quote. This order is likely to fill immediately as a marketable limit order, not rest passively in the queue.





Large queue ahead.
 More than 5× your order size rests ahead of you. Queue clearance will take significant volume before any of your shares receive allocation.





Order size exceeds queue depth ahead.
 Your order is larger than the estimated shares resting ahead of you at this level, the queue itself may not fully absorb your size even after it clears.



          





Fill probability


N/A








Full-fill probability


N/A








Est. queue clearance


N/A








Expected fill (shares)


N/A








          





Fill probability


0%












          


            



          

### Illustrative Order Book



Your order is highlighted. Depths are approximated from your inputs. The purple/colored highlight shows your position in the queue.




            



          

### How price-level choice changes outcomes



Rows show four price levels relative to your current limit. Your chosen level is highlighted.





| Price level | Ticks from mid | Fill prob. (30 min) | Full-fill likelihood | Tradeoff |
| --- | --- | --- | --- | --- |





          



Print / save as PDF


Clear results








      



## How to use this simulator




### Step 1, Enter your order parameters



Choose a buy or sell limit, enter a hypothetical limit price and the current NBBO bid and ask. The simulator needs the NBBO to determine how far your order is from the inside quote, which is the most important driver of fill probability.




### Step 2, Estimate queue depth



The key input most traders overlook is **shares ahead of you in the queue**. If Level 2 data shows 2,000 shares resting at your price, enter 2,000. If you are placing the order fresh at a level with no visible depth, enter 0. The queue depth determines how much volume must trade through your price level before your order receives any allocation.




### Step 3, Set daily volume and average trade size



Daily volume tells the model how actively this stock trades. Average trade size at this level approximates how quickly aggressor orders chip away at the queue. A stock that trades 5 million shares per day with an average trade of 300 shares will clear your queue far faster than a stock trading 200,000 shares per day.




### Step 4, Choose a hold duration and volatility scenario



Hold duration caps how long the order can sit before it expires or you cancel it. A longer hold gives the queue more time to clear and the market more chances to revisit your level. Volatility affects how often the market touches your price level: high volatility means more sweeps through your level, improving fill speed, but also increasing the risk the price runs through your level and away from you before you're ready.




### Step 5, Read the results



The simulator outputs a fill probability (the chance any shares fill within your hold period), a full-fill probability (the chance the entire order fills), estimated queue clearance time, and expected fill size. The order book visualization shows where your order sits relative to the inside quote. The scenario table shows how placing your limit at the inside quote, or one, two or three ticks away from it on the passive side, changes all outcomes.




### What this model does not capture



- **Routing venue.** Different exchanges and dark pools use different matching rules (FIFO vs. pro-rata). This model assumes price-time priority (FIFO), which applies to most lit U.S. equity exchanges.
- **Hidden orders and icebergs.** On NYSE, reserve size at your price ranks below displayed orders and each replenished slice queues behind your order, so the displayed size is the better estimate of what is ahead of you. Hidden orders at better prices can still absorb volume before it reaches your level.
- **Information leakage.** Large resting orders can be detected and front-run by HFT strategies. This effect is not modeled.
- **Intraday patterns.** Volume concentrates at the open and close. A 30-minute window early in the morning clears queues faster than a 30-minute window at midday.





      



## Frequently asked questions




### Why does fill probability drop so steeply when the queue ahead is large?



Queue clearance is the bottleneck. Every aggressor order that trades at your price level removes shares from the front of the queue, not from your order. Until all the shares ahead of you are consumed, none of your shares receive an allocation. If 5,000 shares sit ahead of you and the stock averages 200-share trades at that level, roughly 25 individual aggressor orders must hit your level before any of your shares fill. Whether 25 trades occur within your hold window depends on volume, spread, and how much time the market spends at your exact price. In this model, expected clearance time rises in proportion to the queue ahead, so doubling the queue doubles it, and the chance of any fill within a fixed window falls as the queue grows because each trade at your level is also a random event that may or may not happen within your window.




### What happens to my order if I cancel and resubmit at the same price?



You lose your queue position entirely. Under price-time priority, the rule used by most U.S. equity exchanges, an order's place in the queue is determined by when it arrived at that price level. Canceling and resubmitting sends a new order that goes to the back of the line. If you had 2,000 shares ahead of you before, you now have 2,000 plus everyone who arrived between your cancel and your new submission. This is why experienced traders avoid unnecessary cancels and resubmissions at the same price. The only way to move up in the queue is to arrive at a price level earlier than other participants, once you are in the queue, the only way forward is to wait.




### How is fill probability different from full-fill probability?



Fill probability is the chance that at least one share of your order executes within the hold window, in other words, the chance you get any fill at all. Full-fill probability is the chance all your shares execute. These diverge significantly when your order is large relative to the depth at your price level. For example, if 1,000 shares of volume reaches your price level within your window but your order is for 500 shares with 800 ahead of you, you receive a partial fill of 200 shares (1,000 minus 800 ahead). Your fill probability is high (you did get some shares), but your full-fill probability is zero (you only got 200 of 500). Partial fills create position-sizing misalignment, as the position you end up with is not the one you planned.




### Does the NBBO spread affect fill probability and if so, how?



Yes, significantly. A wide bid-ask spread means your limit price is farther from the mid-price in relative terms. Aggressor orders pay the spread to trade immediately, they cross to the opposite side of the book. If the spread is $0.10 and you place a buy limit at the bid ($50.00), an aggressive seller must be willing to sell at $50.00 rather than the ask ($50.10) to fill your order. That requires the price to move $0.10 to you, which is less likely in a short window. A tighter spread means less movement is required before aggressors reach your price. Spread also affects where you should set your limit: placing a buy limit inside the spread (between bid and ask) at, say, $50.05, what some brokers offer as "price improvement", can meaningfully increase fill probability relative to resting at the bid, at the cost of a slightly worse price than you ideally wanted.




### Can I use this to model an iceberg or reserve order?



Approximately. But you have to think through the iceberg's effect on the queue differently from how the tool is set up. An iceberg order displays only its tip, say 100 shares, while hiding thousands of reserve shares. When the displayed 100 fills, the exchange creates a new displayed order for the next 100 shares, but this new display goes to the back of the queue at that price level. So the iceberg repeatedly loses and regains queue position as it refills. To approximate your position behind an iceberg using this tool, enter only the iceberg's displayed size as the queue ahead, because the reserve quantity does not stay ahead of you. On exchanges such as NYSE, each refill of an iceberg order receives a new working time, so it queues behind orders already resting at that price, including yours, and the hidden reserve ranks below displayed orders. Only the displayed slice ahead of you has to trade before your order.




### What is a marketable limit order and how does it appear in the results?



A marketable limit order is one whose limit price crosses the inside quote, a buy limit at or above the best ask, or a sell limit at or below the best bid. Instead of resting in the book, a marketable limit order is sent to the exchange and executes immediately (or near-immediately) against resting liquidity on the opposite side. It behaves like a market order in terms of fill speed, but with a price cap that prevents execution worse than your limit. The simulator flags this condition in the warning banner when your limit price is at or through the best opposite quote. In that scenario, fill probability is high and queue considerations are nearly irrelevant, the question shifts from "will I fill?" to "how much of my order fills at the current depth?" For marketable limit orders, the execution cost calculator at [Execution Cost Calculator](https://www.getswoopr.com/tools/execution-cost-calculator/) is a more appropriate tool.




### Does the model account for the order being cancelled by the trader before it fills?

It estimates the probability of a fill over the specified horizon assuming the order remains resting. A trader who cancels early realizes a lower fill rate than the model shows, and one who leaves the order working longer than the modelled horizon may see a higher one. Cancellation behaviour is a decision outside the model, which is why the horizon used should match how long the order would genuinely be left in place.

### How should the queue-ahead input be estimated in practice?

Displayed size at the price level is the observable starting point, and it overstates what is genuinely ahead when part of that size is hidden, layered or likely to be cancelled, and understates it when reserve orders sit behind the display. There is no way to measure the true queue from public data. Running the model across a range of plausible queue sizes gives a range of outcomes rather than a single figure resting on an unverifiable input.

### Does the simulator distinguish between exchanges with different matching rules?

It assumes a price-time priority book, which is the common arrangement on U.S. equity exchanges, where orders at the same price fill in the sequence they arrived. Venues using pro-rata allocation, size priority, or a periodic auction distribute fills differently, and queue position means something else there. Applying the model to a venue with different matching rules produces a number that does not describe that venue's behaviour.





      



## Model assumptions and sources



### How the model works



The simulator uses a simplified queuing model to estimate fill probability. Core assumptions:



- **Price-time priority (FIFO):** Shares ahead of you in the queue fill before any of your shares receive allocation.
- **Volume arrival rate:** Derived from daily volume divided by session minutes (390), adjusted by hold duration and a volatility multiplier (low = 0.6×, medium = 1.0×, high = 1.5×).
- **Price-level frequency:** The model assumes a share of market volume reaches your limit level: 35 percent for a limit at the inside quote, falling by 55 percent for each tick further from it.
- **Partial fill:** If volume reaching your level within the hold window exceeds the queue ahead but is less than queue ahead plus your order size, a partial fill is returned. Expected fill size is the fill probability multiplied by the smaller of your order size and the greater of zero and the expected volume at your level minus the queue ahead.
- **Full-fill:** Requires total volume at your level to exceed queue ahead plus your full order size.



### Limitations



The model is intentionally simple to be educational. It does not account for intraday volume patterns (U-shaped distribution), order book dynamics, hidden liquidity, cancellation and repricing by other participants, HFT activity, or order routing effects. Real fill outcomes will differ from model estimates, sometimes substantially. Use this tool to build intuition about the direction and magnitude of effects, not to make specific trading decisions.

![stock exchange trading floor Limit Order Fill model assumptions](https://www.getswoopr.com/images/accent/markets-execution-orders-routing-and-fill-quality-limit-order-fill-simulator-accent-2.webp)
*Photo by [maya_7966](https://pixabay.com/users/maya_7966-1170035/) via [Pixabay](https://pixabay.com/photos/wedding-dress-bride-extravagant-1485984/)*








## Educational disclaimer



For education only; not personalized investment, tax, or legal advice. Trading can result in substantial losses, including the loss of more than you invest. This tool does not accept or store any personally identifiable information, account credentials, or real order data.



Exchange priority rules, broker routing practices, ATS matching logic, and regulatory requirements can change. Verify current requirements with your broker, the relevant exchange, or a qualified professional before acting on any information here.






## Related Reading

- [Partial Fills, Queue Position & Fill ProbabilityThe underlying mechanics behind what this simulator models.](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/partial-fills-queue-position-and-fill-probability/)
- [Market vs. Limit Orders: The Execution TradeoffWhy choosing between certainty of fill and certainty of price is never free.](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/market-vs-limit-orders-the-execution-tradeoff/)
- [How Stock Order Routing WorksWhere your order goes after it leaves your broker.](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/how-stock-order-routing-works/)
- [Price Improvement and Effective SpreadWhat price improvement actually means for limit order traders.](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/price-improvement-and-effective-spread/)
- [Execution Cost Calculator](https://www.getswoopr.com/tools/execution-cost-calculator/)
- [Order Simulator](https://www.getswoopr.com/learn/order-simulator/)
- [Orders, Routing & Fill Quality](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/)
- [Market Structure & Trade Execution](https://www.getswoopr.com/markets/execution/)
- [Best Execution: What Brokers Owe Customers](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/best-execution-what-brokers-owe-customers/) a companion guide in this cluster
- [Common Order Routing and Fill Quality Mistakes](https://www.getswoopr.com/markets/execution/orders-routing-and-fill-quality/common-order-routing-and-fill-quality-mistakes/) a companion guide in this cluster






## References



- [SEC: Regulation NMS Rule 605 FAQs](https://www.sec.gov/rules-regulations/staff-guidance/trading-markets-frequently-asked-questions-0)
- [SEC: Regulation NMS](https://www.sec.gov/rules-regulations/2005/06/regulation-nms)
- [FINRA: Types of Orders](https://www.finra.org/investors/learn-to-invest/types-investments/stocks/order-types)
