Commit Graph

2 Commits

Author SHA1 Message Date
John Weston b622630e53 Address Gemini review: date filtering, caching, dedup, naming + add technicals & competitors
Fixes all 9 Gemini issues:
- HIGH: get_news/get_global_news now pass start_date/end_date to API
- HIGH: get_sec_filings (renamed from get_insider_transactions) has caching
- MEDIUM: Replaced _get2 duplicate with shared _safe_get at module level
- MEDIUM: _safe_get returns default instead of None (no more 'None' in strings)
- MEDIUM: balance_sheet/cashflow/income_statement now cache formatted results
- MEDIUM: String concatenation replaced with list join pattern throughout
- MEDIUM: _days_to_range helper eliminates range calculation duplication
- MEDIUM: Fallback for unknown indicator types formats dict keys as CSV

New Polaris-exclusive methods:
- get_technicals: 20 indicators + buy/sell signal in one call
- get_competitors: same-sector peers with live price, RSI, sentiment
2026-03-23 17:49:46 -04:00
John Weston 4abad33e0f Add Polaris as news/sentiment/price data vendor
Adds Polaris Knowledge API as a third data vendor alongside yfinance and
Alpha Vantage. Polaris provides sentiment-scored intelligence, composite
trading signals, and news impact analysis that raw data feeds don't offer.

Implements all existing vendor methods plus 3 Polaris-exclusive methods
(sentiment_score, sector_analysis, news_impact).

Uses cachetools.TTLCache for thread-safe caching, shared financials fetch
to avoid redundant API calls, and polaris-news SDK for all API access.

Tested with real API calls — all functions return valid data.
Addresses #305, #11, #86.
2026-03-23 09:12:06 -04:00