Monthly Seasonality: Checking 'Sell in May' and Other Calendar Lore with Data, and the Traps
How to test calendar sayings such as 'sell in May and go away' and the January effect with monthly return data, and the traps of small samples, testing many things at once and averages pulled by outliers.
📚 Reading the numbers in equities · 24/24·⏱ About 7min read·Information updated 2026-10-08
📋 Key facts5
Monthly return
Last close of the month ÷ last close of the previous month − 1
Numbers to read together
Mean, median, share of up years, sample size, standard error of the mean
Sample
A 30-year record gives only 30 samples per month
Multiple testing
Testing 12 months each at 5% gives about a 46% chance that at least one looks significant by luck
Disclaimer
Past calendar patterns do not tell you future returns
Calendar sayings
Stock markets have many sayings tied to the calendar: 'sell in May and go away', meaning November to April is strong and May to October weak; the 'January effect', meaning January is stronger than other months; the idea that September is weak; and the 'Santa Claus rally' over a few days around the turn of the year. These sayings come back every year with plausible explanations, but whether they actually held for the index or stock you follow, and whether the difference is the kind that often arises by chance, has to be checked separately. This guide covers how to measure monthly seasonality with data and the traps that make the numbers look convincing.
How to measure seasonality
Monthly return is the month's last close ÷ the previous month's last close − 1. Lay these out in a year × month table and group the same month vertically, and you can compute each month's mean, median and share of up years (the fraction of years with a gain). For individual stocks, the value in months when dividends cluster depends on whether you use prices without dividends or adjusted closes with dividends reinvested, so fix the basis in advance. Do not read one number alone; put these side by side.
Mean: easily pulled by one year with a big rise or fall
Median: closer to what a typical year looked like
Share of up years: compare with the share for all months
Sample size: how many years the month's figure comes from
Standard error of the mean: standard deviation of monthly returns ÷ √sample size; how much the mean can wobble by chance
Samples are smaller than they seem
The biggest problem with monthly seasonality is sample size. A 30-year record has only 30 samples for each month. In this site's Stock & Index Monthly Returns tool, KOSPI monthly data starts in 1997, so each month has about 30 samples. With few samples, the mean moves quite a bit by chance alone. For example, if the standard deviation of monthly returns is 5% and there are 30 samples, the standard error of the mean is 5 ÷ √30 ≈ 0.91 percentage points. That means a gap of about 1 point between two months' averages is hard to tell apart from chance. A difference starts to deserve attention only when it exceeds roughly twice the standard error, and even then the traps below remain.
Test enough things and one will pass
If you test each of the 12 months for 'is it different from the others', some month is likely to look different by chance even when there is no real difference. If each test has a 5% chance of a false hit and the tests are independent, the chance of at least one hit in 12 tests is 1 − 0.95 to the 12th power ≈ 46%. Look at several indices, plus weekdays and days of the month, and the number of tests grows much larger. Talk only about the cells that stand out, and convincing sayings are easy to manufacture. So you are less likely to be fooled if you check 'one hypothesis decided in advance' rather than 'a pattern you found', for example by fixing one named saying, such as May to October versus November to April, and measuring only that.
What to check before trusting a number
If a month really looks different, check again in the order below. If it fails any step, keep the pattern filed as a shape that may still be chance.
Do the median and share of up years point the same way as the mean?
Does the same shape remain when the period is split into first and second halves?
Is it similar in other indices or other countries' markets?
Does the difference survive removing the one or two years with the biggest moves?
Does the difference survive trading costs and taxes?
The cost of being out of the market
A strategy like 'sell in May' needs the right comparison. Even if May to October averages less than November to April, if it is above zero you give up that return while out of the market. The comparison should be with 'holding throughout', not with 'zero after selling'. Each round trip costs fees and spreads, the securities transaction tax on Korean stocks or capital gains tax on foreign stocks, and you may miss dividends while out. Widely known patterns can also weaken or shift earlier as many people act in advance. Having a plausible explanation and actually leaving something after costs are different matters.
Where seasonality numbers are useful
Even if seasonality statistics cannot time trades, they are not useless. Checking whether this month's move is inside or outside the range of the same month in past years helps judge whether this is an unusual month or an ordinary one. For stocks tied to real calendar events, such as year-end dividends or fiscal years, they help you see how those events show up in the price record. And they are most useful for testing sayings other people claim. When someone says 'September is always weak', you can ask over how many years, whether that is the mean or the median, and how many times it actually happened. For flows that differ by industry, see the guide on reading sector flows.
Using the tools on this site
This site's Stock & Index Monthly Returns tool draws a year × month return heatmap from the full monthly record of indices such as the KOSPI, KOSDAQ, S&P 500, Nasdaq, Dow and Nikkei, or stocks such as Samsung Electronics and Apple, and shows each month's mean, median, share of up years, sample size and standard error of the mean. Its sayings check compares November to April with May to October, January with other months, September with all months and the seven trading days around the new year against baselines, and its weekday and trading-day-of-month statistics carry t-values. The tool's notes point out that testing many cells at once produces some with t-values above 2 by chance. More on the illusions that arise when reading patterns in data is in the guide on the limits of chart analysis.
Limits and disclaimer
Monthly seasonality is only a record of what each month produced in a past period; it does not forecast the same month next year. Results vary with the length of the record, the index chosen and whether dividends are included, and data providers' values can be delayed or revised. The standard error calculation in this guide uses example numbers to show the principle. This guide explains how to check calendar sayings with data, does not recommend trading at any particular time and is not investment advice.