|
|
02dbc7bd7d
|
refactor(datasource): 底层fetch方法添加adj参数
TushareSource.fetch() 和 YFinanceSource.fetch() 新增 adj 参数支持 raw/qfq/hfq
- TushareSource.fetch(adj='raw'): 内部路由到 fetch_index/fetch_stock_adj/fetch_etf_adj
- YFinanceSource.fetch(adj='raw'): 内部路由到 fetch_adj() 或原始逻辑
- 添加 is_china_stock() 和 _is_etf_code() 方法用于资产类型判断
|
2026-05-23 18:32:00 +08:00 |
|
|
|
209dd7fd83
|
refactor(tushare): 移除代理清除/恢复逻辑
Tushare是国内服务,不需要代理切换操作
移除内容:
- _clear_proxy 方法
- _restore_proxy 方法
- 所有方法中的代理清除和恢复调用
代码精简37行,保持原有功能不变
|
2026-05-23 11:55:02 +08:00 |
|
|
|
b066b23495
|
feat(tushare): 新增ETF后复权价格和交易日历获取方法
新增方法:
- fetch_etf_adj: 获取ETF后复权价格数据,消除份额拆分对收益率的影响
通过 fund_daily + fund_adj 手动计算后复权价格
fund_adj 单次限2000条,按5年分段请求
- fetch_trade_cal: 获取A股SSE官方交易日历
验证结果:
- 纳指ETF后复权正确识别2022-01-14拆分(复权因子5.0)
- 累计收益100.54%与纳指100指数一致
|
2026-05-23 11:51:32 +08:00 |
|
|
|
19131c41dd
|
fix: 数据源路由修复与因子计算改进
1. 修复期货路由逻辑:NYMEX期货(.NYM)走YFinance而非Tushare
2. 添加SSH隧道路径修复(原引擎)
3. 因子计算只使用close列(处理部分指数只有收盘价的情况)
4. 添加数据不足和缺失率剔除日志
收益对比:
- 原引擎(剔除国债): 累计1804%, 调仓459次
- 新框架: 累计772%, 调仓1276次
差异原因待查:
- 国债剔除逻辑不同
- 调仓频率差异
|
2026-05-12 00:47:43 +08:00 |
|
|
|
a7a4a69153
|
fix: 修复回测日期对齐问题,优化收益率计算
- 使用对齐后的index_close数据计算日收益率
- 添加日期对齐逻辑确保信号和收益率数据一致
- 修复pivot重复索引问题,使用pivot_table
- 修复tushare期货接口调用(futures_daily -> fut_daily)
回测结果:
- 最终净值: 0.9435
- 累计收益: -5.65%
- 信号日期: 2302天
|
2026-05-12 00:12:46 +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 |
|