📅Stock seasonality: which stocks historically rise in a given month
Stock seasonality: which stocks historically rise in a given month
Curious about stock seasonality and which stocks historically rise in a particular month of the year? Here you'll learn in plain terms what seasonality means, how to read win-rate and average return — and above all why small samples demand caution ("it rose 5 years in a row" ≠ a guarantee).
In short
- Stock seasonality = a historical pattern where a specific stock has usually risen during a certain calendar window (e.g. every July).
- It's measured mainly by two numbers: win-rate (how many years the window ended up) and average return in that window.
- Key caveat: a 100% hit rate over 5 years is a small sample and is not a guarantee of the future.
- QMA computes seasonal windows for ~10,000 stocks and ties them to a live screener —
/seasonality/super-windowsand/seasonality-calendar. Mainstream competitors don't do this.
🔰 Plain and simple
You know it from everyday life: more gifts sell in December, more ice cream in summer, travel agencies run full in August. Some things just have their time of year.
Stocks can look similar. Some tickers have historically tended to rise in a certain month — perhaps because of a company's seasonal business, a regular earnings date, tax cycles, or investor habits. When you look back and find a stock "rose every July for 12 years in a row," that's a seasonal window.
But careful — it's like saying "snow fell the last 5 winters, so it'll definitely fall this year." Maybe, maybe not. A past pattern is not a promise. The longer and more consistent the history, the more seriously the pattern can be taken — and the shorter it is, the more caution it deserves.
How it works
Seasonal analysis takes a stock's price history and slices it into calendar windows (a month, part of a month, a few weeks). For each window it computes:
- Win-rate — in how many past years the window ended positive. Example: 9 of 12 years = 75%.
- Average return — how much the stock did on average in that window.
- Consistency — how widely the returns diverge across years (stable vs. wild).
- Sample size (n) — how many years are available. This is the most important context.
| Metric | What it tells you | What to watch |
|---|---|---|
| Win-rate | How often the window rose | A high % with small n is misleading |
| Average return | The typical move in the window | Is it dragged by one extreme year? |
| Years (n) | Strength of evidence | n < 10 = indicative only |
| Consistency | Stability across years | Wide spread = low reliability |
🎯 For advanced readers
- Read win-rate and average together. A window with a 60% win-rate and a high average can be more interesting than an 80% window with a tiny return. And vice versa — a high average driven by a single outlier year is a trap.
- Watch the spread, not just the mean. Two windows with the same +5% average behave totally differently when one ranges 3–7% and the other −15% to +25%.
- Beware look-ahead and survivorship bias. A seasonal window derived from the very data you "test" it on is overstated. That's why QMA emphasizes sample size and doesn't pretend certainty.
- Context outweighs the calendar. A seasonal pattern is just one layer — the macro regime, earnings, or news can override it anytime. Seasonality is a probabilistic hint, not a mechanical rule.
- Wilson interval / n. With small n it's sensible to look at a conservative estimate (a wider confidence interval), not the bare percentage.
How to use it in QMA
QMA computes seasonal windows for ~10,000 stocks and — here's the difference — ties them to a live screener:
/seasonality/super-windows— a ranking of the strongest seasonal windows (high win-rate, decent average, sufficient n)./seasonality-calendar— a calendar view: which windows are entering right now this month.
- Open the Seasonality Calendar and look at windows starting in the current month.
- For each candidate, check the win-rate, average, and above all n (number of years).
- Favor a long, consistent history over a dazzling 100% on 4–5 years.
- Treat it as one layer — combine with the rest of your analysis (scores, momentum, catalysts).
💡 What it means for you
Seasonality gives you a systematic way to search for calendar patterns across thousands of stocks, instead of manually scrolling charts. QMA's key value is the link to a live screener — you see what's entering now, with sample-strength data right beside it. It trains you to read numbers critically: a high win-rate at small n is a warning, not a confirmation. The goal is to decide from data and with humility toward uncertainty, not to chase a "100% sure" window.
Mini-glossary
- Seasonality — an asset's historical tendency to move similarly in a certain calendar window.
- Win-rate — the share of years a window ended up.
- Average return — the typical price move in a given window across years.
- n (sample size) — the number of years of history; the higher, the stronger the evidence.
- Survivorship bias — distortion from looking only at "surviving" successful cases.
- Look-ahead bias — an error where a test relies on data that wouldn't be known in real time.
- Consistency — how stable a window's returns are across individual years.
Frequently asked questions
What is stock seasonality?
It's a historical pattern where a specific stock has usually moved in a similar direction during a certain calendar window (e.g. every November). It's measured by win-rate and average return over many years.
Which stocks historically rise in a given month?
It varies ticker by ticker and window by window. QMA computes seasonal windows for ~10,000 stocks, so in /seasonality-calendar you can see which windows are entering this month and compare their win-rate and sample size.
Does a 100% win-rate over 5 years mean certainty?
No. 5 years is a small sample and 100% is statistically weak evidence — it can be chance. A long, consistent history (12+ years) is far more convincing, but even that is no guarantee.
Are the best months to buy stocks the same for everyone?
No. The "best month" differs for each stock and comes from its own history. General market seasonal habits exist, but specific windows are computed per ticker.
Can I rely on seasonality on its own?
No. It's one probabilistic layer. The macro regime, earnings, or news can override it anytime. QMA is an analytical tool — seasonality is for tracking data, not a mechanical instruction to trade.
Past performance ≠ future results. QMA is not a registered investment advisor.*
Want to know more? Ask the QMA Research Assistant
The Research Assistant knows the whole platform and its data. If the answer is not in the QMA database, it looks it up and explains it in plain language. It is an analytical and educational tool, not investment advice.
Open the Research Assistant →Related articles
Backtesting looks simple – you run a strategy on historical data and see the results. But most tests suffer from hidden flaws that inflate performance and conceal real risk.
6 minBuy-and-hold, dividends, swing trading, or day trading? Each style demands different amounts of time, nerves, and tax planning. We'll help you find the one that fits your life.
5 minZisk se dá nakreslit, hotovost se skrýt nedá. Podívejte se, proč volný cash flow výnos odhalí kvalitu firmy lépe než P/E — a jak si ho spočítat za dvě minuty.
5 minJedno číslo skóre vypadá elegantně, ale klame. Když ho rozpitváš na pilíře, zjistíš, jestli je firma opravdu skvělá — nebo jen dobrá v jedné věci a slabá ve třech.
6 minSee it live: QMA scores 17,000+ stocks for you
Full access to the 5-pillar analysis, smart-money data and the whole-market screener. No commitment, cancel anytime.
QMA Brain – free weekly recap
One email a week with a descriptive recap. Unsubscribe anytime.
7 days of Elite free, no card
The account is free to open and needs no card. For that time the account has full Elite access.
Create a free accountContent created by AI in collaboration with Jaroslav Vojtášek. Not investment advice. The author may hold the stocks mentioned. Investing involves risk of loss.
Operator: Jaroslav Vojtášek, Company ID (IČO) 48783447.