Does Stock Market Seasonality Actually Work? I Tested Santa, Easter and “Sell in May” on 10 Years of Data

📅 Does Stock Market Seasonality Actually Work? I Tested Santa, Easter and “Sell in May” on 10 Years of Data

Welcome back, everyone! 📊 I’m your Quant Analyst, filtering out market noise using data, statistical modeling, and systematic insights. 👩‍💻✨

Every December someone tells you about the Santa Claus rally, every May someone says sell and go away, and every September someone posts the chart of the worst month. So I stopped arguing and computed all of it from the actual index data. To cut straight to the chase: most of these effects do not survive the last decade, one of the most famous ones has the wrong sign, and the reason is arithmetic — a calendar effect gives you exactly one observation per year.

An open paper calendar showing November, with a coffee cup resting on it

▲ Fittingly open at November — which turns out to be the one month in this sample that genuinely stands out


📌 First, the actual numbers

Everything below is my own calculation on the daily S&P 500 series from the St. Louis Fed. The sample runs 2016-09-06 to 2026-09-04 — 2,514 trading days, an annualised volatility of 18.1%, and an average calendar-month return of +1.17%. That last figure is the benchmark every seasonal claim has to beat, and it is the one nobody quotes.
Source: FRED, S&P 500 daily close (SP500). All statistics, confidence intervals and power calculations are mine.

1. Every month, with the error bars attached

Here is the whole calendar. The dot is the average return for that month; the vertical line is the 95% confidence interval — the range the true effect plausibly lives in given only ten observations.

Average Monthly Return and Its Uncertainty

S&P 500 average return by month, with 95% confidence intervals (2016-2026) -6%-2.5%+1%+4.5%+8% JanFebMarAprMayJunJulAugSepOctNovDec +3.0%+4.2%+0.1%

*My calculation on FRED SP500. Ten observations per month (nine for September). Green = clears a multiple-comparison-adjusted threshold; red = negative average; grey line = zero.

Look at how long those bars are relative to the dots. That is the entire story of seasonality research in one picture. Nearly every month’s confidence interval crosses zero, which means the data cannot tell you whether the effect is positive, negative, or absent.

Two months do stand out: November at +4.15% and July at +3.00%, both with t-statistics of 3.60. But I ran twelve tests here, and with twelve tests at the usual 5% threshold there is a 46% chance that at least one month looks “significant” through luck alone. Applying a Bonferroni correction — dividing the threshold by twelve — requires a t above about 3.11. July and November clear that. Nothing else comes close.

The December surprise

December averaged +0.05% over this decade, and was positive in only 6 of 10 years. The month everyone associates with a festive melt-up was, in practice, a coin flip that went nowhere. If there is a Christmas effect in recent data, I could not find it — and November, which nobody talks about, did all the work.

2. The famous rules, one at a time

ClaimWhat the data saysYears upVerdict
Santa Claus rally
last 5 sessions of Dec + first 2 of Jan
+0.48% average7 / 10Borderline — and fading
“Sell in May and go away”Summer +7.37% vs winter +6.78%8 / 9 summersBackwards
September is the worst month−1.47%, CI [−4.33%, +1.38%]5 / 9Weakest month, but a coin flip
Easter week strength+1.41% before, +1.17% after5 / 10 beforeNothing there
Day before Thanksgiving+0.21% (vs +0.06% typical day)7 / 10Real but tiny
The session after Thanksgiving−0.10%3 / 10Mildly negative

Two of those deserve more than a table row.

“Sell in May” did not just fail — it inverted. Across the nine complete May-to-October windows in this sample, the summer half averaged +7.37% and was positive in eight of nine years. The winter half that is supposed to be the good one averaged +6.78% and was positive in seven of ten. Anyone who followed the rule mechanically over this decade sat out the better half of the year, including a +22.8% summer in 2025.

The Santa Claus rally is fading in real time. The average is +0.48%, but the year-by-year path matters more: it worked in seven of the first eight windows, and then went −0.88%, −0.53% and −0.11% in the last three. That is exactly what you would expect from an effect that got popular enough to be traded away — or from an effect that was never there and is now regressing to the mean. Ten observations cannot separate those two stories, which is the honest answer.

3. Why you cannot settle this, ever

Here is the part that changed how I think about all seasonality claims. Standard statistical power tells you how many observations you need to detect an effect of a given size against a given amount of noise. So I asked: how many years of data would it take to prove each of these effects is real?

