feat: 全面SSH中转代理 + mimo-v2.5-pro支持
- Yahoo Finance: 跳过本地限流,直接走SSH中转 - StockTwits: 直连403时自动fallback到SSH中转 - Reddit: 网络不可达时自动fallback到SSH中转 - Polymarket: 网络不可达时自动fallback到SSH中转 - FRED: 配置API Key (825283926dd016ea66e96cc919e047da) - .env: 新增FRED_API_KEY和OPENAI_COMPATIBLE_API_KEY - test_xiaomi.py: 小米mimo-v2.5-pro测试脚本
This commit is contained in:
1 parent
51d057e2c9
commit
f8a47cb473
6 files changed
+93
-49
No files matched your search
@@ -321,34 +321,18 @@ def load_ohlcv(symbol: str, curr_date: str) -> pd.DataFrame:
|
||||
if use_alpha_vantage:
|
||||
downloaded = _load_ohlcv_alpha_vantage(symbol, curr_date)
|
||||
else:
|
||||
downloaded = None
|
||||
# Skip local Yahoo Finance, go directly through SSH proxy
|
||||
logger.info(f"Yahoo Finance: fetching {canonical} via SSH proxy...")
|
||||
try:
|
||||
raw = yf_retry(lambda: yf.download(
|
||||
canonical,
|
||||
start=start_str,
|
||||
end=end_str,
|
||||
multi_level_index=False,
|
||||
progress=False,
|
||||
auto_adjust=True,
|
||||
))
|
||||
downloaded = _ensure_date_column(raw.reset_index())
|
||||
except Exception as yf_err:
|
||||
pass # Will try proxy below
|
||||
|
||||
# If local yfinance failed or returned empty, try SSH proxy
|
||||
if downloaded is None or downloaded.empty or "Close" not in downloaded.columns:
|
||||
if downloaded is None or downloaded.empty:
|
||||
logger.warning(f"Yahoo Finance local failed, trying SSH proxy...")
|
||||
try:
|
||||
downloaded = _yf_download_via_proxy(canonical, start_str, end_str)
|
||||
except Exception as proxy_err:
|
||||
raise NoMarketDataError(
|
||||
symbol, canonical, f"Yahoo Finance proxy also failed: {proxy_err}"
|
||||
) from proxy_err
|
||||
if downloaded.empty:
|
||||
raise NoMarketDataError(
|
||||
symbol, canonical, f"Yahoo Finance proxy also returned no data"
|
||||
)
|
||||
downloaded = _yf_download_via_proxy(canonical, start_str, end_str)
|
||||
except Exception as proxy_err:
|
||||
raise NoMarketDataError(
|
||||
symbol, canonical, f"Yahoo Finance proxy failed: {proxy_err}"
|
||||
) from proxy_err
|
||||
if downloaded.empty:
|
||||
raise NoMarketDataError(
|
||||
symbol, canonical, f"Yahoo Finance proxy returned no data"
|
||||
)
|
||||
if downloaded.empty or "Close" not in downloaded.columns:
|
||||
raise NoMarketDataError(
|
||||
symbol, canonical, "Yahoo Finance returned no rows"
|
||||
|
||||
Reference in new issue
Block a user