Detector Scoreboard
Detector classification results from 47 labeled cases in the generated artifact. Each row shows its own N; precision and recall describe this labeled set only.
| Pattern | Legend | Precision | Recall | F1 | N | TP | FP | FN | TN |
|---|---|---|---|---|---|---|---|---|---|
| Livermore | 50% | 33% | 40% | 6 | 1 | 1 | 2 | 2 | |
| O'Neil | 100% | 20% | 33% | 8 | 1 | 0 | 4 | 3 | |
| Minervini | n/a | 0% | n/a | 3 | 0 | 0 | 2 | 1 | |
| Weinstein | n/a | 0% | n/a | 2 | 0 | 0 | 2 | 0 | |
| Minervini | n/a | 0% | n/a | 4 | 0 | 0 | 2 | 2 | |
| Minervini | 100% | 100% | 100% | 20 | 10 | 0 | 0 | 10 |
How We Measure
Small labeled samples are a limitation. Pattern-level percentages can change materially as cases are added and must not be read as expected trading performance.
Each detector is evaluated against labeled cases in
data/labeled_patterns/winners.csv (setups that subsequently broke out and ran)
and data/labeled_patterns/losers.csv (visually-similar setups that failed).
The detector runs on OHLCV data ending the day before the pivot date, so
it can't see the breakout — it only sees what a trader would have seen in real time.
- Precision = TP / (TP + FP): of the patterns we flagged, how many were real setups?
- Recall = TP / (TP + FN): of the real setups, how many did we catch?
- Coverage — only detector families represented by labeled cases receive a row.
- Small labeled samples make pattern-level precision and recall unstable.
- Legacy cases depend on provider OHLCV availability and may be skipped when data is missing.
- The artifact measures pre-pivot detector classification, not trading returns or future performance.
- Only detector families represented by labeled cases receive metrics.
Winners are seeded from Minervini's "Trade Like a Stock Market Wizard," O'Neil's IBD case studies, and Weinstein's "Secrets for Profiting in Bull and Bear Markets." Losers are contemporaneous setups that failed — same era, similar chart structure, wrong outcome.