TradingAgents/tradingagents/dataflows/discovery
Youssef Aitousarrah 136fa47645 fix(options_flow): scan full universe before applying limit, rank by signal strength
Previously the scanner stopped as soon as self.limit candidates were found
from as_completed() futures. Since futures complete in non-deterministic
network-latency order, this was equivalent to random sampling — fast-to-
respond tickers won regardless of how strong their options signal was.

Fix: collect all candidates from the full universe, then sort by options_score
(unusual strike count weighted 1.5x for calls to favor bullish flow) before
applying the limit. The top-N strongest signals are now always returned.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:46:21 -07:00
..
performance feat: discovery pipeline enhancements with ML signal scanner 2026-02-09 22:53:42 -08:00
scanners fix(options_flow): scan full universe before applying limit, rank by signal strength 2026-04-06 13:46:21 -07:00
__init__.py feat: discovery system code quality improvements and concurrent execution 2026-02-05 23:27:01 -08:00
analytics.py Update 2026-02-20 08:38:15 -08:00
candidate.py feat: discovery system code quality improvements and concurrent execution 2026-02-05 23:27:01 -08:00
common_utils.py fix(discovery): fix three scanner hang/validation bugs found in ranker_debug.log 2026-02-20 22:35:42 -08:00
discovery_config.py Update 2026-02-20 08:38:15 -08:00
filter.py Update 2026-02-20 08:38:15 -08:00
ranker.py Update 2026-02-20 08:38:15 -08:00
scanner_registry.py Update 2026-02-20 08:38:15 -08:00
ticker_matcher.py feat: discovery pipeline enhancements with ML signal scanner 2026-02-09 22:53:42 -08:00
utils.py feat: improve all 9 scanners and add 3 new scanners 2026-02-20 08:36:18 -08:00