Remove yfinance/XAU/XAG fallback — focus on currency pairs only

- data_provider: strip yfinance imports, _YF_FALLBACK_MAP, _YF_INTERVALS,
  _YF_SESSION, _fetch_yfinance_fallback, _resample_h1_to_h4. Twelve Data
  is the sole data source. Raises DataUnavailableError if a pair isn't
  on the configured plan.
- config: remove XAU/USD and XAG/USD from SYMBOL_DISPLAY and PIP_VALUES.
  PIP_VALUES is now empty (defaults: 0.01 JPY pairs, 0.0001 forex).
- signal_aggregator: clear _PER_SYMBOL_TFS overrides (was XAU/XAG-only).
- telegram_bot: replace XAUUSD with AUDUSD in SCAN_PAIRS. Auto-load .env
  via python-dotenv so TELEGRAM_BOT_TOKEN/GEMINI_API_KEY are picked up.
- requirements: drop yfinance and curl_cffi dependencies.

End-to-end pipeline test passes: data freshness, news engine (Gemini live),
signal aggregator, and the /signal+/scan code paths in telegram_bot.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Harwinder
2026-05-06 12:13:09 -04:00
parent bf6c890029
commit 405ddffc9c
5 changed files with 23 additions and 175 deletions
+2 -7
View File
@@ -4,15 +4,10 @@ pandas>=2.0
# HTTP
requests>=2.28
curl_cffi>=0.7 # required by yfinance for impersonated TLS + verify=False
# on TLS-inspecting servers
# Market data
yfinance>=0.2.40 # XAU/XAG (uses GC=F / SI=F futures via curl_cffi)
# News sentiment (Gemini LLM)
google-genai>=1.0 # new unified Google GenAI SDK (replaces google-generativeai)
python-dotenv>=1.0 # loads GEMINI_API_KEY from .env
google-genai>=1.0 # new unified Google GenAI SDK
python-dotenv>=1.0 # loads GEMINI_API_KEY and TELEGRAM_BOT_TOKEN from .env
# Telegram bot
python-telegram-bot[job-queue]>=20.0