Blog · Exchanges
NSE, BSE, MCX and NCDEX trading hours: the complete session guide
Pre-open, continuous trading, closing session, the post-close window and the commodity evening session — what happens in each, why the timings differ between exchanges, and what it means for your data feed.
India runs four major exchanges on three different clocks. Equities finish in mid-afternoon, commodities trade into the night, and agricultural contracts follow neither. If you trade more than one asset class — or build software that has to know when a market is open — the differences stop being trivia and start being architecture.
The equity trading day, in four parts
Most people describe NSE and BSE as trading “9:15 to 3:30”. That is the continuous session, and it is the part you interact with most — but the day has four distinct phases, and each behaves differently in your data feed.
1. The pre-open session
Before continuous trading begins, the market runs a call auction. Orders are collected but not matched immediately; instead the exchange calculates a single opening price that maximises the volume that can be executed, and everything trades at that one price.
This exists to solve a real problem. Overnight, news accumulates — results, global moves, policy decisions. If the market simply opened for continuous trading, the first few seconds would be chaotic price discovery with terrible fills for whoever was fastest to click. The auction gathers everyone's intentions first and opens at a considered price.
The session has internal phases: an order entry window, a brief random close to prevent last-instant gaming, a matching phase where the equilibrium price is calculated and trades are confirmed, and a buffer before continuous trading begins.
2. The continuous session
This is normal trading: orders match against each other as they arrive, on price-time priority. It is the longest phase and produces the overwhelming majority of your tick data.
3. The closing session
The closing price of a stock is not simply the last trade. It is a weighted average of trades in the final window of the session. This is deliberate: if the close were the last print, it could be moved by a single small trade, which matters enormously because closing prices determine index values, mutual fund NAVs and derivative settlements.
This is worth understanding because it explains a discrepancy people frequently report: the closing price shown by the exchange does not match the close of the last candle on their chart. Both are correct. They are measuring different things — your chart shows the last traded price, the exchange publishes the weighted average.
4. The post-close window
After the closing price is determined, a short window allows orders at that fixed price. No new price discovery happens. If your feed shows a handful of trades after the session apparently ended, this is usually why.
Periodic call auctions for illiquid stocks
Not every listed stock trades continuously. Securities classified as illiquid are moved into periodic call auctions — several short auction windows through the day rather than continuous matching.
The reasoning is sound. In a stock that trades a handful of times a day, continuous matching produces a wide spread, erratic pricing and easy manipulation. Batching orders into periodic auctions concentrates whatever liquidity exists into moments where it can actually meet.
For a trader, the practical implication is that a chart of such a stock will look strange — long flat stretches punctuated by isolated prints. That is not a data fault. It is the market structure of that security, faithfully represented.
MCX: the exchange that trades into the night
Commodity markets follow a different logic entirely, because their reference prices are set internationally. Crude oil, gold, silver and base metals price primarily in New York and London. An Indian commodity exchange closing in mid-afternoon would leave participants exposed for hours to markets moving without them.
So MCX runs an evening session extending well past equity hours. This creates several practical consequences worth planning for:
- The session shifts twice a year. When US daylight saving changes, the international session moves, and MCX's evening close typically follows. A hard-coded end time in your system will be wrong twice a year.
- Your data client runs much longer. A machine that comfortably handled a six-hour equity session now needs to stay connected for twelve or more. Memory leaks that never surfaced suddenly matter, and reconnection behaviour stops being theoretical — which is why the data client handling a dropped session cleanly matters more on commodities than anywhere else.
- “Daily” needs defining. When a session crosses midnight, deciding which trading day a trade belongs to is a real design decision, not an obvious one.
NCDEX and agricultural commodities
NCDEX handles agricultural contracts — guar, castor, cotton, spices, pulses. These follow their own schedule, generally shorter than metals and energy, because their reference market is domestic rather than international. There is no compelling reason for a chana contract to track New York.
Agri contracts also behave differently in ways that matter for data:
- Thinner order books. Fewer trades, wider spreads, and long periods where nothing prints at all.
- Strong seasonality. Sowing, harvest and monsoon shape volume patterns in ways financial contracts do not have.
- Physical delivery is meaningful. A larger share of agricultural contracts goes to delivery, which shapes behaviour near expiry.
Anyone reconciling volume figures on agricultural contracts should also be aware that aggregating a session with sparse trading is easy to get subtly wrong — a bar with no trades is not the same as a bar with zero volume, and systems that conflate them produce misleading charts.
Holidays, and the special sessions
Indian exchanges publish a holiday calendar each year, and it is not the same as the bank holiday list. Two further categories catch people out:
Muhurat trading — a short ceremonial session on Diwali, on a day that is otherwise a holiday. Symbolically important, and genuinely tradeable. Systems that assume “holiday means closed” will simply miss it.
Special live sessions — exchanges occasionally run trading on a Saturday to test disaster recovery. Real orders, real trades, on a day your calendar says is a weekend.
Both are announced by circular in advance. Both break naive calendar logic, and both are the sort of thing worth confirming with support rather than discovering from a gap in your history. If your system decides whether to connect based on the day of the week, it will be wrong several times a year.
What this means for your setup
Pulling the threads together, four practical points:
- Know which session you are looking at. A gap in your chart at 9:08 is not missing data — it is the auction. A trade after 3:30 is not an error — it is the post-close window.
- Expect the closing price to differ from your last candle. They measure different things, and both are right.
- If you trade commodities, plan for the long session. Your data client, your machine and your own attention all need to last longer than an equity day.
- Never hard-code timings. They change, seasonally and by circular. Make them configuration.
None of this is exotic knowledge. It is simply the kind of thing that is obvious once someone explains it, and expensive to learn by discovering that your backtest included trades from a session you did not know existed.
- The equity day has four phases — pre-open auction, continuous, closing, post-close — and each produces different data
- The official closing price is a weighted average, not the last trade, which is why it differs from your chart
- Illiquid stocks trade in periodic call auctions, so their sparse charts are structure, not a data fault
- MCX runs an evening session that shifts with international daylight saving; NCDEX agri contracts follow a shorter domestic schedule
- Muhurat and special live sessions break day-of-week logic — always confirm current timings against exchange circulars
See it on your own screen
Five days of full realtime access, on your platform and your symbols. Everything described above, running live.
Start your 5-day free trial