2008 Ruined September Forever — Or Did It?
September is considered the worst month on the stock market. But how much of that is a genuine seasonal pattern — and how much is due to individual crash years like 2008 or 2020?
That is precisely the problem with outliers in historical data. A single extreme year can distort the average so strongly that the actual seasonal pattern disappears behind it. The outlier filter in SeasonAlpha makes this distortion visible — and correctable.
What Are Outliers in Seasonality?
Outliers are years whose price trajectory deviates extremely from the normal case. Typical candidates:
- 2008 (financial crisis): S&P 500 lost 38% in the year
- 2020 (COVID crash): 34% decline in 23 trading days, then V-recovery
- 2022 (rate cycle turn): simultaneous stock and bond crash
These years are historically real and important — but they dominate the average. If you analyze 20 years and one year has a -38% return, it pulls the mean massively downward, even though it represents only 5% of the data points.
The outlier filter helps you distinguish: What is the typical seasonal pattern — and what is the effect of individual extreme events?
Four Methods — From Conservative to AI
SeasonAlpha offers four different methods to handle outliers. Each has its strengths:
IQR (1.5x) — The Classic
The interquartile range method (IQR) is the standard in statistics. It calculates the range between the 25th and 75th percentile of annual returns and flags anything that lies more than 1.5 times the IQR above or below as an outlier.
- Effect: Removes moderate to strong outliers completely
- Typically removed: 2–4 years out of 20 years of data history
- Suited for: A first overview without extreme years
IQR (3x, strict) — Only the Extremes
Same method, but with triple the IQR. Here only the truly extreme years drop out — genuine black swan events.
- Effect: Removes only 1–2 of the most extreme years
- Suited for: Conservative analysis when you only want to eliminate the biggest distortions
Winsorize (3 Sigma) — Clipping Instead of Deleting
Winsorization is the most elegant approach: no year is removed. Instead, extreme values are capped to the range mean ± 3 standard deviations.
- Effect: A year with -38% is capped to, say, -18%, but remains in the calculation
- Advantage: The sample size stays the same — statistically cleaner
- Suited for: When the data foundation matters to you and you do not want to delete anything
Isolation Forest (AI) — Pattern Recognition
The Isolation Forest is a machine learning algorithm from the field of anomaly detection. It looks not just at the annual return, but at the entire price trajectory of a year.
- Effect: Identifies years with an atypical trajectory, even when the total return looks normal
- Example: 2020 ended the year with a positive return — but the V-shaped trajectory was highly anomalous
- Suited for: Advanced analysis when you really want to find anomalous patterns
When Should You Use the Outlier Filter?
The filter is not a mandatory tool — but in certain situations it makes a big difference:
Use it when:
- You want to test seasonal patterns for robustness: does the September effect persist when you remove 2008?
- You have a small data set (10–15 years): here individual extreme years can shift the average especially strongly
- You are comparing different time periods: with and without outliers shows how stable a pattern really is
- You want to understand the difference between the typical trajectory and the average
Leave it off when:
- You deliberately want to see the worst-case scenarios (risk management)
- You need the full historical reality — with all crashes included
- You are only analyzing a few years (fewer than 10) — then there is not enough statistical mass for meaningful detection
How Important Is the Filter Really?
The outlier filter does not fundamentally change your analysis — but it sharpens your view.
Imagine a photographer taking a landscape photo. The standard view shows the landscape with a few extreme light spots (outliers) that overexpose the overall image. The outlier filter is like a polarizing filter on the camera: it removes the extreme reflections and shows you the landscape as it looks under normal conditions.
In concrete terms this means:
- Monthly patterns become more clearly visible, because individual crash months no longer dominate the average
- Win rates change only slightly (because they weight outliers the same as other years anyway)
- Average returns can shift considerably — especially for months that were affected by crashes
Limitations of the Outlier Filter
As useful as the filter is — it has clear limitations you should be aware of:
1. Survivorship bias: The filter removes extreme years that actually happened. If you build your strategy only on cleaned data, you underestimate the risk. Crashes will come again.
2. No right or wrong: None of the four methods is objectively better. IQR is simple and transparent; Isolation Forest is powerful but harder to interpret. The choice depends on your question.
3. Subjective thresholds: The IQR factor of 1.5 is a convention, not a law of nature. Depending on the method and parameters, different years drop out.
4. Small samples: With fewer than 10 years, any outlier detection is questionable. There is simply not enough statistical mass.
5. Not for forecasting: The filter helps with understanding patterns — it does not improve predictive power. A cleaned average is not a better predictor than an uncleaned one.
How to Use the Outlier Filter in SeasonAlpha
The filter is integrated directly into the sidebar:
- Open an analysis page (e.g., Annual Cycle or Monthly Cycle)
- In the sidebar, find the Outlier Filter section
- Choose one of the four methods
- The charts and calculations update immediately
- An info box shows you which years were removed or adjusted
Tip: Toggle the filter on and off to see the difference directly. This lets you see at a glance which patterns are robust and which are driven by extreme years.
Conclusion
The outlier filter is not a must — but a tool that makes your analysis more robust. It shows you what the typical seasonal pattern is, without individual crash years distorting the view.
The golden rule: Always analyze with and without the filter. If a pattern holds in both variants, you have found a robust signal.
Try it yourself at seasonalpha.ai — one click in the sidebar is all it takes.
Frequently Asked Questions
What happens to my data when I activate the outlier filter?
Your original data remains unchanged. The filter only affects the calculation of seasonal averages. With IQR and Isolation Forest, outlier years are excluded from the mean calculation. With Winsorize, extreme values are capped but no year is removed.
Which method is best for beginners?
Start with IQR (1.5x) — the method is transparent and easy to follow. You immediately see which years drop out and why. If you want to go deeper, try Isolation Forest afterwards for AI-based detection.
Does the outlier filter change the win rate?
Only minimally. The win rate counts how often a month or period was positive — each year counts equally, regardless of whether it was +2% or +20%. The filter mainly affects average returns, which are strongly influenced by extreme values.
Should I build my strategy on filtered or unfiltered data?
Look at both. Filtered data shows you the typical pattern. Unfiltered data shows you what can happen in a worst-case scenario. A robust strategy works in both cases.