What I am trying to understand is: If we know the number of shares a company trades and the current price of the share, can we estimate what volume of trade that is required to move the share price in either direction?

I understand the general principle that: when buy orders exceed sell orders, the price goes up; and when sell orders exceed buy orders, the price goes down. But I was hoping for some specifics. Let's say:

  1. we are talking about NYSE stock exchange which is fully automated.
  2. price of a stock at time t1 is $15 .
  3. a significant buy order of 10,000,000 shares came to the market. There aren't enough people selling that stock. So say of the 10 million only 100,000 had a matching sell order and others are waiting. This would trigger the automated system to start increasing the price.

How much time does the automated system wait to increment the price? What is the frequency of the price change? What percentage is the increment etc. ? So when will t2 be when the system decides that price should inch to $15.5 and t3 when price should be $20 etc?

If every buy order is matched by a sell order immediately there won't be any significant price change. So the system depends on the buy order exceeding the sell orders significantly for x period of time. Can someone explain in a little more detail how this system works ?

  • 1
    What is that automated system that you're asking about?
    – littleadv
    Commented Aug 23, 2013 at 19:47
  • for eg: the NYSE system where buy and sell orders are matched by their computer servers instead of by human intervention
    – Zenil
    Commented Aug 23, 2013 at 19:51
  • 2
    Investopedia has a good article on how e.g. the NYSE matches buyers and sellers. investopedia.com/articles/basics/03/103103.asp Commented Aug 23, 2013 at 19:57
  • 3
    @Zenil but they're matched, not changed
    – littleadv
    Commented Aug 23, 2013 at 19:57
  • 4
    Chris and littleadv are correct. I think you're confusing algorithmic trading, where trading firms use computers to trade stocks based on algorithms, and the automatic matching system the exchanges uses to match buy/sell orders. These are two very different concepts. Commented Aug 23, 2013 at 20:02

4 Answers 4


I may be underestimating your knowledge of how exchanges work; if so, I apologize. If not, then I believe the answer is relatively straightforward.

Lets say price of a stock at time t1 is 15$ .

There are many types of price that an exchange reports to the public (as discussed below); let's say that you're referring to the most recent trade price. That is, the last time a trade executed between a willing buyer and a willing seller was at $15.00.

Lets say a significant buy order of 1M shares came in to the market.

Here I believe might be a misunderstanding on your part. I think you're assuming that the buy order must necessarily be requesting a price of $15.00 because that was the last published price at time t1. In fact, orders can request any price they want. It's totally okay for someone to request to buy at $10.00. Presumably nobody will want to sell to him, but it's still a perfectly valid buy order.

But let's continue under the assumptions that at t1:

  • there already are people who've told NYSE they're willing to sell at $15.00
  • there's nobody who's told NYSE they're willing to sell below $15.00
  • there already are people who've told NYSE they're willing to buy at $14.99
  • there's nobody who's told NYSE they're willing to buy above $14.99

This makes the bid $14.99 and the ask $15.00. (NYSE also publishes these prices.)

There aren't enough people selling that stock.

It's quite rare (in major US equities) for anyone to place a buy order that exceeds the total available shares listed for sale at all prices. What I think you mean is that 1M is larger than the amount of currently-listed sell requests at the ask of $15.00.

So say of the 1M only 100,000 had a matching sell order and others are waiting.

So this means that there were exactly 100,000 shares waiting to be sold at the ask of $15.00, and that all other sellers currently in the market told NYSE they were only willing to sell for a price of $15.01 or higher. If there had been more shares available at $15.00, then NYSE would have matched them.

This would be a trigger to the automated system to start increasing the price.

Here is another point of misunderstanding, I think. NYSE's automated system does not invent a new, higher price to publish at this point. Instead it simply reports the last trade price (still $15.00), and now that all of the willing sellers at $15.00 have been matched, NYSE also publishes the new ask price of $15.01. It's not that NYSE has decided $15.01 is the new price for the stock; it's that $15.01 is now the lowest price at which anyone (known to NYSE) is willing to sell. If nobody happened to be interested in selling at $15.01 at t1, but there were people interested in selling at $15.02, then the new published ask would be $15.02 instead of $15.01 -- not because NYSE decided it, but just because those happened to be the facts at the time.

Similarly, the new bid is most likely now $15.00, assuming the person who placed the order for 1M shares did not cancel the remaining unmatched 900,000 shares of his/her order. That is, $15.00 is now the highest price at which anyone (known to NYSE) is willing to buy.

How much time does the automated system wait to increment the price, the frequency of the price change and by what percentage to increment etc.

So I think the answer to all these questions is that the automated system does none of these things. It merely publishes information about (a) the last trade price, (b) the price that is currently the lowest price at which anyone has expressed a willingness to sell, and (c) the price that is currently the highest price at which anyone has expressed a willingness to buy.

::edit:: Oh, I forgot to answer your primary question.

Can we estimate the impact of a large buy order on the share price?

