Skip-the-Parabolic Long Filter — Backtest Report ⛔ REJECTED (overfit)
Date: 2026-06-12
Analyst: Claude (for Jacques)
Test: /root/xsmom_parabolic_120626.py · Engine: /root/backtest_xsmom_PY-00027_100626.py
Builds on: 2026-06-12_volatility-scaled-sizing.md (the vol-scaled config this stacks on).
1. Idea
After vol-scaling, the residual bad month was April 2026 −13%, driven by the long leg buying coins that had just gone parabolic and then reverted (ARIA, RAVE, SIREN). Proposed fix: when picking the 3 longs, skip any candidate whose prior-7-day return is already extreme and take the next coin down the momentum ranking. Threshold tuned on pre-2026 only.
Strict anti-overfit bar (set in advance): the filter must improve tune AND OOS. If it only rescues April 2026 while hurting the tune years, that is curve-fitting to one month and is rejected. (This is exactly the trap the original report flagged: "a second filter, without overfitting.")
2. Data check first — the blow-ups are REAL, not glitches
Raw daily candles around the April event: - RAVE: $0.27 (Apr 8) → $22.08 (Apr 17) → $1.07 (Apr 22) → $0.67 (May 1), on $200–450M/day volume. A genuine ~80× pump-and-dump. - ARIA: $0.70 (Apr 8) → crashed −85% in a day to $0.115 (Apr 14) on $740M volume.
These are authentic micro-cap pumps. The huge volume is why they rank in the top-100 — and why inverse-vol sizing is the right structural defense (extreme vol → tiny weight), whereas a hindsight price filter is not.
3. Results — the overfit fingerprint
Stacked on vol-scaled (regime_ls, top-100, 50-MA, 21d mom, inverse-vol both legs lb20 cap2×):
| Filter strength | Tune Sharpe | OOS Sharpe | OOS return | April |
|---|---|---|---|---|
| None (vol-scaled baseline) | 1.57 | 1.17 | +21% | −13% |
| skip 7d-return > 100% | 1.46 | 1.27 | +23% | −11% |
| skip 7d-return > 75% | 1.07 | 0.86 | +12% | −11% |
| skip 7d-return > 50% | 1.20 | 1.90 | +24% | −3% |
| skip 7d-return > 40% | 1.09 | 2.56 | +30% | −3% |
| skip 7d-return > 30% | 1.23 | 1.78 | +160% | −6% |
| skip top 5% hottest | 0.74 | 1.75 | +154% | −2% |
| skip top 10% hottest | 0.60 | 1.65 | +167% | −4% |
The two Sharpe columns move in opposite directions. Every threshold aggressive enough to fix April (−2% to −3%) drives OOS numbers to implausible highs (Sharpe 2.56, +160%, PF 3.67) while degrading the tune set (Sharpe 1.57 → 0.6–1.2). No threshold improves both periods.
This is the signature of fitting to the test set. The filter does not capture a general edge — it memorizes 2026's specific disasters. In the 2024–25 tune period (momentum-friendly), the hottest coins kept running, so refusing to buy them threw away real gains. The filter is implicitly a bet that "2026-style mean-reversion persists," which cannot be validated.
Even the gentlest setting (skip >100%) only trades a little tune quality for a little OOS quality and worsens tune drawdown (−17% → −24%) — no clean win.
4. Conclusion
Rejected. The skip-the-parabolic filter cannot clear the tune+OOS bar; its spectacular OOS results are hindsight overfitting to real-but-idiosyncratic April pumps. The residual April −13% is the honest cost of a real strategy. Keep the vol-scaled config (which earned its improvement on both periods); do not bolt on the parabolic filter.
Status: FAIL (overfit). Recommended strategy is unchanged: vol-scaled regime_ls top-100.