Certified Financial Analyst & Asian Market Specialist
Every November, something interesting happens on the Indian stock market. For 16 of the last 20 years, Nifty has closed the month higher than it opened. That's an 80% win rate — far beyond what you'd expect from random chance. And November isn't the only month with a strong seasonal bias.
I started tracking Nifty seasonality in 2021, initially just as a curiosity. But when I saw how consistently certain months outperformed and underperformed over 20+ years of data, I started incorporating these patterns into my trading. I'm not saying you should blindly buy in November and sell in May — but ignoring seasonality is like ignoring the wind direction before sailing.
In this article, I'll share the complete monthly seasonality data for Nifty, explain why these patterns exist, and show you how I use them as a filter for my trading decisions.
The Complete Nifty Monthly Seasonality Table
I compiled this data from Nifty 50 monthly closing prices from 2005 to 2025 — twenty full years. The "positive %" shows how often the month closed higher than it opened, and "avg return" is the average monthly return.
| Month | Positive % | Avg Return | Best Year | Worst Year | Rating |
|---|---|---|---|---|---|
| January | 55% | +0.8% | +11.2% (2012) | -7.6% (2008) | Neutral |
| February | 60% | +1.2% | +8.4% (2012) | -6.3% (2016) | Mildly Bullish |
| March | 50% | -0.3% | +9.7% (2009) | -23.2% (2020) | Neutral |
| April | 65% | +1.6% | +14.7% (2009) | -5.1% (2011) | Bullish |
| May | 45% | -0.2% | +7.8% (2009) | -6.2% (2006) | Mildly Bearish |
| June | 50% | +0.4% | +7.5% (2009) | -8.4% (2008) | Neutral |
| July | 60% | +1.1% | +7.9% (2009) | -5.8% (2008) | Mildly Bullish |
| August | 40% | -0.6% | +8.2% (2009) | -8.5% (2013) | Bearish |
| September | 55% | +0.9% | +9.8% (2010) | -7.1% (2008) | Neutral |
| October | 55% | +0.5% | +7.3% (2007) | -26.4% (2008) | Neutral/Volatile |
| November | 80% | +2.4% | +10.8% (2020) | -5.2% (2008) | Very Bullish |
| December | 70% | +1.8% | +7.6% (2023) | -5.1% (2014) | Bullish |
The standout takeaways: November and December are the strongest months, with November being almost unreasonably consistent. April is surprisingly strong (likely driven by new financial year fund deployment). August is the weakest month, which aligns with global seasonal weakness and India's monsoon uncertainty.
Does "Sell in May" Work in India?
The famous Wall Street adage "Sell in May and go away" has an Indian version, and the data partially supports it — but with a twist.
If you had invested ₹10 lakh in Nifty every November 1st and sold every April 30th (the "winter" strategy) from 2005 to 2025, your cumulative return would have been approximately 340%. If you had done the opposite — invested May 1st and sold October 31st (the "summer" strategy) — your cumulative return would have been only 85%.
So the November-to-April period has historically delivered roughly 4x the returns of the May-to-October period. That's significant.
But here's the India-specific twist: the worst month isn't May itself — it's August. The May-to-August stretch is where most of the seasonal weakness concentrates. September and October are actually recovering months in most years. So the Indian version might be better stated as "Sell in May, come back in September."
Why does this pattern exist? Several India-specific reasons:
- Monsoon uncertainty (June-August): India's agricultural economy still depends heavily on the monsoon. A late or weak monsoon creates anxiety about rural consumption, food inflation, and RBI policy response.
- FII summer exits: Foreign institutional investors historically reduce India exposure during the May-August period, partly because global risk appetite decreases in summer and partly because the monsoon introduces agricultural uncertainty.
- Diwali effect (October-November): The festival season brings strong consumer spending data, corporate earnings beats, and general optimism. Muhurat trading on Diwali is almost always positive — I've seen years where the entire November rally starts from that one session.
- Year-end window dressing (December): Fund managers buy their best-performing holdings before year-end reporting, creating additional demand in December.
The Budget February Rally
Union Budget, presented on February 1st every year, creates a unique seasonal pattern in Indian markets. In the two weeks leading up to the budget, Nifty tends to rally as traders position for potential positive announcements. I call this the "hope rally" — markets price in the best-case scenario before the event.
Looking at the data from 2010 to 2025, Nifty rose in the 10 trading sessions before Budget Day in 11 of 16 years (69% of the time), with an average pre-budget gain of +1.3%. The post-budget reaction is much more mixed — the market actually fell in the week after the budget 56% of the time, a classic "buy the rumor, sell the news" pattern.
My approach: I go mildly long in the last week of January, targeting the pre-budget optimism, and then flatten or reduce exposure by budget morning. I don't try to trade the budget itself — the gap risk is too high, and the options premiums before budget make hedging expensive.
For those interested in trading around other key events beyond budget, I've written a detailed guide on event-driven trading strategies in India covering RBI policy, elections, and quarterly results.
Election Year Patterns
India has had five general elections since 2004 (2004, 2009, 2014, 2019, 2024), and the Nifty's behavior around elections follows a remarkably consistent pattern:
6 months before election: Nifty tends to be volatile but flat-to-slightly-positive. There's uncertainty about the outcome, and FIIs tend to wait on the sidelines. The average return for this period across the five elections is +2.8%, but with high volatility — standard deviation of 12%.
1 month before election results: Strong rally in 4 of 5 cases as exit polls and early trends create optimism. Average return: +4.2%.
1 month after election results: If the winning party has a clear majority, massive rally (2014: +8.3%, 2019: +4.1%, 2024: initially -3.6% on reduced majority surprise, then recovery). If hung parliament or coalition, selloff (2004: -17.2% in one week).
6 months after election: Regardless of the immediate reaction, Nifty has been higher 6 months after every election since 2004. Average gain: +12.4%. New governments tend to announce market-friendly reforms early in their term.
The next general election isn't until 2029, but state elections create mini-versions of this pattern for state-sensitive sectors. Maharashtra elections affect real estate and infrastructure stocks (DLF, L&T); UP elections affect sugar and fertilizer stocks.
How I Use Seasonality in My Trading
I want to be clear: I don't make trades based on seasonality alone. A month being "historically bullish" doesn't mean you should go long on the first trading day and hope. Seasonality is a filter, not a signal.
Here's my practical framework:
Alignment trades: If my technical analysis gives me a buy signal AND we're in a seasonally bullish month (November, December, April), I take the trade with fuller size — maybe 1.5x my normal position. If the same buy signal comes in August (seasonally bearish), I take it with 0.5x size or skip it entirely.
Contrarian caution: If my analysis is bullish but we're entering August, I look for additional confirmation before committing. Maybe I wait for FII/DII flow data to confirm the bullish thesis. If FIIs are still selling in August, I stay out even if the chart looks good.
Calendar spreads: In options trading, I sometimes use seasonality for calendar spreads. If I expect November to be strong (as it usually is), I might sell October expiry puts and buy November expiry puts. The idea is that time decay will erode the October puts faster as the market rallies into the seasonal sweet spot.
What I never do: I never go short in November just because "it's gone up too much" or long in August just because "it's been weak enough." Fighting strong seasonality is a losing proposition — the base rates are against you.
Weekly and Intraday Seasonality Patterns
Monthly seasonality gets all the attention, but there are also weekly and intraday patterns in the Indian market worth knowing about:
Day-of-week effect: Monday has historically been the weakest day of the week for Nifty (positive only 47% of the time over the last 10 years), while Friday has been the strongest (positive 56% of the time). This "Monday effect" is global — markets tend to digest weekend news negatively — but it's more pronounced in India because of the gap between Friday's close and Monday's open, during which global events (US Friday data, geopolitical developments) can accumulate.
Expiry week effect: The week of Nifty monthly options expiry (last Thursday of each month) tends to have higher volatility and a slight upward bias. This is because options sellers (who are net short premium) often buy the underlying index to hedge their positions as expiry approaches, creating upward pressure. I've noticed that the Wednesday before monthly expiry is particularly volatile as large option positions are adjusted.
First week vs. last week: The first week of each month tends to be stronger than the last week, possibly because SIP inflows (which hit markets on the 1st-5th of each month) create consistent buying pressure at the start of each month. Monthly SIP inflows into Indian equity mutual funds exceeded ₹23,000 crore per month in early 2026 — that's significant buying pressure concentrated in the first few trading days.
Intraday pattern: Nifty's intraday pattern on a typical day shows higher volatility in the first 30 minutes (9:15-9:45 AM) and last 30 minutes (3:00-3:30 PM IST), with a relatively calmer midday period. For traders who use multi-timeframe analysis, the midday lull is often the best time to identify 4-hour chart setups without the noise of opening or closing volatility.
One last thing worth mentioning — these seasonal patterns tend to be stronger in mid-cap and small-cap indices than in Nifty 50. The Nifty Midcap 100 has an even more pronounced November-December rally (averaging +3.8% in November vs. Nifty's +2.4%) and an even weaker August (averaging -1.2% vs. Nifty's -0.6%). This makes sense because mid-caps are more influenced by domestic flows, which follow seasonal patterns more closely.
If you're building a momentum strategy for Indian stocks, combining momentum signals with seasonal filters can significantly improve your risk-adjusted returns. Momentum works best when the seasonal wind is at your back.
Start tracking these patterns yourself. Mark the key months in your trading journal and note whether the seasonal tendency played out. After a year of observation, you'll naturally start incorporating this edge into your decision-making — and that's one more factor tilting the odds in your favor.