Seasonal Patterns Are Real. The Evidence Spans Centuries.

Seasonal and calendar effects in stock returns are among the most studied anomalies in financial economics. Peer-reviewed research across top-tier journals has consistently documented their existence, persistence, and economic significance.

What this means for your trading: some stocks tend to rise or fall around the same time every year, and that tendency is consistent enough to study and trade. TradeWave finds those repeating windows for you and tells you how often each one has paid off. The journal references below are the receipts. If you want the proof before the payoff, read on. If you just want to use it, jump straight to the patterns.

Stock-Level Seasonal Patterns

Heston, S.L. & Sadka, R. (2008)
Seasonality in the Cross-Section of Stock Returns
Journal of Financial Economics, 87(2), 418-445
Individual stocks that have relatively high (or low) returns tend to repeat that same pattern every year in the same calendar month, persisting for up to 20 annual lags. This effect is independent of size, industry, or earnings announcements.
Keloharju, M., Linnainmaa, J.T. & Nyberg, P. (2016)
Return Seasonalities
The Journal of Finance, 71(4), 1557-1590
A trading strategy based on historical same-calendar-month returns earned 13% annually from 1963 to 2011. These seasonal effects did not fade over time and extend to anomalies, commodities, and international indexes.

The Sell-in-May Effect

Bouman, S. & Jacobsen, B. (2002)
The Halloween Indicator, "Sell in May and Go Away": Another Puzzle
American Economic Review, 92(5), 1618-1635
The November-April period significantly outperforms May-October in 36 of 37 countries studied, with evidence dating back to 1694 in some European markets. Unlike most anomalies, this effect persists even after publication.

Pre-Holiday and Day-of-Week Effects

Lakonishok, J. & Smidt, S. (1988)
Are Seasonal Anomalies Real? A Ninety-Year Perspective
Review of Financial Studies, 1(4), 403-425
Over 90 years of data, pre-holiday returns averaged 0.22% per day versus less than 0.01% on normal days, roughly 22 times larger, with 63.9% of pre-holiday returns being positive.
French, K.R. (1980)
Stock Returns and the Weekend Effect
Journal of Financial Economics, 8(1), 55-69
Using S&P 500 data from 1953 to 1977, Monday returns were consistently negative across all sub-periods, while other weekdays showed positive mean returns.

The Presidential Election Cycle

Santa-Clara, P. & Valkanov, R. (2003)
The Presidential Puzzle: Political Cycles and the Stock Market
Journal of Finance, 58(5), 1841-1872
The third year of any presidential term produces significantly higher returns, averaging 17.2% versus 4-8% in other years. This pattern has held across multiple decades of data.

You Pick the Window. You Judge the Result.

The findings above describe the effect. TradeWave hands you the controls. You choose the lookback - anywhere from 1 to 99 years - and the lens: consecutive calendar years, or the four-year presidential election cycle (PE+X), which lines up each year against the same point in the political term. Widen the window for a long, stable read; tighten it to weight recent behavior. Switch lenses to see whether a pattern holds by the calendar, by the cycle, or both. The computation is deterministic, so the same window always returns the same numbers - nothing is hidden, and nothing changes between visits.

Machine Learning Sharpens the Patterns

Knowing a pattern exists is one thing. Knowing which patterns are worth acting on right now is another. Recent research from leading institutions confirms that machine-learning models read these patterns far better than traditional methods - they spot when conditions favor a pattern and when they do not.

Gu, S., Kelly, B. & Xiu, D. (2020)
Empirical Asset Pricing via Machine Learning
The Review of Financial Studies, 33(5), 2223-2273 - Chicago Booth / AQR Capital Management
Machine learning methods (neural networks, gradient-boosted trees) significantly outperform linear models in predicting cross-sectional stock returns. Nonlinear ML captures interaction effects between anomaly indicators that linear models miss entirely.
Azevedo, V. & Hoegner, C. (2023)
Enhancing Stock Market Anomalies with Machine Learning
Review of Quantitative Finance and Accounting, 61, 195-230
ML models applied to 299 stock anomalies show that anomaly indicators retain predictive power and that machine learning significantly improves portfolio returns versus using raw anomaly indicators alone.

This is the core idea behind TradeWave's ML layer. The seasonal pattern is the raw history. The model then weighs today's conditions - trend, volatility, the calendar, where the stock sits in its range - to estimate the chance each pattern works out from here. History tells you what usually happens; the model tells you how the odds look this time.

