Rejected thesis
Golden cross (lagging trend confirmation)
Thesis (rejected): When the 50-day SMA crosses above the 200-day SMA, the stock is in a confirmed long-term uptrend and continues higher for 1-12 months. Mirror image of death cross.
Code: research/ma_cross.py
Report: research/ma_cross_report.json (n=13,243 golden crosses
on the US universe, 2010-2026)
Why it failed: Edge is ~0 across every horizon and every variant (fresh, volume-confirmed, 200-DMA-rising).
| Bucket | n | 20d edge | 120d edge | 250d edge |
|---|---|---|---|---|
| golden_cross_all | 13243 | -0.13 % | +0.11 % | -0.72 % |
| golden_fresh | 9102 | -0.21 % | +0.52 % | -0.57 % |
| golden_vol_confirm | 2754 | -0.08 % | -0.00 % | -0.54 % |
| golden_fresh+vol | 1927 | -0.08 % | +0.83 % | -0.20 % |
| golden_slope_up | 5015 | +0.05 % | -1.21 % | -1.95 % |
By the time SMA50 has risen above SMA200, the bulk of the move is already in the price. The cross is lagging confirmation, not a predictive signal.
Verdict: Skip. The complement — death cross — turns out to be the useful direction (see Working signals).
Working signals — discoveries from this batch
These are not nulls, but documenting them here so the negative results above have context for what we kept. Full write-ups when each gets productized.
| Sample | 13,243 |
|---|---|
| Validator | research/ma_cross.py |
| Verdict | Rejected |
Every result here is reproducible from the script named above. Reports are in the repository.
- Volatility squeeze
- Pre-FOMC drift
- Uptrend pullback
- Momentum continuation
- Industry-relative momentum (at 4-week lookback)
- Earnings-reaction reversal (anti-PEAD)
- Beat-persistence pre-earnings drift
- Sector ETF mean-reversion
- 52-week-high breakout
- Volume accumulation (above-200DMA +...
- Cross-sector momentum
- Analyst-upgrade cluster