NineFifteenAM

Pillar guide · updated monthly

The closing auction session explained: how F&O stocks close now

6 min readBy NineFifteenAM

Since 3 August 2026, NSE sets the closing price of F&O stocks with a 3:15 to 3:35 PM auction. How it works, and why the last trade is no longer the close.

Short answer

Since 3 August 2026, the official closing price of stocks with futures and options on NSE has been set by a closing auction session that runs from 3:15 to 3:35 PM. Orders are collected and matched at the single price that executes the most volume. That price becomes the close, so the last traded price you see during the day can differ from it.

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:

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:

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

  1. For any F&O stock after 3 August 2026, the close is the auction price.
  2. Take published closes from the daily candle or the exchange, not from an evening quote.
  3. Expect NSE and BSE closes for the same stock to differ.
  4. Remember the derivatives session runs to 3:40 PM, ten minutes after the cash market's continuous session ends.
  5. 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

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.

Questions people ask me

What is the closing auction session on NSE?

It is a short auction at the end of the day for stocks that have futures and options. From 3:15 PM, NSE collects buy and sell orders and matches them at one equilibrium price, the price at which the most shares can trade. That price is the stock's official closing price. It started on 3 August 2026 under NSE circular NSE/CMTR/74466 of 29 May 2026.

Which stocks are in the closing auction?

At launch, only stocks in the F&O segment. Other stocks continue in normal continuous trading until 3:30 PM and close under the existing method.

Why is the closing price different from the last traded price?

For F&O stocks, the close is the auction price, not the last trade of the continuous session. On 5 October 2026, for example, ITC's last traded price on my Kite quote was ₹268.90 while its official close was ₹267.80, so the day's change read +5.08% on one and +4.65% on the other.

Can I place market orders in the closing auction?

According to Geojit's summary of the rules, market and limit orders are accepted from 3:20 to 3:25 PM, and only limit orders after that. Stop-loss and disclosed-quantity orders are not allowed. Orders more than 3% away from the reference price are cancelled.

Did F&O trading hours change with the closing auction?

Yes. From 3 August 2026, index and stock futures and options trade until 3:40 PM instead of 3:30 PM.

closing auction sessionclosing pricensef&o stocksmarket timingskite connect
N

NineFifteenAM

One trader building an options bot for Indian index markets since early 2026. I write down how it is built, what broke, and what it cost — no tips, no calls, no returns.

Related

30 Sept 2026
Streaming live prices with the Kite Connect websocket in PythonA runnable Python script for Zerodha's Kite Connect websocket: subscribe, pick a mode, read a tick field by field, handle reconnects and shut down cleanly.
Guides
29 Sept 2026
Zerodha Kite Connect: what it costs and whether it's worth itWhat Kite Connect costs in 2026, what the free and ₹500 plans include, the rate and data limits you'll hit, and who the paid plan is worth it for.
Guides
29 Sept 2026
How to place your first order with the Kite Connect API in PythonPlace, check and cancel your first order with Zerodha's Kite Connect API in Python, after rehearsing it in a paper mode that sends nothing to the exchange.
Guides