If I put a BUY order in for 500 shares will it execute only if it matches one sell for 500 shares or will it accumulate smaller sell orders up to 500 then execute?

2 Answers 2


Generally speaking. (There are some pretty exotic order flags but generally this is how it works)

There are two parts of an order as far as a matching engine is concerned, there is a market maker and a market taker; this is different than buyer and seller. Lets run through a couple examples.


  • a buyer places an order with their highest bid, 100 shares for $12.34.
  • a seller places an order with their lowest ask, 100 shares for $12.40.

These two orders don't fill because they are $0.06 apart. They sit on the order book as the current market makers. One is making a market for sellers, the other is making a market for buyers.

Order 1:

Should a buy order come in for 50 shares at $12.40, surpassing the existing high bid, and priced to the existing low ask, it will "take" from the market maker (assuming that 100 shares at 12.40 isn't flagged with all or none, or fill or kill or some other more exotic order flag.)

After this order the published bid/ask will be

  • 100 shares at $12.34
  • 50 shares at $12.40

Order 2:

If a new order comes in to sell 20 at $12.35 it would not get filled; it's still above the current high bid. But it's below the current low ask so the order book will adjust to:

  • 100 shares at $12.34
  • 20 shares at $12.35 (with the 50 shares at $12.40 still on the book, but not the current low anymore)

Order 3:

If a "market" order came in to buy 50 shares at market, then it will fill the 20 shares at $12.35 and 30 shares at $12.40. Market orders are dangerous because, generally, in retail markets you don't know where the next shares are priced. After the first 20 published the next ask might be at $15, and your order will fill 30 shares at $15 or potentially even higher.

The order book now looks like:

  • 100 shares at $12.34
  • 20 shares at $12.40

Alternate Order 3:

Let's say alternatively that a limit order came in to buy 50 shares at $12.35. This order would take the 20 shares at $12.35 then become the new market maker/high bid for the remaining unfilled shares. The order book now looks like:

  • 30 shares at $12.35
  • 50 shares at $12.40

This is general market orderbook mechanics. Just know, there is a market maker, and a market taker for both buy and sell sides of the transaction. Most retail securities brokers don't price trade commissions differently for market makers and market takers. I've seen maker/taker pricing in crypto markets, generally a market maker will pay a lower commission.

  • 1
    Maker-taker fees (equities) were started by the ECNs about 20 years ago. Makers are paid small fee (a fraction of a penny per share) when they add liquidity to the order book when placing a limit sell order above the bid or a buy order below the ask (and order executed).Takers are those who buy and sell at the market, removing liquidity from the order book. Takers are charged the small fee by the exchange. A good broker passes the maker rebate on to the trader. Some exchanges have an inverted taker-maker model and some imply that this is to lure orders in for high frequency traders. Dec 7, 2018 at 0:08

If you have set it as an all-or-nothing order, it will only fill if it can find a match (i.e. a seller) willing to sell at that price (or lower) for the total number of shares you are asking for.

Otherwise, then it will piece-meal the order together.


  • You place an BUY order for 500 shares at $10.00
  • The SELL book looks like so:
    • 100 shares at $9.84
    • 200 shares at $9.85
    • 300 shares at $9.90

Your order will be filled for 100 shares @ $9.84, 200 at $9.85, and 200 at $9.90.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.