TradingAgents/tests
Ahmet Guzererler 25067a56f7 feat: add Finnhub integration layer, tests, and evaluation report
Adds a complete Finnhub data vendor integration as a supplementary
source alongside Alpha Vantage — zero changes to existing functionality.

New dataflow modules:
- finnhub_common.py: exception hierarchy, thread-safe rate limiter (60/min), _make_api_request
- finnhub_stock.py: get_stock_candles, get_quote
- finnhub_fundamentals.py: get_company_profile, get_financial_statements, get_basic_financials
- finnhub_news.py: get_company_news, get_market_news, get_insider_transactions
- finnhub_scanner.py: market movers (S&P 500 basket workaround), indices, sectors, topic news
- finnhub_indicators.py: SMA, EMA, MACD, RSI, BBANDS, ATR via /indicator endpoint
- finnhub.py: facade re-exporting all public functions

New tests:
- test_finnhub_integration.py: 100 offline (mocked HTTP) tests — all passing
- test_finnhub_live_integration.py: 41 live integration tests — skip gracefully when FINNHUB_API_KEY unset

Evaluation report (docs/finnhub_evaluation.md):
- Full coverage matrix vs Alpha Vantage across 5 data categories
- Free tier viability analysis (60 calls/min)
- Unique capabilities: earnings calendar, economic calendar, XBRL as-filed filings
- Recommendation: add as supplementary vendor for calendar data only

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 07:54:21 +01:00
..
conftest.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00
test_alpha_vantage_exceptions.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00
test_alpha_vantage_integration.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00
test_alpha_vantage_scanner.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_config_wiring.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_debate_rounds.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_e2e_api_integration.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00
test_env_override.py fix: allow .env variables to override DEFAULT_CONFIG values 2026-03-17 14:25:10 +00:00
test_finnhub_integration.py feat: add Finnhub integration layer, tests, and evaluation report 2026-03-18 07:54:21 +01:00
test_finnhub_live_integration.py feat: add Finnhub integration layer, tests, and evaluation report 2026-03-18 07:54:21 +01:00
test_industry_deep_dive.py feat: improve Industry Deep Dive report quality with enriched data, sector routing, and tool-call nudge 2026-03-17 20:10:45 +01:00
test_macro_bridge.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_macro_regime.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_peer_comparison.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_scanner_complete_e2e.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_scanner_comprehensive.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_scanner_end_to_end.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_scanner_fallback.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_scanner_final.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_scanner_graph.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_scanner_mocked.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00
test_scanner_routing.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_scanner_tools.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
test_ttm_analysis.py feat: medium-term positioning upgrade (debate rounds, TTM, peer comparison, macro regime) (#14) 2026-03-17 22:27:40 +01:00
test_yfinance_integration.py feat: add scanner tests, global demo key in conftest, remove 48 inline key patches 2026-03-17 16:01:52 +00:00