|
|
1148d3166c
|
refactor(datasource): 分层接口设计,移除HybridDataSource
架构改动:
- 移除 HybridDataSource(功能被 UniversalDataFetcher 覆盖)
- 新增分层接口设计:基础层 + 扩展层
基础层(统一接口):
- fetch(): 统一 OHLCV 接口,自动识别资产类型
- fetch_batch(): 批量获取
扩展层(资产类型特有):
- fetch_etf_adj(): A股 ETF 后复权价格
- fetch_us_adj(): 美股复权价格
- fetch_etf_with_nav(): ETF 价格 + 净值 + 溢价率
其他修改:
- YFinanceSource: 新增 fetch_adj() 方法
- strategy.py: 改用 UniversalDataFetcher 替代 HybridDataSource
- __init__.py: 移除 HybridDataSource 导出
|
2026-05-23 12:46:48 +08:00 |
|
|
|
4e3aac5e0e
|
feat: Flask统一数据服务迁移(分层架构)
架构设计:
- 对外统一接口 fetch():自动识别资产类型并路由
- 对内分层实现:各资产类型独立方法,职责单一
新增文件:
- datasource/universal_fetcher.py: 统一数据获取器
- _fetch_china_index: A股指数(Tushare)
- _fetch_china_etf: A股ETF(含净值)
- _fetch_us_index: 美股指数(YFinance+SSH)
- _fetch_hk_index: 港股指数(YFinance+SSH)
- _fetch_futures: 期货(Tushare/YFinance)
- fetch_etf_with_nav: ETF价格+净值(计算溢价率)
- datasource/asset_type_detector.py: 资产类型检测器
- AssetType枚举:9种资产类型
- detect(): 自动识别资产类型
- group_by_type(): 批量分组
- datasource/flask_server.py: Flask API服务
- LRU + TTL 双缓存机制
- 8个API端点:ohlcv、etf/nav、batch、cache等
更新:
- datasource/__init__.py: 导出新模块
验证:
- 模块导入成功
- 资产类型检测正确
- A股数据获取正常(沪深300: 5条)
|
2026-05-12 21:33:19 +08:00 |
|
|
|
e56bd39400
|
feat: 创建数据源模块 datasource/
核心功能:
- ssh_tunnel.py: SSH隧道管理器(连接香港ECS)
- tushare_source.py: A股数据获取(指数、ETF、期货)
- yfinance_source.py: 境外数据获取(港股、美股)
- hybrid_source.py: 混合数据源(整合所有)
使用方式:
from datasource import HybridDataSource
source = HybridDataSource.from_yaml('config/strategies/rotation.yaml')
result = source.fetch_all()
更新 RotationStrategy 使用新数据源模块
|
2026-05-12 00:03:25 +08:00 |
|