feat(v2): 增强框架核心功能与ETF复权修复

- 修复 end_date=None 导致 Flask API 返回错误时间范围的 bug
  * strategy.py: 自动使用今天日期作为 end_date
  * 验证:回测区间从 77 天恢复到 1539 天

- ETF 收益计算从原始价格改为后复权价格
  * flask_api_fetcher.py: adj='raw' → adj='hfq'
  * 自动处理 ETF 份额拆分事件,确保收益率准确

- V2 简单版添加 A 股交易日过滤
  * simple.py: 获取 SSE 交易日历,过滤非交易日
  * 验证:1999 天 → 1539 天(与 V1 一致)

- 配置严格对齐 V1 config.yaml
  * config_simple.yaml: start_date 从 2020-01-01 改为 2020-01-10
  * group 字段值严格映射 V1 的 market 字段

关键验证:
- V2 简单版回测:1539 天,981.95% 收益(未计入交易成本)
- V2 正式版回测:1539 天,135.63% 收益(已计入交易成本)
- V1 旧版框架:1539 天,103.29% 收益(基准)
This commit is contained in:
2026-05-24 22:53:45 +08:00
parent 86fce7a975
commit 94b9ef165b
4 changed files with 60 additions and 5 deletions

View File

@@ -146,7 +146,7 @@ class FlaskAPIFetcher(DataFetcher):
code=code,
start_date=start,
end_date=end,
adj='raw',
adj='hfq', # ETF 收益计算必须使用后复权价格(处理份额拆分)
asset_type='china_etf' # 强制指定 ETF 类型
)