Every trading day the Nifty hands you two prices that matter: where it opened and where it closed. Between yesterday's close and today's open the market is shut. Between the open and the close it's busy. So here's a simple question. Over the last twenty years, which of those two stretches actually made the money?
I expected a boring answer, something close to a split by hours. That's not what came out. Since October 2010, holding the Nifty only while the market was closed would have compounded at 30.9% a year. Holding it only while the market was open would have lost 15.9% a year. The index itself did 10.1%.
That's a big claim, so most of this post is me trying to break it.
§ 1Splitting a Day in Two
Call today's open O_t and today's close C_t. The day's return splits exactly into a night leg and a day leg:
The two legs compound back to the usual close to close return, and in logs they simply add, so the whole period's move is a sum of night pieces plus a sum of day pieces:
On a normal weekday the night leg runs from the 15:30 close to the 09:15 open, about 17 hours 45 minutes. The day leg is the 6 hour 15 minute session. I took every session from 2 January 2006 to 31 December 2025, 4,936 of them, and asked how equation (2) divides up.
§ 2The Open That Didn't Move
The data is NSE's official daily Nifty 50 history, stitched from three public copies that agree to the paisa wherever they overlap (sources at the end). I dropped the 17 one-hour Diwali muhurat sessions, since they trade in the evening and their move really belongs to the night.
Then I hit a problem I didn't expect. For most of 2006 to 2010, the official open is suspiciously close to the previous close. Here's the share of days where the two are within 5 basis points:
Figure 1. Share of sessions whose official open sat within 5 bp of the prior close. Red bars are before the pre-open auction. 2007 is the odd one out, the only early year with live opening prints.
The break is at 18 October 2010, the day NSE started its pre-open call auction: orders go in from 09:00 to 09:08, a single opening price is struck, and continuous trading starts at 09:15. Before that, the official open was just the first index print, computed while plenty of constituents were still carrying yesterday's price. The average size of the opening gap jumps from 4.2 bp in early 2010 to 38.7 bp in the ten weeks after the auction began.
This matters a lot. A stale open books the whole night's move as daytime. Any twenty year average that includes 2006 to 2010 is quietly mixing two different measurements. So everything below uses the 3,755 sessions from 18 October 2010, and I show the full twenty years only where it helps.
§ 3Night Versus Day
Figure 2. What ₹1 became if held only overnight, only intraday, or all the time, from the end of 2005. The shaded years have stale opens, so the split there isn't real.
Over the clean sample the Nifty went from 6,062.65 to 26,129.60. Plug that into (2):
The nights delivered 281% of the index's log return and the sessions took away 181%. In annual terms:
| Sample | Sessions | Index | Overnight | Intraday |
|---|---|---|---|---|
| 18 Oct 2010 to 2025 | 3,755 | 10.1% | 30.9% | −15.9% |
| Full 2006 to 2025, as reported | 4,936 | 11.7% | 25.1% | −10.7% |
| 2006 to 15 Oct 2010, stale opens | 1,181 | 17.2% | 8.1% | 8.4% |
Annual figures are compound growth rates. Over the full twenty years, as reported, ₹1 held only overnight became ₹87.9 and ₹1 held only intraday shrank to ₹0.10. The bottom row is the measurement problem from § 2 in action: with the open pinned to the prior close, the two legs look equal. 2007, the one early year with live opens, also shows them roughly equal (25.7% overnight, 23.2% intraday), so I can't say the split existed before 2010. I can only say it has been there ever since.
§ 4Could This Be Luck?
Per day, the night averages +11.1 bp and the session -6.7 bp, a gap of 17.8 bp. Daily returns are fat-tailed and their volatility clusters, so a plain t-test is too generous. I used Newey West standard errors, which allow for both:
For the night minus day difference, t_{NW} = 10.9. The night alone gets 10.2 and the day alone -5.2. A block bootstrap that resamples whole stretches of days, keeping each night paired with its session, puts the annual difference between 35.5% and 52.0% with 95% confidence. Rank tests and sign tests agree. This isn't noise.
It's also not a few lucky years:
Figure 3. Calendar year return of each leg, with the index as a dot. Shaded years have stale opens.
From 2011 to 2025, the night beat the session in all 15 years. The session made money in three of them: 2012, 2014 and 2025. Even bad years didn't flip it. In 2011 the index fell 24.6% and the nights still made 13.8%. In 2015 the index lost 4.1% while the nights gained 36.1%. Slice it into rolling one-year windows and the night wins every one of the 3,504 that start after the auction.
§ 5What the Night Costs You
Free money usually has a catch. Here it's the shape of the distribution, not its size.
| 18 Oct 2010 to 2025 | Overnight | Intraday | Index |
|---|---|---|---|
| Median day | 13.8 bp | −5.5 bp | 5.4 bp |
| Share of positive days | 65.8% | 46.6% | 53.2% |
| Annual volatility | 9.5% | 13.6% | 16.3% |
| Sharpe ratio, zero rate | 2.88 | −1.21 | 0.67 |
| Skewness | −1.84 | 0.22 | −0.72 |
| Excess kurtosis | 26.5 | 8.9 | 12.4 |
| Worst day | −9.14% | −6.82% | −12.98% |
| 99% CVaR, in daily standard deviations | 4.8 | 3.7 | 3.9 |
| Maximum drawdown | −26.9% | −93.4% | −38.4% |
Most of the time the night is the calm part of the day. Split the variance of the daily log return with (2):
The session carries 69% of the variance and none of the return. Per hour of exposure its variance is 5.7 times the night's. But the night's bad days are very bad: a skew of -1.84, and a 99% CVaR that sits 4.8 standard deviations out against 3.7 for the session. Volatility-based sizing would understate gap risk badly.
The extremes sort neatly by when the news arrives. The worst gap was 23 March 2020, down 9.14% on COVID. Others: 9 November 2016 (demonetisation the evening before, US election that morning), 7 April 2025 (tariff panic), 3 June 2024 (weekend exit polls, up 3.58%). The worst sessions were the ones where news landed during market hours, like 4 June 2024, counting day, when the Nifty opened almost flat and fell 5.59% during the session. Holding overnight is basically selling insurance against after-hours news, and in calm periods it pays well.
§ 6A Weekend Is Worth Less Than a Tuesday
If the night premium were simply pay for carrying risk while you can't trade, it should grow with the length of the break. With \tau calendar nights before an open, you'd expect something like
The data says no:
| Break before the open | Sessions | Overnight | Per night | Intraday |
|---|---|---|---|---|
| 1 night | 2,848 | 11.3 bp | 11.3 bp | −5.9 bp |
| 2 nights, midweek holiday | 116 | 10.1 bp | 5.0 bp | −11.4 bp |
| 3 nights, weekend | 699 | 8.2 bp | 2.7 bp | −8.6 bp |
| 4 or more nights | 92 | 28.1 bp | 6.8 bp | −10.4 bp |
A three-night weekend earns less than one ordinary weeknight. The ratio in (6) is 0.73, not 3. Whatever is going on, it's attached to the act of reopening, not to the hours you held. Monday ends up the worst day of the week overall, and the morning after a monthly F&O expiry is the best night of the month at 20.5 bp, almost twice the norm.
§ 7The Session Bleeds Even When Nothing Happens
My first guess for the negative session was gap fading: the market gaps up, then drifts back. So I bucketed days by the size of the morning gap and looked at what the session did next:
Figure 4. Mean intraday return after each size of opening gap, 18 Oct 2010 to 2025. The red bar is flat opens, within 0.2% of the prior close.
It isn't gap fading. Days that open flat, 38% of all sessions, still lose 8.2 bp on average (t = -4.25). The correlation between a day's gap and that day's session is -0.04, basically zero. The session just bleeds.
Where it bleeds most is telling. Within 5% of the all-time high, the session loses 9.6 bp a day. More than 10% below the high, it's roughly flat. Four of the five big sell-offs since the auction were delivered almost entirely during market hours: from November 2010 to December 2011 the index fell 27.9%, the nights made 19.5% and the sessions lost 39.7%. The one exception was the COVID crash, a global shock that arrived through the gaps.
My best explanation is a tug of war around the open and close. Demand that builds overnight, from retail orders and from global markets that trade while India sleeps, gets concentrated into a single auction price that runs a bit rich. During the session that demand fades, and leveraged intraday positions have to be squared off before 15:30. SEBI's own study found 7 in 10 individual intraday traders lost money in FY23. The close itself is a 30-minute weighted average, which pushes part of any late move into the next night. None of this is proven here, but it fits the pattern better than a risk premium does.
§ 8Can You Actually Trade It?
The obvious rule: buy at the close, sell at the next open, every day. That's one round trip a day, so costs matter enormously. Charging a cost c per round trip, the rule breaks even when
and it only beats plain buy and hold below 7.0 bp. Every extra basis point hurts more than you'd think, because it's paid about 247 times a year:
Figure 5. Compound annual return of each rule after a fixed cost per round trip. Dashed lines mark statutory Nifty futures costs in 2025 (about 2.6 bp) and after the April 2026 STT increase (about 5.7 bp).
Nifty futures are the cheapest way in. Through 2025 the statutory bill was about 2.6 bp a round trip, mostly the 0.02% STT on the sell side. From April 2026 STT on futures went to 0.05%, which takes it to roughly 5.7 bp before any slippage. Doing it in cash shares is hopeless: 0.1% STT on both legs is around 22 bp a round trip, and the overnight rule would have lost 23.9% a year.
Why I wouldn't trade this yet
Everything above is index arithmetic. Nobody gets filled at the auction print, and nobody gets filled at a 30-minute average close. Futures carry a basis that drifts and gets rolled every month. On paper the edge is several times the statutory cost. In practice I'd want to see it on futures open and close data before believing a single basis point of it.
§ 9Is It Fading?
Figure 6. Trailing one-year return of each leg at every month-end. Once the window is fully past October 2011, the night is ahead at every point.
The gap has narrowed lately. 2022 (7.3% overnight, -2.8\% intraday) and 2025 (9.0% and 1.4%) are the two smallest gaps since the auction. The data I used runs a bit past the study window, so I checked 2026 too. From 1 January to 25 September 2026 the Nifty fell 11.4%. The nights were flat at -0.8\%. The sessions lost 10.7%.
So the day's drag is still there, right on schedule. The night's gift hasn't shown up this year. Nine months of a falling market is too short to call it dead, but it's the first real crack in fifteen years.
§ 10What I'm Taking Away
Since October 2010 the Nifty has made all of its money while the market was closed, and then some. The trading session has been a slow, steady leak, strongest in calm uptrends and almost absent in real sell-offs. It's statistically about as solid as anything in markets gets, and it doesn't look like a reward for risk, because a weekend pays less than a Tuesday.
A few practical things fall out of it:
- If you're buying anyway, buy near the close. Buying at the open has cost 6.7 bp per purchase on average since 2010.
- A long-only intraday book has lost about 16% a year before costs. That's a big part of why most intraday traders lose.
- Never use pre-October 2010 Nifty opens for gap research without checking them first.
- Size overnight exposure on its tail, not its volatility.
The market rewards whoever is holding when it reopens, and charges whoever is trading while it's open. Whether that lasts now that it's public is the part I'll be watching.
Refs Where the Data Comes From
- Gajapathy Selvaraj. Stock_Market_Datasets_NSE, file NIFTY_50(INDEX)from2000.csv. Used for 2 January 2006 to 18 January 2008.
- Manish Kumar. NIFTY50_Data_Analysis_NSETOOLS_NSEPY_Python, file nifty50.csv, NSE history via nsepy. Used for 21 January 2008 to 24 January 2023.
- Benny Thadikaran. eod2_data, file daily/nifty 50.csv, NSE index bhavcopy. Used for 25 January 2023 to 31 December 2025, and for the 2026 check.