
How Order Fills Work: Market Depth, Bid/Ask Liquidity & Slippage
When you click Buy or Sell, your order does not automatically execute at the price you see on the chart.
The fill depends on:
- the best bid and best ask
- how much quantity is available at each price level
- the size of your order
- whether you are using a market or limit order
- how the order book changes before your order reaches the matching engine
- queue priority, liquidity, and volatility
This is where market depth and slippage become important.
A small order in a liquid market may fill completely at the best available price.
A larger order may have to consume liquidity across several price levels, causing the average execution price to be worse than the first price shown.
This guide explains exactly how that happens.
The examples below are simplified for education. Real exchange execution can also be affected by latency, queue priority, cancellations, hidden liquidity, matching rules, and rapid changes in the order book.
Quick verdict
- A buy market order consumes the ask side of the order book.
- A sell market order consumes the bid side of the order book.
- If enough quantity is not available at the best price, the order continues to the next available price level.
- The final execution price is the weighted average of all fills, not necessarily the best bid, best ask, LTP, or candle price.
- Slippage increases when order size is large relative to available market depth.
- A limit order protects the worst acceptable price, but it does not guarantee a complete fill.
- Market depth is a snapshot, not a promise that displayed liquidity will still exist when your order arrives.
Quick Glossary
Here are the terms traders should understand before looking at order fills:
- Bid: The highest price a buyer is currently willing to pay.
- Ask / Offer: The lowest price a seller is currently willing to accept.
- Best Bid: The highest available bid in the order book.
- Best Ask: The lowest available ask in the order book.
- Spread: The difference between the best ask and best bid.
- Market Depth: The quantity available at multiple bid and ask price levels.
- Market Order: An order that prioritizes execution over price.
- Limit Order: An order that only executes at the limit price or better.
- Partial Fill: When only part of the requested quantity executes.
- VWAP / Average Fill Price: The quantity-weighted average price across all executions.
- Slippage: The difference between an expected or reference price and the actual average execution price.
- Liquidity: The amount of executable quantity available without moving far through the order book.
The most important idea: LTP is not your execution price
Many traders look at the Last Traded Price (LTP) and assume that is the price they will receive.
That is not how order matching works.
If the LTP is ₹100.55:
- a buyer may need to pay the best ask
- a seller may need to accept the best bid
The previous trade at ₹100.55 does not guarantee that another trade is available there.
Your order must interact with the current opposite side of the order book.
Example: a simple market depth
Assume the following order book for a hypothetical instrument.
| Bid Quantity | Bid Price | Ask Price | Ask Quantity |
|---|---|---|---|
| 30 | ₹100.50 | ₹100.60 | 10 |
| 40 | ₹100.40 | ₹100.70 | 20 |
| 50 | ₹100.30 | ₹100.80 | 25 |
| 75 | ₹100.20 | ₹100.90 | 35 |
| 100 | ₹100.10 | ₹101.00 | 40 |
From this book:
- Best Bid = ₹100.50
- Best Ask = ₹100.60
- Spread = ₹0.10
The bid side represents buyers waiting below the market.
The ask side represents sellers waiting above the market.
A market order crosses the spread and trades against the opposite side.
How a BUY market order is filled
Suppose you place a market BUY for 50 quantity.
A buy order needs sellers.
So the matching process starts from the lowest ask and moves upward until the entire quantity is filled.
Available asks are:
- 10 at ₹100.60
- 20 at ₹100.70
- 25 at ₹100.80
- 35 at ₹100.90
- 40 at ₹101.00
Your 50-quantity buy is filled like this:
| Fill | Price | Quantity Filled | Quantity Remaining |
|---|---|---|---|
| 1 | ₹100.60 | 10 | 40 |
| 2 | ₹100.70 | 20 | 20 |
| 3 | ₹100.80 | 20 | 0 |
The order is complete after consuming:
- all 10 available at ₹100.60
- all 20 available at ₹100.70
- 20 of the 25 available at ₹100.80
Average fill price for the BUY
The average execution price is calculated using quantity-weighted prices:
Average Fill = Σ(Price × Quantity) / Total Quantity
So:
[(100.60 × 10) + (100.70 × 20) + (100.80 × 20)] / 50
= ₹100.72
Even though the best ask was ₹100.60, the 50-quantity order was actually filled at an average price of ₹100.72.
BUY slippage
If we use the best ask at order arrival as the reference:
Buy Slippage = Average Fill Price - Reference Ask
= ₹100.72 - ₹100.60
= ₹0.12
So the order experienced ₹0.12 of adverse slippage per unit relative to the original best ask.
If you traded 50 quantity:
Total price impact relative to best ask = ₹0.12 × 50 = ₹6.00
This is a simplified way to isolate the effect of consuming multiple ask levels.
What happens to the ask after that BUY?
Before the order:
- ₹100.60 had 10
- ₹100.70 had 20
- ₹100.80 had 25
The buy order consumes the first two levels completely and 20 from the third level.
Ignoring new orders or cancellations, the ask side becomes:
- ₹100.80 with 5 remaining
- ₹100.90 with 35
- ₹101.00 with 40
The new best ask is now ₹100.80.
This is a simple example of an aggressive order walking the book and changing the immediately available market price.
Why larger BUY orders usually create more slippage
Using the same order book:
| BUY Quantity | Average Fill Price | Best Ask at Start | Slippage vs Best Ask |
|---|---|---|---|
| 10 | ₹100.60 | ₹100.60 | ₹0.00 |
| 30 | ₹100.67 | ₹100.60 | ₹0.07 |
| 60 | ₹100.74 | ₹100.60 | ₹0.14 |
| 100 | ₹100.82 | ₹100.60 | ₹0.22 |
The important relationship is:
Order size relative to available liquidity matters more than order size by itself.
A 100-quantity order may be tiny in one instrument and enormous in another.
Slippage depends on how much depth is available when the order executes.
How a SELL market order is filled
Now use the same original order book and suppose you place a market SELL for 90 quantity.
A sell order needs buyers.
So the matching process starts from the highest bid and moves downward until the entire quantity is filled.
Available bids are:
- 30 at ₹100.50
- 40 at ₹100.40
- 50 at ₹100.30
- 75 at ₹100.20
- 100 at ₹100.10
The sell order is filled like this:
| Fill | Price | Quantity Filled | Quantity Remaining |
|---|---|---|---|
| 1 | ₹100.50 | 30 | 60 |
| 2 | ₹100.40 | 40 | 20 |
| 3 | ₹100.30 | 20 | 0 |
Average fill price for the SELL
[(100.50 × 30) + (100.40 × 40) + (100.30 × 20)] / 90
= approximately ₹100.41
The best bid was ₹100.50, but there was only enough quantity for 30 units at that level.
The rest of the sell order had to move down through the bid book.
SELL slippage
For a sell order, adverse slippage is measured in the opposite direction:
Sell Slippage = Reference Bid - Average Fill Price
= ₹100.50 - ₹100.41
= approximately ₹0.09
So the seller received roughly ₹0.09 less per unit than the original best bid.
What happens to the bid after that SELL?
The 90-quantity market sell consumes:
- all 30 at ₹100.50
- all 40 at ₹100.40
- 20 of the 50 at ₹100.30
Ignoring new orders or cancellations, the new best bid becomes:
- ₹100.30 with 30 remaining
The aggressive sell order has moved through two full bid levels.
This is why large sell orders can push the executable price downward when bid liquidity is thin.
BUY and SELL fills side by side
| Order | Consumes | Starts At | Moves Toward | Adverse Slippage Direction |
|---|---|---|---|---|
| Market BUY | Ask liquidity | Lowest ask | Higher ask prices | Average fill rises |
| Market SELL | Bid liquidity | Highest bid | Lower bid prices | Average fill falls |
A simple way to remember it:
Buyers lift the asks. Sellers hit the bids.
Market orders prioritize execution, not price
A market order effectively says:
“Fill my order using the best available opposite-side liquidity now.”
It does not say:
“Fill my entire order at the current best bid or ask.”
If only a small amount is available at the best price, the remaining quantity continues through the book.
That makes market orders useful when execution is more important than exact price, but it also creates slippage risk.
How LIMIT BUY orders are filled
Suppose the ask side is still:
- 10 at ₹100.60
- 20 at ₹100.70
- 25 at ₹100.80
Now you place:
BUY 50 LIMIT ₹100.70
A buy limit can execute at ₹100.70 or lower, but never above ₹100.70.
The immediate fills are:
- 10 at ₹100.60
- 20 at ₹100.70
Only 30 quantity is immediately available within your limit.
So:
- 30 quantity fills
- 20 quantity remains unfilled
- the remaining 20 can rest as a bid at ₹100.70, subject to the venue's matching and queue rules
The order does not continue to ₹100.80 because that would violate your limit price.
This is the key trade-off:
A limit order gives price protection, not execution certainty.
How LIMIT SELL orders are filled
Using the original bid side:
- 30 at ₹100.50
- 40 at ₹100.40
- 50 at ₹100.30
Suppose you place:
SELL 50 LIMIT ₹100.40
A sell limit can execute at ₹100.40 or higher.
The fills would be:
- 30 at ₹100.50
- 20 at ₹100.40
The full 50 quantity is executable without selling below your limit.
Average fill:
[(100.50 × 30) + (100.40 × 20)] / 50
= ₹100.46
Notice something important:
Your sell limit was ₹100.40, but some quantity received the better price of ₹100.50.
A limit price is the worst price you are willing to accept, not necessarily the exact execution price.
Why partial fills happen
A partial fill happens when the market can execute only part of your order under your order conditions.
Common reasons include:
- insufficient quantity at your limit price
- your order is behind other orders in the queue
- liquidity is cancelled before your order reaches it
- the market moves away from your price
- only part of your order becomes executable before conditions change
For example:
If you place BUY 100 LIMIT ₹100.60 and only 10 quantity is offered at ₹100.60:
- 10 may execute
- the remaining 90 may wait at ₹100.60
It will not automatically pay ₹100.70 unless you change or replace the order.
Displayed market depth does not guarantee your fill
This is one of the most important concepts in execution.
The order book is constantly changing.
Between the moment you see depth and the moment your order is processed:
- existing orders may be cancelled
- new orders may appear
- other traders may consume the liquidity first
- prices may move
- your order may join a queue behind existing orders
So if you see:
500 quantity at the best bid
that does not necessarily mean your 500-quantity sell will receive that entire level.
The displayed quantity is a snapshot of current interest, not a reserved fill for you.
Queue priority matters for passive limit orders
Suppose 1,000 quantity is already waiting to buy at ₹100.50.
You then place another limit buy for 100 at ₹100.50.
Your order may be behind the existing 1,000 quantity depending on the matching rules.
If only 300 quantity trades against that price before the market moves away, your order may receive no fill at all, even though the chart shows trades occurring at ₹100.50.
This is why passive limit-order execution cannot be understood from price alone.
You also need to think about queue position.
Slippage is not the same as spread
These two concepts are related but different.
Assume:
- Best Bid = ₹100.50
- Best Ask = ₹100.60
- Mid-price = ₹100.55
The spread is:
₹100.60 - ₹100.50 = ₹0.10
A market buyer crossing from the mid-price to the ask already pays part of the spread.
If that buyer is large enough to consume ₹100.60 and continue to ₹100.70 and ₹100.80, the additional movement through depth creates further execution cost.
A trader can therefore experience:
- spread cost
- depth / market-impact slippage
- latency-related slippage
- or a combination of them
A better way to calculate slippage
Slippage needs a reference price.
Possible reference prices include:
- best ask for a buy
- best bid for a sell
- mid-price when the decision was made
- strategy signal price
- stop trigger price
- order-arrival price
- LTP shown by the platform
These references answer slightly different questions.
For depth analysis, comparing a market buy with the best ask at order arrival and a market sell with the best bid at order arrival is often the cleanest way to show how much price impact came from consuming multiple levels.
Slippage formula for a BUY
Buy Slippage = Average Fill Price - Reference Price
Slippage formula for a SELL
Sell Slippage = Reference Price - Average Fill Price
Slippage in basis points
To compare slippage across instruments with different prices:
Slippage (bps) = (Adverse Slippage / Reference Price) × 10,000
For the 50-quantity buy:
(0.12 / 100.60) × 10,000 ≈ 11.9 bps
This makes execution quality easier to compare across different prices and trade sizes.
What creates slippage?
Slippage can come from several sources.
| Cause | What Happens | Typical Effect |
|---|---|---|
| Thin market depth | Not enough quantity exists at the best price | Order walks through multiple levels |
| Large order size | Order is large relative to available liquidity | Higher average BUY price or lower average SELL price |
| Wide spread | Best bid and ask are far apart | Immediate execution starts further from the mid-price |
| Fast market | Quotes change quickly before execution | Actual fill differs from the price seen when clicking |
| Order cancellations | Displayed liquidity disappears | Order reaches deeper price levels |
| Stop activation | A triggered market order executes at available prices | Fill can be far from the trigger during a gap or spike |
| Low-liquidity period | Fewer orders are resting in the book | Small trades can move further through depth |
Slippage is not always negative
Slippage is often discussed as a loss, but execution can also improve.
Suppose you decide to buy when the ask is ₹100.60.
Before your order arrives, a new seller posts at ₹100.55.
If your order receives ₹100.55, you have received price improvement relative to the earlier ₹100.60 reference.
So slippage depends on:
- the benchmark you choose
- how the market changes
- the actual fills received
For risk management, traders usually focus most on adverse slippage because that is what increases losses or reduces expected profit.
Stop orders can slip too
A stop price is generally a trigger condition, not a guaranteed execution price.
Imagine a protective sell stop is triggered at ₹100.00.
In a fast move, the available bids after the trigger might be:
- ₹99.80
- ₹99.60
- ₹99.40
If the triggered order becomes a market order, it must execute against the liquidity that actually exists.
The final average fill may therefore be below the stop trigger.
This becomes especially important during:
- sharp intraday moves
- news events
- opening gaps
- expiry-related volatility
- periods of unusually low liquidity
Why slippage can be larger in options
Options can experience sharp changes in executable liquidity because:
- premiums can move rapidly
- bid/ask spreads can widen
- depth can disappear quickly
- liquidity can vary significantly by strike
- liquidity can vary by expiry
- fast changes in the underlying can reprice several option levels at once
An option may look active from its LTP, while the quantity available near the best bid and ask is still limited.
That is why traders should look beyond the chart and understand the actual executable depth.
Market depth and position size
Position sizing should not be based only on account risk.
It should also consider liquidity risk.
For example, two traders may both use a ₹1,000 stop-loss budget.
But if one trader's position is so large that exiting it would sweep through several bid levels, the real loss can exceed the theoretical stop calculation.
A useful question before entering is:
“If I had to exit this entire position immediately, how many price levels would I need to consume?”
That question connects position size with execution risk.
Why candle charts can hide execution reality
A candle may show:
- Open
- High
- Low
- Close
But it does not show exactly how much quantity was available at each bid and ask when your order arrived.
Two trades can happen during the same candle and still receive very different execution prices because:
- market depth changed
- spread changed
- the order sizes were different
- one trader used a market order
- another used a limit order
- one trader was earlier in the queue
Charts explain where trading happened.
Market depth helps explain what was executable at a particular moment.
Market order vs limit order
| Feature | Market Order | Limit Order |
|---|---|---|
| Main priority | Execution | Price control |
| Price guaranteed? | No | Will not execute beyond the limit |
| Full fill guaranteed? | Not absolutely; depends on available liquidity and venue conditions | No |
| Can walk through depth? | Yes | Only up to the allowed limit price |
| Slippage risk | Higher in thin or fast markets | Controlled beyond the limit, but non-fill risk increases |
| Partial fill risk | Possible if executable liquidity is insufficient or market rules intervene | Common when liquidity at the limit is insufficient |
A practical order-fill checklist
Before placing a large order, check:
- Best bid and best ask
- Spread
- Quantity available at the first few depth levels
- Your order size relative to visible depth
- Whether you need certainty of execution or certainty of price
- Whether volatility is currently elevated
- Whether you are entering or exiting a thin strike or contract
- Whether a stop could become a market order in a fast move
The larger your order is relative to visible liquidity, the more important these checks become.
Frequently asked questions
If the ask is ₹100.60, why did my buy fill at ₹100.80?
Because ₹100.60 may not have had enough quantity for your entire order. The remaining quantity can execute against higher ask levels.
If the bid is ₹100.50, why did my sell fill below it?
Because the quantity available at ₹100.50 may have been smaller than your sell order. Once that quantity was consumed, the remaining order moved down to lower bids.
Does a market order guarantee a full fill at the displayed price?
No. A market order prioritizes execution using available liquidity. It does not guarantee that all quantity will execute at the first displayed price.
Does a limit order remove slippage completely?
A limit order prevents execution beyond the limit price, but it creates a different risk: the order may not fill completely, or may not fill at all.
Can one order have multiple execution prices?
Yes. A single order can produce several individual fills at different prices. The overall trade is then represented by its weighted average fill price.
Why is my average price different from the LTP?
Because LTP is the price of the previous trade. Your execution depends on the bid/ask liquidity available when your order is matched.
Can slippage happen even when my order is small?
Yes. A small order can still slip if the spread is wide, the available depth is thin, or the market moves quickly.
Is displayed market depth guaranteed?
No. Orders can be added, cancelled, or executed before your order reaches them. Depth is continuously changing.
Final thoughts
Order execution is not just about clicking Buy or Sell.
It is a liquidity-matching process.
A buy order needs to find sellers.
A sell order needs to find buyers.
If enough quantity exists at the best available price, the order may fill there.
If not, the order moves through additional price levels, creating a different average execution price and potentially causing slippage.
The core relationship is simple:
The larger your order is relative to available liquidity, the more execution quality matters.
Understanding market depth helps traders think beyond the chart and ask the more important question:
“What price can my actual quantity realistically be executed at?”
That is the difference between looking at a market price and understanding a market fill.
Related articles
Nifty Prop Firm Checklist: 9 Questions to Ask Before You Pay Anything
Most Indian traders evaluate prop firms on profit split and account size alone. This checklist covers the nine questions that actually determine whether a funded account is worth your time and money.
08 Mar 2026
Simulated Trading vs Real Trading in India (2026): What Funded Account Traders Must Understand
An India-first breakdown of simulated trading vs real trading inside funded account programs. Understand how payouts work, how tax treatment differs, what 'funded' really means, and what NIFTY/BANKNIFTY traders must verify before joining.
09 Feb 2026
Funded Firm vs Prop Firm vs Broker in India: What You’re Actually Joining
In India, the terms funded firm, prop firm, and broker are used interchangeably, but they describe very different business models. This deep guide explains how each works, why the confusion exists, and how traders can evaluate funded accounts correctly.
02 Feb 2026
All information provided on this site is intended solely for educational purposes related to financial markets and does not serve as investment advice or recommendations. Market Rush provides evaluation and educational tools only. Market Rush does not act as a broker, investment adviser, or deposit-taking platform.