b053103377
- 新增 scripts/strategy_review.py: 遍历所有active策略 - 腾讯API实时价对比止损/止盈/入场点 - 分类: correct/wrong/partial/pending - 失败模式归因: 止损过紧/入场过早/止盈过远等 - 写入 accuracy_stats 表(首条真实数据) - 新增 docs/strategy-review-loop.md: 完整闭环设计文档 - 含失败模式→修复方向映射表 Phase1 结果: 38条策略, 94.7%准确率(19条待定), 1条止损过紧
4.0 KiB
4.0 KiB
策略复盘闭环系统设计
版本: v1 | 最后更新: 2026-06-24 核心理念:每条策略建议都必须有回头检查,用实际结果驱动策略逻辑进化。
一、现状
| 环节 | 状态 |
|---|---|
| 策略生成 | ✅ strategy_lifecycle.py 按规则生成买入区/止损/止盈 |
| 策略评估 | ✅ 日评估六维分析每条策略的当前状况 |
| 策略重评 | ✅ 过期/偏离时自动触发重评 |
| 成功率追踪 | ❌ 有 accuracy_stats 空表,从未写入 |
| 复盘归因 | ❌ 没有"回头看"机制 |
| 策略逻辑修正 | ❌ 评估结果从不反馈到生成规则 |
| 验证测试 | ❌ 改完规则没有验证环节 |
二、闭环设计
生成策略 → 执行/等待 → 回头看(复盘) → 归因分析 → 修正策略逻辑 → 验证 → 部署
↑ |
└──── 迭代循环 ───────┘
环节1:回头看(复盘)
每条策略/建议在生成后 T+5、T+20、T+60 三个时间点回头检查:
| 检查点 | 时机 | 判断标准 |
|---|---|---|
| T+5 | 5个交易日后 | 止损触发?止盈触发?价格走向是否正确? |
| T+20 | 一个月后 | 中期趋势验证。买入区是否有效? |
| T+60 | 三个月后 | 长期逻辑验证。大方向判断是否正确? |
判断分类:
- ✅ 正确:价格朝预期方向走了 > 止损/止盈间距的 50%
- ⚠️ 部分正确:方向对了但幅度不够,或方向对但时机差
- ❌ 错误:方向错了,或止损被打后价格反转了
- ⏳ 待定:还在运行中,未到判断时点
环节2:归因分析
对 ❌ 错误 和 ⚠️ 部分正确 的做根因分类:
| 失败模式 | 判断条件 | 修复方向 |
|---|---|---|
| 止损过紧 | 价格跌破止损 < 3天后回到买入区 | 放宽止损到强支撑 × 0.95 |
| 入场过早 | 买入后继续跌 > 入场点 10% 才反弹 | 买入区下移,等缩量确认 |
| 止盈过近 | 价格突破止盈 < 5天后继续涨 > 15% | 止盈放到更高阻力位 |
| 方向看错 | 价格持续朝反方向走 | 检查多周期趋势判断逻辑 |
| 情景错配 | 策略假设的情景与实际不符 | 加入情景过滤条件 |
| 信号误判 | timing_signal 信号错误 | 修正信号合成逻辑 |
| 行业拖累 | 个股选对了但行业暴跌 | 加入行业动量过滤 |
环节3:策略逻辑修正
归因结果反馈到策略生成规则的几个层面:
- prompt_manager 规则更新 — 止损/止盈/买入区的生成规则
- timing_signal 合成权重调整 — 各因子的权重
- 股票分类规则调整 — 什么情况归为弱势/深套/短炒
- 情景判定阈值调整 — detect_scenario 的参数
环节4:回测验证
修正后的规则用历史数据跑模拟,对比新旧规则的成功率:
模拟方式:取过去60天的数据
1. 用旧规则生成每条策略 → 计算成功率
2. 用新规则生成同样股票的策略 → 计算成功率
3. 对比:新规则是否 > 旧规则 +5%?
4. 如果是 → 部署新规则
5. 如果不是 → 继续调整
三、参考来源
知识库中有多篇量化分析文章可以参考:
- 止损/止盈的统计学最优位置
- 多因子信号合成的权重分配方法
- 不同市场环境下的策略参数调优
- 回测验证的方法论和陷阱(过拟合/幸存者偏差)
四、实施路线
Phase 1(本session)
- 策略复盘脚本:遍历 active 策略,检查实际结果,写入 accuracy_stats
- 归因分析:对失败策略分类失败模式
- 初步报告:当前策略整体成功率 + 常见失败模式
Phase 2(后续)
- 策略逻辑修正:根据归因调整 prompt_manager 规则
- 回测验证:用历史数据验证新规则
- 知识库文章萃取:从量化分析文章中提取可用因子
- 持续迭代:每周跑一次复盘,持续优化