Price Time Priority and Queue Position

A resting order behind 20,000 shares fills only as fast as that queue clears, and cancellations clear it faster than trades do.

Price-time priority ranks resting orders first by price, then by arrival time within a price level, and your fill rate at that level depends entirely on how fast the queue ahead of you clears. An order resting behind 20,000 shares does not need all 20,000 to trade before it participates. It needs the queue ahead to shrink to zero, and cancellations shrink a queue just as effectively as trades do.

Suppose you send 5,000 shares to join the bid at 10.01, and 20,000 shares are already resting ahead of you at that same price. Your order is now 20,001st to 25,000th in line. For any of your 5,000 to fill, the 20,000 shares ahead have to be gone first, either because they traded against incoming sell orders or because the firms that placed them canceled.

If the next hour brings 8,000 shares of selling that trades directly against the bid, and none of the orders ahead cancel, the queue ahead of you shrinks from 20,000 to 12,000. Your order still has not started to fill. Only once the full 20,000 ahead has cleared, by any combination of trading and cancellation, does the next share sold at 10.01 start filling your order instead of someone else's.

Once your 5,000 shares begin to fill, they do not necessarily fill all at once. If the next round of selling brings only 2,000 shares to the bid, your order captures those 2,000 and the remaining 3,000 stays resting, still at the front of the queue since the shares that were ahead of you are already gone. The remainder waits for the next round of selling, with no risk of losing its place unless you touch the order yourself.

In a typical liquid name, most of the size resting at a price level cancels rather than trades, because market makers continuously reprice their quotes as fair value moves and pull orders that are no longer where they want to be. If 15,000 of the 20,000 shares ahead of you cancel over the next few minutes and only 5,000 trade, your effective queue ahead was never really 20,000. It was closer to the 5,000 that actually traded plus whatever fraction of the cancellations happened after you arrived.