|
|
416f708d53
|
feat(datasource): 实现加密货币数据获取功能
- 新增 ccxt_source.py: CCXT + OKX 加密货币数据源
- 新增 socks2http.py: SOCKS5 转 HTTP 代理转换器
- 修改 universal_fetcher.py: 添加 _fetch_crypto 方法,支持 timeframe 参数
- 修改 flask_server.py: API 支持 timeframe 参数,加密货币不缓存
支持的 timeframe: 1d, 1h, 4h, 15m, 1m
测试验证: BTC 数据获取成功
|
2026-05-13 23:30:32 +08:00 |
|
|
|
a712bc0f03
|
fix(datasource): 支持US_STOCK和HK_STOCK类型数据获取
- universal_fetcher.py: 添加 _fetch_us_stock 和 _fetch_hk_stock 方法
- flask_server.py: SSH_HOST 修正为正确的IP地址 8.218.167.69
- 测试 META 获取成功,info 字段在最外层返回179个属性
|
2026-05-13 00:38:01 +08:00 |
|
|
|
16affb2368
|
feat: fetch_etf_with_nav 返回历史溢价率序列
修改内容:
1. universal_fetcher.py
- fetch_etf_with_nav 返回三值:(price_df, nav_df, premium_series)
- 新增 _calculate_premium_series 方法:计算每一天的溢价率
- 溢价率 = (ETF收盘价 - ETF净值) / ETF净值
- 净值用ffill对齐价格日期(处理T+1延迟)
2. flask_server.py
- /api/v1/etf/nav 端点返回历史溢价率序列
- 添加 premium_series 字段:[{date, premium}]
- 添加 latest_premium: 最新溢价率
- 添加 premium_stats: 统计数据(mean/std/min/max/median)
测试结果(513100.SH 纳指100 ETF):
- 价格数据: 8条
- 净值数据: 8条
- 溢价率序列: 8条
- 最新溢价率: 0.1500%
- 溢价率均值: 1.1433%
- 溢价率范围: 0.15% ~ 1.69%
|
2026-05-12 21:39:07 +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 |
|