How is open price calculated on Stock Exchange - FinLib (2024)

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:

  1. Limit orders are matched with Limit orders
  2. Then, Limit orders are matched with Market Orders
  3. 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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B1501,0051,001.510S1
B2501,0041,00220S2
B31001,0031,002.520S3
B4251,002.51,003125S4
B5201,0021,00480S5
B6751,001.51,00540S6
B7801,0011,00650S7

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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B3251,0031,00480S5
B4251,002.51,00540S6
B5201,0021,00650S7
B6751,001.5
B7801,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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B110MarketMarket75S1
B21501,010Market25S2
B3701,0091,00840S3
B4601,0081,00970S4
B5801,0071,01140S5
B61001,0051,015140S6

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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B3201,0091,01140S5
B4601,0081,015140S6
B5801,007
B61001,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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B125MarketMarket75S1
B2701,005Market25S2
B3601,003Market40S3
B41001,002
B52101001

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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B1100MarketMarket50S1
B21001,0051,00350S2
B33001,0041,004100S3
B41501,0031,005300S4
B55001,0001,008450S5

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.

  1. Previous Close Price is less than INR 1,004.49
    In this case, the Open price will be set as INR 1,004.
  2. Previous Close Price is greater than INR 1,004.51
    In this case, the Open price will be set as INR 1,005.
  3. 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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B125MarketMarket50S1
B2150MarketMarket50S2
B3100MarketMarket100S3
Market300S4

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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
1,100225S4

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 IDBuy
quantity
Buy PriceSell PriceSell
quantity
Order ID
B1101,0051,00850S1
B2401,0021,009100S2
B3801,0011,01020S3
B4701,0011,013250S4

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
How is open price calculated on Stock Exchange - FinLib (2024)
Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 6117

Rating: 4.4 / 5 (75 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.