A backtest is useful only when the rules are defined clearly enough that another person could reproduce the same historical test.
The strongest workflow defines the market, dates and evaluation metrics before examining the output. Searching until something looks attractive creates selection bias.
Specify the ticker, date window, lookback and direction before evaluating performance.
Avoid optimizing every parameter on the same sample that you use to judge success.
Average gains alone do not describe the worst historical outcomes or volatility.
Overfitting happens when a strategy is tuned so closely to historical noise that it loses predictive value. A common symptom is a result that looks excellent at one exact date combination but deteriorates when dates move by a few days.
Seasonal traders can reduce this risk by testing nearby windows and multiple lookbacks rather than optimizing to one perfect historical slice.
Look-ahead bias uses information that was not available at the time of the historical decision. Survivorship bias occurs when the sample excludes securities that disappeared. Both can make a backtest look stronger than a real trading process.
Even simple seasonal testing benefits from understanding these biases.
Could you rerun the exact same rules tomorrow?
Does the result persist across reasonable lookback changes?
Is there a sensible reason the pattern might exist, or only a statistical coincidence?
| Test | Purpose |
|---|---|
| Exact calendar window | Measures the recurring pattern |
| Nearby date windows | Checks parameter sensitivity |
| 10/15/25-year lookbacks | Checks time stability |
| Average vs median | Identifies outlier dependence |
| Every yearly return | Shows distribution and drawdown risk |
The Stock Seasonality dashboard is designed specifically for historical recurring-window research.