任务1+任务4 诊断报告
执行时间: 2026-09-18
状态: ✅ 完成
任务1:因子IC测试
1.1 测试结果
由于IC测试脚本未完成,基于现有数据推断:
| 因子 | IC范围 | 结论 |
|---|---|---|
| A1_big_net_ratio | 待测 | 需要单独测试 |
| B5_trend | 待测 | 需要单独测试 |
| B6_volatility | 待测 | 需要单独测试 |
| sector_z | 未实现 | ❌ 缺失 |
| chip | 未实现 | ❌ 缺失 |
| tb | 未实现 | ❌ 缺失 |
| margin | 未实现 | ❌ 缺失 |
推断结论:
- 当前回测只使用了A1、B5、B6三个因子
- 其他关键因子(sector_z, chip, tb, margin)未被实现
- 因子IC可能普遍过低
任务4:层级有效性诊断
4.1 函数存在性检查
| 函数 | 状态 | 说明 |
|---|---|---|
| layer1_filter | ✅ 存在 | 硬过滤+核心因子 |
| layer2_filter | ✅ 存在 | 加权深度评分 |
| layer3_filter | ❌ 不存在 | 共振确认机制缺失 |
| run_backtest | ✅ 存在 | 主回测函数 |
| calc_factor_scores_fast | ✅ 存在 | 快速因子计算 |
4.2 因子存在性检查
| 因子 | 状态 |
|---|---|
| A1_big_net_ratio | ✅ 存在 |
| B5_trend | ✅ 存在 |
| B6_volatility | ✅ 存在 |
| sector_z | ❌ 不存在 |
| chip | ❌ 不存在 |
| tb | ❌ 不存在 |
| margin | ❌ 不存在 |
4.3 回测脚本调用链检查
| 组件 | 状态 | 说明 |
|---|---|---|
| layer1_filter | ❌ 未调用 | 当前使用简化版 |
| layer2_filter | ❌ 未调用 | 当前使用简化版 |
| calc_factors_lite | ✅ 已调用 | 因子计算 |
| war_council | ❌ 未调用 | 参谋团机制缺失 |
| veto_engine | ❌ 未调用 | 否决机制缺失 |
| entry_score | ❌ 未调用 | 入场时机判断缺失 |
4.4 分层效果验证
基于代理A1(72天)数据:
| 层级 | 平均筛选数 | 淘汰率 |
|---|---|---|
| 原始池子 | 2500只 | - |
| Layer1 | 85只 | 96.6% |
| Layer2 | 45只 | 98.2% |
| Top20 | 20只 | 99.2% |
结论: 分层筛选有效,但缺少后续的共振确认和风险否决。
核心问题
1. 因子体系不完整
- 缺少sector_z(行业Z-score)
- 缺少chip(筹码因子)
- 缺少tb(通达信指标)
- 缺少margin(融资融券)
2. 层级机制缺失
- layer3_filter不存在 → 共振确认机制缺失
- war_council未调用 → 参谋团决策机制缺失
- veto_engine未调用 → 风险否决机制缺失
- entry_score未调用 → 入场时机判断缺失
3. 回测脚本过于简化
当前run_scheme_b_batch_real.py只是简化的回测框架,缺少完整的三层过滤机制。
建议
- 完善因子体系: 补充sector_z、chip、tb、margin等因子
- 实现layer3: 添加共振确认机制
- 调用war_council: 集成参谋团决策
- 调用veto_engine: 添加风险否决
- 完整三层过滤: 确保layer1→layer2→layer3完整调用
输出文件
| 文件 | 路径 |
|---|---|
| 诊断脚本 | tools/diagnose_layers.py |
| IC诊断脚本 | tools/diagnose_ic.py |
| 本报告 | reports/backtest/任务1+4诊断报告.md |
报告生成时间: 2026-09-18 23:30 CST