How is the open share price determined for a stock?
The stock market in India is open for normal trading from 09:15 AM to 03:30 PM. However, before the markets open, there is a pre opening session from 09:00 AM to 09:15 AM. During this session, trades are executed based on a Call auction mechanism and the orders can be placed in advance.
The received orders are then matched and depending on the supply and demand, the Opening Price of the stock is decided. Following this mechanism prevents sudden movements in the market and helps in smooth opening of the normal trading session.
On this page, we try to explain how is the open price calculated by the Stock Exchanges in different scenarios. Examples will also be provided for different use cases, depending on the type of orders that are received.
Calculation of Open Price
As explained in What is Pre opening session in stock market, there are different phases in this trading period. In first phase, orders are collected from the traders and in the second phase, these orders are matched. On a high level, the Opening Price calculation is done in the following way:
Step 1: Once all orders are received, the buy and sell orders are batched together
Step 2: An equilibrium price and quantity is decided after batching
Step 3: The exchanges calculate Open Price in such a way that maximum trades are executed and there is minimum imbalance of orders
Step 4: Eligible trades are executed on the single Open price and some Buy and Sell orders get a better price
Step 5: Orders that were not executed, are put in the pending Order Book for the normal trading session
All the orders are given a unique Order Number and Order Time to assemble a queue. The matching of orders then has the following priority:
- Limit orders are matched with Limit orders
- Then, Limit orders are matched with Market Orders
- Then, Market orders are matched with Market orders
Depending on the type of orders received and the supply and demand, there are different scenarios that could be applicable. We will now explain them and provide examples to better explain how is the open price calculated.
Case 1: When a unique open price can be calculated (Limit orders)
Let us start with a basic example where only limit orders have been submitted and it is possible to find a unique open share price.
Example: Suppose the Market Depth looks like this after the order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 50 | 1,005 | 1,001.5 | 10 | S1 |
B2 | 50 | 1,004 | 1,002 | 20 | S2 |
B3 | 100 | 1,003 | 1,002.5 | 20 | S3 |
B4 | 25 | 1,002.5 | 1,003 | 125 | S4 |
B5 | 20 | 1,002 | 1,004 | 80 | S5 |
B6 | 75 | 1,001.5 | 1,005 | 40 | S6 |
B7 | 80 | 1,001 | 1,006 | 50 | S7 |
Here are the number of trades and imbalances at different prices:
INR 1,005 – Number of trades: 50 (B1 matched with S1 + S2 + S3)
(Imbalance: 245 from S4, S5, S6)
INR 1,004 – Number of trades: 100 (B1 + B2 matched with S1 + S2 + S3 + S4)
(Imbalance: 155 from S4, S5)
INR 1,003 – Number of trades: 175 (B1 + B2 + B3 matched with S1 + S2 + S3 + S4)
(Imbalance: 25 from B3)
INR 1,002.5 – Number of trades: 50 (B1 matched with S1 + S2 + S3)
(Imbalance: 175 from B2, B3, B4)
INR 1,002 – Number of trades: 30 (B1 matched with S1 + S2)
(Imbalance: 215 from B1, B2, B3, B4, B5)
As it can be seen in the above scenarios, the maximum trades are executed at INR 1,003. Therefore the calculated Open Price will be INR 1,003 and all the eligible orders will be executed at this price. The pending orders will be added to Order Book for normal trading, which will look something like this:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B3 | 25 | 1,003 | 1,004 | 80 | S5 |
B4 | 25 | 1,002.5 | 1,005 | 40 | S6 |
B5 | 20 | 1,002 | 1,006 | 50 | S7 |
B6 | 75 | 1,001.5 | |||
B7 | 80 | 1,001 |
Case 2: When a unique Open Price can be calculated (Limit and market orders)
Let us look at an example where limit and market orders have been submitted and it is possible to determine a unique open price.
Example: Suppose the market depth looks like this after the order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 10 | Market | Market | 75 | S1 |
B2 | 150 | 1,010 | Market | 25 | S2 |
B3 | 70 | 1,009 | 1,008 | 40 | S3 |
B4 | 60 | 1,008 | 1,009 | 70 | S4 |
B5 | 80 | 1,007 | 1,011 | 40 | S5 |
B6 | 100 | 1,005 | 1,015 | 140 | S6 |
Here are the number of trades and imbalances at different prices:
INR 1,010 – Number of trades: 160 (B1 + B2 matched with S1 + S2 + S3 + S4)
(Imbalance: 50 from S4)
INR 1,009 – Number of trades: 210 (B1 + B2 + B3 matched with S1 + S2 + S3 + S4)
(Imbalance: 20 from B3)
INR 1,008 – Number of trades: 140 (B1 + B2 matched with S1 + S2 + S3)
(Imbalance: 150 from B2, B3, B4)
INR 1,007 – Number of trades: 100 (B1 + B2 matched with S1 + S2)
(Imbalance: 270 from B2, B3, B4, B5)
As it can be seen in the above scenarios, the maximum trades are executed at INR 1,009. Therefore the Open Price will be INR 1,009 and all eligible orders will be executed at this price. The pending orders will be added to Order Book for normal trading, which will look something like this:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B3 | 20 | 1,009 | 1,011 | 40 | S5 |
B4 | 60 | 1,008 | 1,015 | 140 | S6 |
B5 | 80 | 1,007 | |||
B6 | 100 | 1,005 |
Case 3: When there are Only market orders on either Buy or Sell side
Let us look at an example where there are only Market orders on Sell side and a mix of limit and market orders on Buy side.
Example: Suppose the market depth looks like this after order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 25 | Market | Market | 75 | S1 |
B2 | 70 | 1,005 | Market | 25 | S2 |
B3 | 60 | 1,003 | Market | 40 | S3 |
B4 | 100 | 1,002 | |||
B5 | 210 | 1001 |
Here are the number of trades and imbalances at different prices:
INR 1,005 – Number of trades: 95 (B1 + B2 matched with S1 + S2)
(Imbalance: 45 from S2, S3)
INR 1,003 – Number of trades: 140 (B1 + B2 + B3 matched with S1 + S2 + S3)
(Imbalance: 15 from B3)
INR 1,002 – Number of trades: 140 (B1 + B2 + B3 matched with S1 + S2 + S3)
(Imbalance: 115 from B3, B4)
INR 1,001 – Number of trades: 140 (B1 + B2 matched with S1 + S2 + S3)
(Imbalance: 325 from B3, B4, B5)
As it can be seen in the above scenarios, the maximum trades (140) are executed at: INR 1,003, INR 1,002 and INR 1,001. To calculate Open Price in such a case, the price is chosen at which imbalance quantity is less. In our example, the imbalance quantity is lower at INR 1,003.
Therefore the Opening Price will be INR 1,003 and all the eligible orders will be executed at this price. The pending orders will be added to Order Book for normal trading.
Case 4: When multiple Open Prices are possible
Now, let us look at an example where maximum number of trades happen on multiple prices.
Example: Suppose the market depth looks like this after order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 100 | Market | Market | 50 | S1 |
B2 | 100 | 1,005 | 1,003 | 50 | S2 |
B3 | 300 | 1,004 | 1,004 | 100 | S3 |
B4 | 150 | 1,003 | 1,005 | 300 | S4 |
B5 | 500 | 1,000 | 1,008 | 450 | S5 |
Here are the number of trades and imbalances at different prices:
INR 1,008 – Number of trades: 100 (B1 matched with S1 + S2)
(Imbalance: 850 from S3, S4, S5)
INR 1,005 – Number of trades: 200 (B1 + B2 matched with S1 + S2 + S3)
(Imbalance: 300 from S4)
INR 1,004 – Number of trades: 200 (B1 + B2 matched with S1 + S2 + S3)
(Imbalance: 300 from B3)
INR 1,003 – Number of trades: 100 (B1 matched with S1 + S2)
(Imbalance: 550 from B2, B3, B4)
INR 1,000 – Number of trades: 50 (B1 matched with S1)
(Imbalance: 1,100 from B1, B2, B3, B4, B5)
As it can be seen in the above scenarios, the maximum trades (200) are executed at INR 1,005 and INR 1,004. To decide the Opening Price in such a case, the price is chosen at which imbalance quantity is less. In our example, the imbalance quantity is same as well (300).
In this case, the calculation of Open Price is a bit tricky. To decide between INR 1,004 or 1,005, the previous day Closing Price is used as a reference point. There are 3 possibilities of the Close Price on the day before.
- Previous Close Price is less than INR 1,004.49
In this case, the Open price will be set as INR 1,004. - Previous Close Price is greater than INR 1,004.51
In this case, the Open price will be set as INR 1,005. - Previous Close Price is exactly INR 1,004.5
In this case, the Open price is set as INR 1,004.5.
Case 5: When there are Only market orders on both Buy and Sell side
Now, let us look at an example where there are only market orders on both Buy and Sell side.
Example: Suppose the market depth looks like this after order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 25 | Market | Market | 50 | S1 |
B2 | 150 | Market | Market | 50 | S2 |
B3 | 100 | Market | Market | 100 | S3 |
Market | 300 | S4 |
To compute the Opening Price in such a case, the previous day Closing Price is used as the Open Price. All eligible orders will be executed at the previous Close Price. The pending orders will be changed to Limit orders at the previous Close Price and added to Order Book for normal trading.
Let us assume that the previous close in above example was INR 1,100. So, 275 shares will be traded at this price and the pending Order Book, which will look something like this:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
1,100 | 225 | S4 | |||
Case 6: When no orders can be matched
Finally, let us look at an example where there are no matching orders.
Example: Suppose the market depth looks like this after order collection period:
Order ID | Buy quantity | Buy Price | Sell Price | Sell quantity | Order ID |
B1 | 10 | 1,005 | 1,008 | 50 | S1 |
B2 | 40 | 1,002 | 1,009 | 100 | S2 |
B3 | 80 | 1,001 | 1,010 | 20 | S3 |
B4 | 70 | 1,001 | 1,013 | 250 | S4 |
In this case, there is no overlap in the prices of Buy and Sell orders. Therefore, no trades will happen and all orders will be added to the Order Book for normal trading. Since no trades happened in the pre opening session, the open share price in this case will be the price at which the first trade is executed in the normal market session.
Disclaimer
- This page is for education purpose only
- Some information could be outdated / inaccurate
- Investors should always consult with certified advisors and experts before taking final decision
- Some images and screenshots on this page might not be owned by FinLib