Pattern Performance
Realized win rate per pattern over closed signals (return20d direction). The Strategy Rank outcomes gate consumes this same data — patterns flagged Pilot-only or Watch-only here trigger tier downgrades there.
Pattern performance — historical hit rate over closed signals
Realized win rate is computed from `return20d` per closed signal. Patterns below 50% face a tier downgrade in Strategy Rank; below 35% drop to watch.
Note: Avg Return, Expectancy, and E[R] Today are computed position-aware when the underlying signal_outcomesrows carry a direction field. Outcomes seeded before that fix may still aggregate as raw price return — for bearish patterns ( head_shoulders, double_top,triple_top, rising_wedge,descending_triangle, bear_flag,bear_pennant ) a positive value would then mean the underlying ran UP (against the bear thesis). Use Win Rate and Median Return as a sanity cross-check.
| Pattern | Samples | Wins | Win Rate | Median Return | Avg Return | Expectancy | Status | NEW Today | E[R] Today |
|---|---|---|---|---|---|---|---|---|---|
| Head Shoulders | 1370 | 748/1370 | 54.6% | +78.66% | +638.81% | +6.388 | OK | — | — |
| Breakout Retest Hold | 1356 | 925/1356 | 68.2% | +571.76% | +1356.56% | +13.566 | OK | 0/ 3 | — |
| Double Top | 535 | 269/535 | 50.3% | +33.51% | +681.71% | +6.817 | OK | — | — |
| Descending Triangle Breakdown | 494 | 298/494 | 60.3% | +268.37% | +693.48% | +6.935 | OK | — | — |
| Rounded Base | 213 | 130/213 | 61.0% | +480.35% | +616.31% | +6.163 | OK | — | — |
| Triple Top | 207 | 133/207 | 64.3% | +268.37% | +2537.40% | +25.374 | OK | — | — |
| Rising Wedge | 106 | 45/106 | 42.5% | -380.53% | +222.49% | +2.225 | Pilot-only | — | — |
| Channel Breakout | 83 | 40/83 | 48.2% | -105.51% | +26.23% | +0.262 | Pilot-only | — | — |
| Bull Flag | 65 | 42/65 | 64.6% | +359.46% | +370.16% | +3.702 | OK | — | — |
| Ascending Triangle | 60 | 38/60 | 63.3% | +524.80% | +302.62% | +3.026 | OK | — | — |
| Cup With Handle | 60 | 38/60 | 63.3% | +659.34% | +377.94% | +3.779 | OK | — | — |
| Double Bottom | 60 | 27/60 | 45.0% | -56.47% | +10.01% | +0.100 | Pilot-only | — | — |
| Falling Wedge | 60 | 27/60 | 45.0% | -218.44% | -26.47% | -0.265 | Pilot-only | — | — |
| Inverse Head Shoulders | 60 | 33/60 | 55.0% | +385.83% | +151.54% | +1.515 | OK | — | — |
| Ma Reclaim | 60 | 29/60 | 48.3% | -95.57% | -42.89% | -0.429 | Pilot-only | — | — |
| Rectangle | 60 | 37/60 | 61.7% | +427.59% | +241.41% | +2.414 | OK | — | — |
| Rectangle Breakout | 16 | 1/16 | 6.3% | -1224.83% | -1036.94% | -10.369 | Watch-only | — | — |
| Ma Bounce 200 | 9 | 0/9 | 0.0% | -493.40% | -493.40% | -4.934 | Insufficient (n<10) | — | — |
Pattern × Grade — realized win rate
Each cell shows {patternType} signals filtered to {grade}. Cells with fewer than 5 samples render '—'.
| Pattern | Total | A | B | C | D |
|---|---|---|---|---|---|
| Head Shoulders | 1370 | — | — | — | — |
| Breakout Retest Hold | 1356 | — | — | — | — |
| Double Top | 535 | — | — | — | — |
| Descending Triangle Breakdown | 494 | — | — | — | — |
| Rounded Base | 213 | — | — | — | — |
| Triple Top | 207 | — | — | — | — |
| Rising Wedge | 106 | — | — | — | — |
| Channel Breakout | 83 | — | — | — | — |
| Bull Flag | 65 | — | — | — | — |
| Ascending Triangle | 60 | — | — | — | — |
| Cup With Handle | 60 | — | — | — | — |
| Double Bottom | 60 | — | — | — | — |
| Falling Wedge | 60 | — | — | — | — |
| Inverse Head Shoulders | 60 | — | — | — | — |
| Ma Reclaim | 60 | — | — | — | — |
| Rectangle | 60 | — | — | — | — |
| Rectangle Breakout | 16 | — | — | — | — |
| Ma Bounce 200 | 9 | — | — | — | — |
Reclaim rate — failed → reclaimed by pattern
High reclaim rate is the Wyckoff Spring + LPS dynamic — patterns that fall, shake out longs, and reclaim the breakout level. Historically these often outperform first-time breaks.
| Pattern | Failed | Reclaimed | Reclaim Rate | Sample | Band |
|---|---|---|---|---|---|
| breakout retest hold | 0 | 0 | 0% | 0 | Insufficient |
| channel breakout | 0 | 0 | 0% | 0 | Insufficient |
| ma bounce 200 | 0 | 0 | 0% | 0 | Insufficient |
| ma bounce 50 | 0 | 0 | 0% | 0 | Insufficient |
| rounded base | 0 | 0 | 0% | 0 | Insufficient |
| squeeze breakout | 0 | 0 | 0% | 0 | Insufficient |