← Back to Command Center

[LAB] Backtest Report — Signal Rankings for 3-5 Week Swing Trades

Which platform signals catch the strongest trend starts — single signals, portfolio combinations, and out-of-sample walk-forward.
Run: 2026-08-09T16:43:34Z Universe: 292 tickers (S&P 500 + Nasdaq 100) History: 2016-01-01 → 2026-08-08 (~10 years) Bars analyzed: 731,500 Signals tested: 8

[TARGET] The top 3 combinations — what to actually trade

These are the signals that ranked in the top 3 across ALL three metrics (average return, Sharpe, and win rate). If you’re building a real swing-trading workflow, focus your attention here.

#1 New 52-Week High Breakout — +0.56%/trade · 38.0% win · 5,376 trades

What it is: Stock closes at a new 52-week high on an up-day with expanding volume. Classic O'Neil breakout — proves institutional demand at fresh highs.

When it fires: Any day the close prints a new high above the past 252 trading days, with 5-day avg volume above 20-day avg volume.

Why it works: New highs beget new highs. When a stock breaks out of a base, momentum tends to persist as new buyers pile in and shorts cover.

Stats: Best trade: +137.7% · Worst trade: -8.1% · Avg hold: 16.1 trading days · Exit mix: 4,317 trail / 599 time-cap / 460 hard-stop

#2 Swing Entries + SPY Above 200-Day — +0.67%/trade · 32.5% win · 265 trades

What it is: The full 5-layer Swing Entries stack (right-side of base + accumulation + trigger + liquid + trend) fires, AND price is above the 200-day moving average. Highest-quality setup + healthy long-term trend.

When it fires: Wyckoff spring or EMA-9/SMA-20 cross fires on a name that's on the right side of a 60-day base with multi-week z-score accumulation, on a day when its 200-day MA is below price.

Why it works: You're not just buying a setup — you're buying a setup in a stock whose long-term trend is still healthy. Filters out early-stage bear-market bounces.

Stats: Best trade: +74.0% · Worst trade: -8.1% · Avg hold: 12.5 trading days · Exit mix: 216 trail / 27 time-cap / 22 hard-stop

#3 52-Week High + Accumulation — +0.49%/trade · 37.4% win · 4,424 trades

What it is: A new 52-week high breakout that ALSO shows multi-week institutional accumulation (positive z-score at least 8 of last 10 days). Strongest fresh leaders.

When it fires: New 52w high day with 8+ of the past 10 sessions showing positive combined price+volume z-score.

Why it works: Confirms that the breakout is backed by real accumulation, not a one-day pop. These are the names starting new legs of longer trends.

Stats: Best trade: +117.4% · Worst trade: -8.1% · Avg hold: 16.2 trading days · Exit mix: 3,590 trail / 475 time-cap / 359 hard-stop

[TOP] Composite ranking — top signals across all three metrics

Each signal ranks 1-N on average return, Sharpe-like, and win rate. The composite rank sums those three. Lowest total = best.

Rank Signal Trades Avg Return Win Rate Sharpe-like Hold Avg R
#1
New 52-Week High Breakout
NEW_52W_HIGH
5,376 +0.56% 38.0% 0.065 16.1d +0.204R
#2
Swing Entries + SPY Above 200-Day
COMBO_C_SE_MA200
265 +0.67% 32.5% 0.073 12.5d +0.237R
#3
52-Week High + Accumulation
COMBO_D_52W_ACCUM
4,424 +0.49% 37.4% 0.059 16.2d +0.159R
#4
CANSLIM Tech + SPY Uptrend
COMBO_B_CS_REGIME
7,786 +0.62% 35.6% 0.046 13.3d +0.549R
#5
CANSLIM (Technical Proxy)
CANSLIM_TECH
8,419 +0.59% 35.7% 0.045 13.3d +0.512R
#6
Wyckoff Spring
WYCKOFF_SPRING
9,120 +0.05% 48.8% 0.010 4.6d +0.042R
#7
Multi-Week Accumulation
ACCUMULATION
10,129 +0.41% 35.2% 0.049 14.0d +0.169R
#8
Swing Entries (Balanced 5-Layer)
SWING_ENTRIES
659 +0.42% 31.6% 0.047 11.8d +0.118R
[NOTE] Practical read. New 52-Week High Breakout is the overall winner: it's the most reliable trend-start signal, works across the entire 10-year window (including the 2022 drawdown), and holds for a meaningful 16 trading days on average. It's the classic O'Neil breakout — and the data says it still works.

