fix: 修复数据获取架构逻辑Bug
修复内容: 1. Bug #1: TushareSource.fetch(adj='raw') ETF 无法获取 - 在 adj='raw' 分支优先判断 ETF - ETF 代码现在正确路由到 fetch_etf() 2. Bug #2: is_china_index 判断范围过宽 - 添加 ETF 排除逻辑 - ETF 不再被误判为指数 3. 接口一致性:CCXTSource 添加 adj 参数 - fetch(code, start, end, adj='raw', timeframe) - 加密货币仅支持 adj='raw' - UniversalDataFetcher._fetch_crypto() 同步更新 影响: - ETF 原始价格数据获取恢复正常 - 类型判断逻辑更准确 - 数据源接口签名统一
This commit is contained in:
@@ -146,6 +146,7 @@ class CCXTSource:
|
||||
code: str,
|
||||
start_date: str,
|
||||
end_date: str,
|
||||
adj: str = 'raw',
|
||||
timeframe: str = '1d'
|
||||
) -> Optional[pd.DataFrame]:
|
||||
"""
|
||||
@@ -155,11 +156,16 @@ class CCXTSource:
|
||||
code: 加密货币代码(BTC, ETH 等)
|
||||
start_date: 开始日期 YYYY-MM-DD
|
||||
end_date: 结束日期 YYYY-MM-DD
|
||||
adj: 复权类型(加密货币仅支持 'raw')
|
||||
timeframe: K 线周期(1d, 1h, 4h, 15m, 1m)
|
||||
|
||||
Returns:
|
||||
DataFrame with columns: date, open, high, low, close, volume
|
||||
"""
|
||||
# 校验 adj 参数(加密货币仅支持 raw)
|
||||
if adj != 'raw':
|
||||
raise ValueError(f"加密货币不支持复权,adj='{adj}' 无效,仅支持 'raw'")
|
||||
|
||||
if not CCXT_AVAILABLE:
|
||||
print(f"⚠️ ccxt 未安装,无法获取 {code}")
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user