Same issue as options_flow: early exit on candidate count discards strong signals that happen to be later in iteration order. insider_buying: Dict iteration order matched OpenInsider HTML scrape order, not signal quality. Now scores by cluster buys + C-suite + dollar value, then takes top N. technical_breakout: Stopped at limit*2 in file order despite data already being batch-downloaded (zero API cost to check all). Removed early exit, scan full universe, sort by volume_multiple. sector_rotation: Checked laggards in arbitrary dict order, spending API calls on random tickers. Now sorts by most-negative 5d return first so the strongest laggard candidates are checked before hitting the budget. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| performance | ||
| scanners | ||
| __init__.py | ||
| analytics.py | ||
| candidate.py | ||
| common_utils.py | ||
| discovery_config.py | ||
| filter.py | ||
| ranker.py | ||
| scanner_registry.py | ||
| ticker_matcher.py | ||
| utils.py | ||