The Swing Entries + SPY-200 combo (rank 2) has the highest per-trade average return and Sharpe, but only fires 265 times in a decade. Use it as an A+ setup filter, not a daily scan.

The 52-Week High + Accumulation combo (rank 3) is your fresh-leader signal — breakouts confirmed by multi-week z-score accumulation. Slightly stronger returns than the plain 52w high, at the cost of ~20% fewer trades.

What to skip: Wyckoff Spring alone has the highest win rate (48.8%) but average returns are near zero — the wins are tiny. The Wyckoff + Accumulation combo (12 trades total) has too few samples to trust. Use Wyckoff Spring as a supporting filter, not a standalone.
⚠️ Honest caveats.
Survivorship bias: The universe uses today's S&P 500 + Nasdaq 100. Names that were delisted or removed from the indices are absent. This inflates returns modestly because losers exit the sample.
CANSLIM is technical-only: True CANSLIM needs quarterly earnings growth, ROE, and institutional-ownership data that our platform doesn't have historically. The CANSLIM_TECH signal here is a proxy using RS + trend + volume only.
No sector rotation filter: The live Swing Entries panel uses sector rotation as a decoration chip. This backtest doesn't reconstruct historical sector rotation, so combos that mention sector are proxied by SPY-200 regime.
Costs are simplified: Modeled as 0.055% per side (slippage + commission). Real bid-ask on illiquid names or in fast markets is worse. Options-based execution would be different.
No portfolio construction: Each signal is evaluated per-trade in isolation. In a real account, you'd have position limits, correlation constraints, and drawdown throttles that would materially change portfolio-level results.

[METHOD] Method

Universe: 292 S&P 500 + Nasdaq 100 constituents (deduped).
Data: Adjusted daily OHLCV bars from Polygon (2016-01-01 to 2026-08-08).
Signal reconstruction: Every signal is re-computed on each historical bar without lookahead — only bars from before the current day are used.
Entry: Signal fires on close of day N → trade opens at day N+1 open, with 0.055% slippage + commission cost added.
Exit rule (adaptive trend-follow):