The TradeWave Scoring Model

TradeWave scores every seasonal pattern with a three-model ensemble (LightGBM + XGBoost + CatBoost). For each one it estimates the likely return and the maximum favorable excursion, or MFE - in plain terms, the best paper gain the trade typically reaches before the window closes, which is what tells you where a sensible profit target sits.

62
Pattern Features
26
Years of Data
503
S&P 500 Stocks Scored
3
Model Ensemble

In plain terms: the model reads each pattern through 62 measurements, learns from 26 years of market history, and rescores all 503 stocks in the S&P 500 every day.

Feature Groups

The model evaluates each pattern using 62 features across six categories:

Pattern Intrinsic - historical win rate, average return, Sharpe ratio, consistency across years
Technical - current price relative to moving averages, trend strength, momentum indicators
Market Regime - VIX level, broad market trend, sector performance
Context - position within 52-week range, recent earnings, volume patterns
Calendar - day of week, month, proximity to holidays, days to earnings
Interactions - cross-feature combinations that capture non-linear relationships

Why an Ensemble?

No single model dominates across all market regimes, so we run three and blend them for stability.

Year LightGBM XGBoost CatBoost Ensemble
20180.6180.6010.6150.614
20190.4900.5920.6660.637
20200.6630.6410.6180.651
20210.6010.6030.6200.611
20220.5500.5690.5460.564
20230.6160.6300.6450.644
20240.5810.6300.6080.623
20250.6690.6670.6400.671

AUC scores by model and year. AUC measures how well the model ranks winners above losers: 0.50 is a coin flip, 1.00 is perfect, so 0.62 means a real but modest edge. In 2019, LightGBM produced a null model (0.490). XGBoost and CatBoost rescued the ensemble. No single model is consistently best.

Validation: Walk-Forward Testing

The model is validated using expanding-window walk-forward testing: train on all data up to year Y, then score year Y+1 using only information available at the time. No future data is ever used. No data leakage. The AUC scores above are reported on each year's held-out data under this protocol.

Walk-forward testing is about process integrity, not a headline number: it proves the model only ever uses information that existed at the time, the same way it runs in production. But a backtest is our claim, not your proof. So we put the live record in the open - every daily pick is published before the market opens and kept on a public scorecard, wins and losses alike. You do not have to take the numbers on faith. You can audit them.

What the Model Is Not

Being honest about the limits matters as much as any performance number. This is a real edge, not a crystal ball - here is exactly where it stops.

It is a weak classifier with a strong filter. The model's average AUC of 0.62 is above random (0.50) but below the "strong" threshold (0.70+). It works because seasonal patterns already have inherent edge, and filtering to the top 30% amplifies a small edge across massive sample sizes.

Predicted returns are ranking indications, not price targets. The model's predicted return is useful for sorting opportunities but should not be treated as a precise forecast. Probability of hitting the exact predicted return ranges from 54-61%.

Individual trades can still lose. No filter eliminates losing trades, and a meaningful share of patterns close lower than their entry. Risk management, position sizing, and diversification remain essential.

The model does not operate in panic regimes. Samples with VIX above 35 were removed from training. The model has no data for true market panic conditions and should not be relied upon during them.

Institutional and Programmatic Access

The same model already drives a proprietary trading strategy. Pattern data and model scores are available to institutional desks, quantitative researchers, and fintech platforms - over the same auditable record described on this page, not a separate marketing feed.

Universe. Full S&P 500 coverage, all 503 constituents scored, with the broader large-cap indices (Dow 30, Nasdaq 100, Russell 1000) available on the same schema.
History. 26 years of end-of-day price history feed the patterns, with up to a 99-year lookback exposed per query by calendar or presidential election cycle.
Freshness. EOD data lands and the full universe is rescored on each US market close, so the scores you pull are the scores the live scorecard publishes - same numbers, same day.
Delivery. A clean REST API returns patterns, scores, and MFE for any ticker or screen. TradeWave also speaks MCP, so the same patterns and scores pull directly inside ChatGPT or Claude with no glue code.

Contact Us for Institutional Inquiries

Run the Numbers Yourself

Every pattern in TradeWave is scored by the model described on this page. Pick your window, set your lens, and check the data yourself.