- 修复分散化选股逻辑:每个 group 选 Top 1 后,需要再按动量排序选 Top select_num - 之前:所有 group 的 Top 1 都标记为信号(忽略 select_num) - 现在:先从每个 group 选 Top 1,再从中按动量选 Top select_num 个 - 影响:配置 select_num=3 时,实际持仓 3 只而不是 4 只(group 数量)
新增功能: - 创建 framework_v2/scripts/export_backtest_detail.py - 导出 GlobalRotationStrategy 回测细节到 JSON - 输出路径: framework_v2/results/backtest_detail_v2.json 导出数据内容: 1. 元数据(meta) - 策略版本、模式、日期范围 - 动态阈值配置 - 调仓次数、最终净值 - 标的列表(名称、ETF、分组) 2. 逐日明细(days) - 日期、净值、日收益率 - 调仓信息(is_rebalance、added、removed) - 持仓列表(holdings) - 每标的详情(11 个标的 × 1539 天) * 动量得分、排名、阈值 * 持仓状态、权重 * 入场日期、入场价格、持仓天数 * 累计收益、当日收益、收益贡献 技术特性: - 使用 CrossMarketAligner 对齐数据 - 支持动态短债阈值 - 支持强制分散化 - 包含交易成本计算 - Pydantic Schema 验证 回测验证(2020-01-10 ~ 2026-05-22): - 总收益:137.64% - 年化收益:15.23% - 调仓次数:829 次 - 交易天数:1539 天 - 文件大小:4.5 MB 用途: - 供 HTML 回放器加载 - 策略分析和调试 - 信号可视化 - 持仓明细查询