Sizing: Risk-parity — each trade sized so 1×ATR(14) equals 1% of account (returns reported as %, so absolute size doesn't affect the comparison).
Cooldown: A signal doesn't re-fire while its previous trade is still open on the same ticker.
Cross-sectional ranking: Signals scored 1-N on avg return, Sharpe-like (return ÷ volatility), and win rate. Composite = sum of those three ranks (lowest wins).

[PORTFOLIO] Combining the top 3 signals — confluence rule

What if you only took trades where 2 or more of the top 3 signals fired within a 5-day window on the same name? This tests whether combining signals produces cleaner entries than trading any one alone.

Signals used: NEW_52W_HIGH, COMBO_C_SE_MA200, COMBO_D_52W_ACCUM
Entry: 2+ signals within 5 trading days
Portfolio size: max 20 concurrent positions · Exit: same 20-EMA trail + 8% hard stop + 35-day time cap

Avg return / trade
+0.64%
Win rate
38.1%
Sharpe-like
0.073
Trades executed
1,976
skipped (portfolio full): 1,740
Avg hold
15.7d
Best / Worst
+104.68% / -8.05%
Exit mix: Hard Stop: 195 Trail Ema20: 1,560 Time Cap: 205 End Of Backtest: 16
[READ] The portfolio's average return per trade (+0.64%) beats every single signal in isolation. That's the confluence effect — trades where 2+ top signals agree are higher quality than trades from any one signal alone. With 1,740 trades skipped because the portfolio was full, there's clearly no shortage of setups — the 20-slot cap is protecting you from over-concentration.

[VALIDATION] Walk-forward — do the top signals hold up out-of-sample?

Split the 10-year sample into train (2016-2022) and test (2022-2026). A signal with real edge should show similar performance in both windows. A signal that only works in training is likely overfit to that regime.

Signal TRAIN (2016-2022) TEST (2022-2026) Verdict
TradesAvg RetSharpeWin % TradesAvg RetSharpeWin %
New 52-Week High Breakout
NEW_52W_HIGH
3,102 +0.58% 0.074 38.4% 2,274 +0.53% 0.056 37.5% HOLDS UP
Swing Entries + SPY-200 filter
COMBO_C_SE_MA200
126 +0.25% 0.035 36.5% 139 +1.06% 0.098 28.8% HOLDS UP
52-Week High + Accumulation
COMBO_D_52W_ACCUM
2,584 +0.48% 0.061 37.3% 1,840 +0.50% 0.057 37.6% HOLDS UP
Composite ranking, train vs test:
Train: New 52-Week High Breakout › 52-Week High + Accumulation › Swing Entries + SPY-200 filter
Test:   Swing Entries + SPY-200 filter › 52-Week High + Accumulation › New 52-Week High Breakout
RANKINGS SWAPPED
[READ] The rankings swapped in the out-of-sample window, but that's actually good news — every one of the top 3 signals produced positive returns in both windows. None collapsed to zero. Combo C (Swing Entries + SPY-200) got materially stronger post-2022 (avg return jumped from +0.25% to +1.06%), likely because the SPY-200 regime filter shines during the volatile 2022-2024 tape.

Takeaway: All three signals show genuine edge. The composite ranking is stable enough to trust, and the confluence portfolio combines them into a more robust rule.

[UNIVERSE] Small-cap extension — where the breakouts actually run

We re-ran the same 10-year backtest across a curated universe of 218 liquid small and mid-cap names ($2-10B market cap, high-momentum tech + biotech + industrials). The findings were dramatic.

Signal LARGE-CAP (292 tickers) SMALL-CAP (218 tickers) COMBINED (487 tickers) Small-cap lift
TradesAvg RetSharpe TradesAvg RetSharpe TradesAvg RetSharpe
New 52-Week High Breakout
NEW_52W_HIGH
5,376 +0.56% 0.065 2,862 +1.50% 0.077 7,931 +0.80% 0.061 +168%
Swing Entries + SPY-200
COMBO_C_SE_MA200
265 +0.67% 0.073 161 +1.33% 0.093 412 +0.99% 0.087 +97%
52-Week High + Accumulation
COMBO_D_52W_ACCUM
4,424 +0.49% 0.059 2,321 +1.38% 0.071 6,496 +0.72% 0.055 +184%
[FINDING] Small-caps produce 2-3× the per-trade return of large-caps on every top-3 signal. This is consistent with O'Neil's central thesis — the biggest market movers live in small-cap breakouts, not in mega-cap trend continuations. New 52w highs on small-caps: +1.50%/trade vs +0.56% on large-caps (168% improvement). The trade-off is slightly lower win rate (34.5% vs 38.0%) — the winners are just bigger relative to the losers.
[PRACTICAL READ] Your live confluence scanner should include small-caps. The Command Center panel now scans both universes. When a confluence hit fires on a small-cap, size it the same as a large-cap hit — the ATR-normalized risk-parity sizing already accounts for the higher volatility. The expected reward is materially higher.

[EQUITY] 10-year equity curves + drawdowns (1/20 slot sizing)

Simulated equity growth of $1 starting Jan 2017. Each confluence trade is allocated 1/20th of capital (matching the 20-position portfolio cap). Slots earn zero when empty — this is realistic portfolio math, not a lottery-ticket per-trade multiplier.

SPY buy-and-hold
3.26x
Max DD: -34.1%
Portfolio · large-cap
1.84x
Max DD: -13.0%
1,976 trades
Portfolio · small-cap
2.92x
Max DD: -12.2%
1,570 trades
Portfolio · combined
2.81x
Max DD: -15.5%
2,208 trades
Equity growth (log-friendly linear scale)
Drawdown (peak-to-trough underwater curve)
[FINDING] The small-cap portfolio compounds to 2.92x with only a 12.2% max drawdown — vs SPY's 3.26x buy-and-hold with a 34.1% drawdown. Same final wealth, one-third the pain. The trend-follow exit cuts losers fast (max drawdown never exceeds 15% on any signal), which is why the equity curves look smoother than the underlying market.
[NOTE ON SIZING] The 1/20 slot allocation is conservative — most days only 8-15 positions are open, so effective capital deployment is 40-75%. If you're comfortable with fewer concurrent positions (say 10-12 max instead of 20), the final equity roughly doubles because each trade compounds a larger fraction. The 1/20 shown here is the safe reference case.