TradingAgents/tradingagents/dataflows/discovery/scanners
Youssef Aitousarrah e15e2df7a5 feat(cache): unified ticker universe + nightly OHLCV prefetch
- tradingagents/dataflows/universe.py: single source of truth for ticker
  universe; all scanners now call load_universe(config) instead of
  duplicating the 3-level fallback chain with hardcoded "data/tickers.txt"

- scripts/prefetch_ohlcv.py: nightly script using existing ohlcv_cache.py
  incremental logic; first run downloads 1y history, subsequent runs append
  only new trading days

- .github/workflows/prefetch.yml: runs at 01:00 UTC daily, before all other
  workflows; commits updated parquet to repo

- Updated 6 scanners: minervini, high_52w_breakout, ml_signal, options_flow,
  sector_rotation, technical_breakout — removed duplicate DEFAULT_TICKER_FILE
  constants and _load_tickers_from_file() functions

- minervini, high_52w_breakout, technical_breakout: replace yf.download()
  with download_ohlcv_cached() — reads from prefetched cache instead of
  hitting yfinance at discovery time

- default_config.py: added discovery.ohlcv_cache_dir config key

- data/ohlcv_cache/: initial 1y backfill (588 tickers, 5.4MB parquet)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 16:18:52 -07:00
..
__init__.py research(autonomous): 2026-04-14 — automated research run 2026-04-14 13:47:21 -07:00
analyst_upgrades.py Update 2026-02-20 08:38:15 -08:00
earnings_beat.py research(autonomous): 2026-04-14 — automated research run 2026-04-14 13:47:21 -07:00
earnings_calendar.py feat: improve all 9 scanners and add 3 new scanners 2026-02-20 08:36:18 -08:00
high_52w_breakout.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
insider_buying.py learn(iterate): 2026-04-14 — automated iteration run 2026-04-14 07:25:30 +00:00
market_movers.py feat: improve all 9 scanners and add 3 new scanners 2026-02-20 08:36:18 -08:00
minervini.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
ml_signal.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
options_flow.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
reddit_dd.py feat(scanners): add minervini scanner to registry 2026-04-06 13:51:42 -07:00
reddit_trending.py learn(iterate): 2026-04-11 — automated iteration run 2026-04-11 06:55:28 +00:00
sector_rotation.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
semantic_news.py learn(iterate): 2026-04-11 — automated iteration run 2026-04-11 06:55:28 +00:00
short_squeeze.py learn(iterate): 2026-04-13 — automated iteration run 2026-04-13 07:52:59 +00:00
technical_breakout.py feat(cache): unified ticker universe + nightly OHLCV prefetch 2026-04-14 16:18:52 -07:00
volume_accumulation.py Update 2026-02-20 08:38:15 -08:00