Not only can we estimate the impact, but we can know it explicitly. Because the exchange publishes information on all the orders it knows about, anyone tracking that information can deduce that (in this example) there were exactly 100,000 shares waiting to be purchased at $15.00. So if a "large buy order" of 1M shares comes in at $15.00, then we know that all of the people waiting to sell at $15.00 will be matched, and the new lowest ask price will be $15.01 (or whatever was the next lowest sell price that the exchange had previously published).

  • 1
    @dg99: when the seller sees a large buy order on the book, he will probably increase his sell price from 15.01(or whatever was his lowest price) to something higher. So I think it is not always right that we can 'know it explicitly'. That is why there is so much research around 'market impact'. Just my humble opinion, i could be wrong
    – Victor123
    Commented Feb 18, 2014 at 22:45
  • 3
    @Kaushik The OP seemed to be asking more about basic market mechanics than about dynamic behavior of market participants, which is why I only addressed the former. Also, technically speaking, the price in the instant after the buy order is processed and before any other order is processed can be known deterministically. What will happen in the next instant is the mystery.
    – dg99
    Commented Feb 20, 2014 at 20:02
  • So if someone places a market order to buy 1M shares and there aren't that many shares on available at any price, all the sell orders will fill, the last price will spike to what the highest ask was, and... then what? What will the bid/ask be since all the asks have been taken out and the remaining "overhang" (if you can call it that for a buy order) is at "market"?
    – user12515
    Commented Mar 1, 2014 at 16:35
  • 1
    @Michael The result in your scenario depends on the type of buy order that was placed and the exchange on which it was placed. (There are 100s of order types and their meaning differs by exchange.) In some cases a market order will be filled as much as possible and the rest of the order will be cancelled. Another case might allow the remaining buy qty to just float and wait for the next seller (at whatever dangerous "flash crash/spike" price he specifies!). A third case could be that the remaining buy qty turns into a resting buy order at the price of the final sell.
    – dg99
    Commented Mar 6, 2014 at 20:59
  • 2
    @supercat There are many possible definitions of market price: last trade, highest bid, lowest ask, midpoint between highest bid and lowest ask, weighted midpoint between highest bid and lowest ask, moving average of past X trades, etc. Everyone uses their own personal favorite definition, so you're welcome to choose whichever you like.
    – dg99
    Commented May 6, 2015 at 21:21

There are two distinct questions that may be of interest to you. Both questions are relevant for funds that need to buy or sell large orders that you are talking about.

What is the instantaneous price move that a large buy order causes?

The answer depends on your order type and the current market state such as the level 2 order book. Suppose there are no iceberg or hidden orders and the order book (image courtesy of this question) currently is:
Order book

An unlimited ("at market") buy order for 12,000 shares gets filled immediately: it gets 1,100 shares at 180.03 (1,[email protected]), 9,700 at 180.04 and 1,200 at 180.05. After this order, the lowest ask price becomes 180.05 and the highest bid is obviously still 180.02 (because the previous order was a 'market order').

A limited buy order for 12,000 shares with a price limit of 180.04 gets the first two fills just like the market order: 1,100 shares at 180.03 and 9,700 at 180.04. However, the remainder of the order will establish a new bid price level for 1,200 shares at 180.04.

It is possible to enter an unlimited buy order that exhausts the book. However, such a trade would often be considered a mis-trade and either (i) be cancelled by the broker, (ii) be cancelled or undone by the exchange, or (iii) hit the maximum price move a stock is allowed per day ("limit up").

What is the market impact of a large order that is executed over one day or several days?

Funds and banks often have to buy or sell large quantities, just like you have described. However they usually do not punch through order book levels as I described before. Instead they would spread out the order over time and buy a smaller quantity several times throughout the day. Simple algorithms attempt to get a price close to the time-weighted average price (TWAP) or volume-weighted average price (VWAP) and would buy a smaller amount every N minutes.
Despite splitting the order into smaller pieces the price usually moves against the trader for many reasons. There are many models to estimate the market impact of an order before executing it and many brokers have their own model, for example Deutsche Bank. There is considerable research on "market impact" if you are interested.


I understand the general principal that when significant buy orders comes in relative to the sell orders price goes up and when a significant sell order comes in relative to buy orders it goes down.

I consider this statement wrong or at least misleading. First, stocks can jump in price without or with very little volume. Consider a company that releases a negative earnings surprise over night. On the next day the stock may open 20% lower without any orders having matched for any price in between. The price moved because the perception of the stocks value changed, not because of buy or sell pressure.
Second, buy and sell pressure have an effect on the price because of the underlying reason, and not necessarily/only because of the mechanics of the market. Assume you were prepared to sell HyperNanoTech stock, but suddenly there's a lot of buzz and your colleagues are talking about buying it. Would you still sell it for the same price? I wouldn't. I would try to find out how much they are prepared to buy it for. In other words, buy pressure can be the consequence of successful marketing of the stock and the marketing buzz is what changes the price.


If you look at a trade grid you can see how this happens. If there are enough bids to cover all shares currently on the sell side at a certain price, those shares will be bought and increased price quotes will be shown for the bids and ask. If there are enough bids to cover this price, those will get bought and higher prices will be shown and this process will repeat until the sell side has more power than the buy side. It seems like this process is going on all day long with momentum either on the upside or downside.

But I think that much of this bidding and selling is automatic and is being done by large trading firms and high tech computers. I also feel that many of these bids and asks are already programmed to appear once there is a price change. So once one price gets bought, computers will put in higher bids to take over asks. It's like a virtual war between trading firms and their computers. When more money is on the buy side the stock will go up, and vice versa.

I sort of feel like this high-frequency trading is detrimental to the markets and doesn't really give everyone a fair shot. Retail investors do not have the resources and knowledge in order to do this sort of high frequency trading. It also seems to go against certain free market principles in my opinion.


Orders large enough to buy down the current Bid and Ask Book are common. This is the essential strategy through which larger traders "Strip" the Bid or Ask in order to excite motion in a direction that is favorable to their interests. Smaller traders will often focus on low float/small cap tickers, as both conditions tend to favor volatility on relatively small volume.

  • AIUI sending orders with the intention of causing market impact is considered market manipulation and is against the rules. Even causing market chaos unintentionally can get you in trouble. Commented Feb 1, 2017 at 15:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .