Since 3 August 2026, NSE has set the official closing price of every stock with futures and options through a closing auction that runs from 3:15 to 3:35 PM. The close is now one matched auction price, and it can be noticeably different from the last price you saw trade. I learned this the hard way: tonight I corrected 15 of the 16 stock prices in my 1 October market report.
This guide covers how the auction works, what changed for derivatives, and the specific trap it creates if you build reports or backtests from live quotes.
What changed on 3 August 2026
NSE introduced a closing auction session (CAS) in the equity cash segment under circular NSE/CMTR/74466, dated 29 May 2026. As reported by HDFC Sky and Geojit:
- Which stocks: only stocks in the F&O segment, at first. Other stocks keep trading in the continuous session until 3:30 PM and close the old way.
- When: 3:15 to 3:35 PM, every trading day.
- How the close is set: all orders are collected and matched at one equilibrium price, the price at which the most volume can trade. That price is the official close. Before this, the close was a volume-weighted average of the last 30 minutes of trading.
- Derivatives hours: index and stock futures and options now trade until 3:40 PM instead of 3:30 PM. The derivatives closing price is the VWAP of trades between 3:10 and 3:40 PM.
- Two exchanges: NSE and BSE run separately, so a stock can have different closing prices on each.
If you know how the pre-open session sets the 9:15 open, the idea is the same in reverse: a call auction that discovers one price from a pile of orders, instead of a stream of individual trades.
The auction, minute by minute
Geojit's summary of the rules breaks the window into phases:
| Time | What happens |
|---|---|
| 3:00 to 3:15 PM | Reference price calculated: the VWAP of trades in this window (if there are none, the last traded price or the previous close) |
| 3:15 to 3:20 PM | Transition: no new orders and no modifications |
| 3:20 to 3:25 PM | Order entry: market and limit orders accepted |
| 3:25 PM to close | Limit orders only; the session ends at a random moment between 3:28 and 3:30 PM |
| After close | Orders matched at the equilibrium price, which becomes the closing price |
A few rules matter if you place orders in this window:
- Price band. Orders must be within 3% of the reference price. The band is fixed and doesn't flex. Orders outside it are cancelled by the exchange.
- Order types. Stop-loss and disclosed-quantity orders are not allowed. Algo orders and IOC orders are.
- Random end. The random close between 3:28 and 3:30 PM is there to stop last-second attempts to move the price.
- No price found. If the auction finds no equilibrium, the reference price becomes the close.
- Leftovers. Unmatched IOC orders are cancelled. Day orders that don't match are carried forward to the post-close session.
Last traded price versus official close: a real example
This is where it caught me. A live quote shows the last traded price, which for an F&O stock is no longer the close. On 5 October I pulled both for the day's busiest large stocks from Zerodha Kite. The first column is the last traded price on the quote I took in the evening. The second is the official close from Kite's daily candle. Both changes are measured against the 1 October official close.
| Stock | Last traded price | Change on that | Official close | Official change | Gap |
|---|---|---|---|---|---|
| ITC | ₹268.90 | +5.08% | ₹267.80 | +4.65% | 0.43 pts |
| Bharti Airtel | ₹1,779.90 | +2.23% | ₹1,770.00 | +1.66% | 0.57 pts |
| Shriram Finance | ₹971.40 | +2.79% | ₹966.70 | +2.30% | 0.49 pts |
| TCS | ₹2,114.40 | +1.90% | ₹2,105.00 | +1.45% | 0.45 pts |
| Reliance | ₹1,186.40 | +1.60% | ₹1,188.70 | +1.80% | 0.20 pts |
| HCL Technologies | ₹1,201.90 | −3.31% | ₹1,199.30 | −3.52% | 0.21 pts |
The gaps run both ways. Reliance's official close was above its last traded price, and the others were below. A gap of half a percentage point is enough to change the order of a top-gainers list.
I haven't confirmed exactly which trade that last-traded figure on the quote reflects, so I treat it as "a live price" and nothing more. The daily candle's close is the one that matches what the exchange and the news report.
The mistake I made, and how I fixed it
My 1 October post-market report quoted stock prices from live quotes taken after the session. Tonight I checked them against Kite's daily closes for 30 September and 1 October. 15 of the 16 stock prices were off, and so were their percentage changes. A few examples:
| Stock | What I first published | Official close and change |
|---|---|---|
| Eicher Motors | ₹6,975.00, −2.45% | ₹6,920.00, −3.22% |
| Bajaj Auto | ₹10,055.00, −7.53% | ₹10,045.00, −7.62% |
| Infosys | ₹1,028.90, +3.50% | ₹1,035.00, +4.11% |
| Maruti Suzuki | ₹11,350.00, −5.16% | ₹11,386.00, −4.86% |
The Eicher figure was ₹55 away from the close. The report has been corrected. The only stock that matched was ITC. The index figures were right, because I took those from the daily data.
From now on, the rule I follow for the evening report is simple. Prices and changes come from the official daily close, never from a live quote taken after 3:30 PM. The quote is fine for checking that the data is there, but not for publishing.
What it means if you build with this data
Backtests. If your history is made of daily candles from the exchange or your broker, the closes from 3 August onward are auction prices for F&O stocks. If you rebuild "closes" from your own minute bars or a tick stream, you'll get the last continuous trade instead, and the two series won't match. Mixing them in one test is the kind of quiet error I wrote about in how to backtest an intraday strategy.
Live prices. A Kite websocket stream gives you trades as they happen. It's the right input for a live system and the wrong input for "today's close" in a report.
Exits near the close. An F&O stock now has a 3:15 to 3:20 PM window when no new orders can be entered in the cash market, and a 3% band after that. If your bot exits cash positions late in the day, check whether its timing still makes sense under these rules. I haven't measured how the auction changes fills, so I'm not going to guess at it.
The index. In Kite's five-minute Nifty data for 5 October, the 3:15 and 3:20 PM candles were flat at 22,535.45, and the official close of 22,555.75 appeared in the 3:25 PM candle. I haven't found an NSE document on how the index is computed during the auction window, so I'm not drawing any conclusion from that. I just don't use those candles as normal trading data.
A quick checklist
- For any F&O stock after 3 August 2026, the close is the auction price.
- Take published closes from the daily candle or the exchange, not from an evening quote.
- Expect NSE and BSE closes for the same stock to differ.
- Remember the derivatives session runs to 3:40 PM, ten minutes after the cash market's continuous session ends.
- If you place orders after 3:15 PM, check the phase: no entry from 3:15 to 3:20, limit orders only after 3:25, and a 3% band.
Sources
- NSE circular NSE/CMTR/74466 (29 May 2026), as summarised by HDFC Sky
- Phases, order types and fallback rules: Geojit
- Last traded prices, official closes and Nifty candles for 30 September, 1 October and 5 October 2026: Zerodha Kite market data
This guide explains exchange rules and my own data handling for information only. It is not investment advice or a recommendation to buy or sell any security. I am not registered with SEBI as an investment adviser or research analyst.