Years of Data Required to Confirm Each Effect

Years of data needed to prove each effect (80% power) - log scale what we actually have: 10 years 1 yr101001,00010,000100,000 NovemberSanta ClausrallyEaster weekSeptember"Sell in May"gapDecember 62166694,56066,000

*My calculation, 80% power at a 5% two-sided level, using each effect’s own observed mean and standard deviation. Log scale.

November and July need about six years — we have ten, which is why they show up. The Santa Claus rally needs about 21 years. Easter week needs 66. The September effect needs 69. The “sell in May” gap needs roughly 4,560 years, and December’s effect needs about 66,000.

Those last two numbers are not really predictions about the future of data collection. They are a way of saying the effect is so small relative to the noise that it is indistinguishable from nothing. And note that the market has only existed in a recognisably modern form for about a century, so even the 66-year effects cannot be established from a stable regime — the world changes faster than the sample accumulates.

Let me argue against my own analysis

Ten years is a short sample, and a defender of seasonality would say exactly that — some of these patterns are claimed over 50 or 90 years, and my window happens to contain a pandemic crash, a rate-hike cycle and a historic AI-led bull run. That objection is fair, and it cuts both ways: if an effect only appears when you include the 1950s, you have to argue that market structure, transaction costs and information flow have not changed since then. My honest position is not “seasonality is fake.” It is “the recent decade does not support it, and no realistic sample could settle it either way.” Notice too that the two months that did survive are the ones I would be most suspicious of, precisely because I went looking through twelve of them.

4. So what is this good for?

Not for timing. But the exercise has two genuine uses.

  1. As a calibration tool for every other claim you read. If a rule with one observation per year cannot be established in a decade, ask the same question of the next backtest someone shows you: how many independent observations does it actually rest on? Not how many data points — how many independent ones.
  2. As a reason to be sceptical of your own confidence. I have caught myself expecting a soft September. The data says the average September was −1.47% and that five of nine were positive. My intuition had quietly converted “slightly negative on average” into “usually down,” which is not the same claim at all.
  3. The one practical exception: if you are already going to trade for other reasons, knowing that liquidity thins around holidays is worth more than any of these averages. That is a market-microstructure fact, not a seasonal edge.

If you want the same treatment applied to a single day rather than a calendar, my diary of one specific volatile session works through what small samples do to a live risk model.

Quick FAQ

Q. But I have seen charts showing these effects clearly over 90 years.
You have, and they are usually drawn without confidence intervals. A long sample does help — but it also mixes market regimes with completely different costs, participants and information speeds. Ask whether the effect is present in the most recent third of the sample. For “sell in May” over this decade, it is not just absent; it is reversed.

Q. Should I avoid the market in September?
I can’t give you personal advice, and the data does not support the rule anyway: September was the weakest month here, but five of nine were positive and the confidence interval runs from −4.33% to +1.38%. Selling every September also means paying transaction costs and taxes for a signal that cannot be distinguished from noise.

Q. Is any seasonality real?
Effects tied to a mechanism rather than a date hold up better — tax-loss selling into year end, index rebalancing dates, quarterly options expiry, thinner holiday liquidity. Those have a reason attached, which is the test I apply to any pattern before I take it seriously.

💡 Quant Strategy & Takeaways

Over 2016–2026 only November and July survive a multiple-comparison correction, December was flat, and “sell in May” was backwards — summer beat winter. Proving the smaller effects would need centuries of data, which is the real reason seasonality never gets settled.

When market volatility spikes, remove emotion and focus strictly on the numbers! 🤖

Which seasonal rule do you still half-believe — and would you keep believing it after seeing the error bars? Let me know in the comments! 📈✨

Disclaimer: This article analyses public market data for educational purposes and is not financial or investment advice. All statistics are my own calculations on a ten-year sample and past patterns do not predict future returns. Always do your own research or consult a licensed financial advisor before investing.

Disclaimer: Educational content only — not financial advice. Read the full Disclaimer.

Comments

Popular posts from this blog

Have Semiconductor Stocks Truly Bottomed After the Leopold Liquidation? A Quant's Analysis

The $16B Leopold Liquidation: A Quant's Autopsy on 4x Leverage, Correlation Failure, and Risk Architecture

NVDA Stock Pullback Analysis: 3 Quantitative Factors Behind Nvidia’s Recent Drop