新策略开发必读
来源: Obsidian Vault
新策略开发必读
本文档是所有新策略提交到
mystocks/策略/目录前必须满足的规范清单。 请先阅读 ../docs/量化策略规划及管理.md 了解完整框架。 最后更新:2026-06-09
一、提交前检查清单
新策略提交到策略库前,必须逐项确认以下所有条件。
1.1 文件结构(必须)
- [ ] 代码仓库已克隆到
mystocks/策略/[策略名]/ - [ ] 策略卡片已创建
mystocks/策略/[策略名].md(使用附录模板) - [ ] 卡片中7个章节全部填写,无"待补充"占位(运维章节可标注"待部署")
1.2 策略逻辑(必须)
- [ ] 入场规则可用数学/逻辑表达式描述,无"附近""大概"等模糊词
- [ ] 出场规则包含止损、止盈、时间止盈三种
- [ ] 信号过滤机制已定义(不能"所有信号都入场")
- [ ] 多空方向已确认(A股建议只做多,除非有明确做空理由)
1.3 数据与制度(必须)
- [ ] 数据粒度与策略逻辑匹配(日线策略用日线,日内策略需考虑T+1)
- [ ] 手续费模型已包含(买入+卖出双边),费率使用实际值
- [ ] T+1制度已适配(日内策略需说明如何处理隔夜持仓)
- [ ] 涨跌停/停牌已处理(A股特色,不能忽略)
1.4 回测统计(必须)
- [ ] 最少30笔交易(低于此数的回测结果不可信)
- [ ] 最少2年回测窗口
- [ ] 至少20只股票验证泛化能力
- [ ] 前视偏差已排除(特征计算用回测前数据)
二、七层合规评估
按 [../docs/量化策略规划及管理.md] 第二章七层框架逐层评估,每层必须达标。
评估表
| 层级 | 条件 | 达标标准 | 新策略填写 |
|---|---|---|---|
| 1 数据基础 | 数据质量/粒度/复权/量 | 数据完整、粒度匹配、复权一致 | [ ] |
| 2 市场制度 | T+1/手续费/多空/交易时间 | 手续费已建模、T+1已适配、方向已确认 | [ ] |
| 3 策略逻辑 | 入场/出场/过滤 | 三种出场齐全、有过滤机制 | [ ] |
| 4 统计有效 | 样本量/股票池/盈亏平衡 | ≥30笔、≥20只、胜率>盈亏平衡线 | [ ] |
| 5 统计陷阱 | 前视/过拟合/幸存者 | 无前视偏差、参数优化有天花板意识 | [ ] |
| 6 迭代方法 | 根因诊断/优先级 | 有失败记录、按架构>逻辑>参数优先级迭代 | [ ] |
| 7 工程运营 | 配置/Git/Cron/评估 | 参数可配置、Git已提交、评估节点已定 | [ ] |
评分规则
| 得分 | 含义 | 决策 |
|---|---|---|
| 7/7 全部达标 | 策略完整 | 进入实盘观察期 |
| 5-6/7 | 基本可行 | 补齐缺失项后进入观察期 |
| 3-4/7 | 重大缺陷 | 需要返工 |
| <3/7 | 不可行 | 考虑放弃 |
三、回测结果提交标准
策略卡片中的回测结果必须包含以下所有指标:
3.1 必须指标
| 指标 | 说明 | 计算方式 |
|---|---|---|
| 总交易笔数 | 最少30笔 | 所有已完成交易 |
| 胜率 | 盈利交易占比 | 盈利笔数/总笔数 |
| 总收益率 | 扣除手续费后 | (期末资金-初始资金)/初始资金 |
| 年化收益 | 标准化到年度 | 总收益/年数 |
| 最大回撤 | 峰值到谷底最大跌幅 | max((peak-valley)/peak) |
| 盈亏比 | 平均盈利/平均亏损 | avg(win)/avg(loss) |
| 盈亏平衡胜率 | 所需最低胜率 | 1/(1+盈亏比) |
3.2 离场分布
必须提供离场原因分布:
stop_loss: N笔 (X%) ← 止损
take_profit_1: N笔 (X%) ← 第一止盈
take_profit_2: N笔 (X%) ← 第二止盈(如有)
time_exit: N笔 (X%) ← 时间止盈
3.3 盈亏平衡验证
盈亏比 = [平均止盈幅度] / [平均止损幅度]
所需胜率 = 1 / (1 + 盈亏比)
实际胜率 = [回测胜率]
安全边际 = 实际胜率 - 所需胜率
✅ 安全边际 > 5% → 正期望,可上线
⚠️ 安全边际 0-5% → 微利,需优化
❌ 安全边际 < 0% → 负期望,不可上线
3.4 手续费敏感性
必须提供零手续费 vs 有手续费的对比:
零手续费收益: +X%
有手续费收益: +Y% (或 -Y%)
手续费影响: -(X-Y)%
如果手续费影响超过总收益的50%,说明策略对成本极度敏感,实盘可能因滑点等因素转亏。
四、风险自查表
提交前必须确认以下常见风险已规避(详见 常见失败路径避坑清单.md):
- [ ] 时间周期与T+1制度兼容(日内策略需特别说明)
- [ ] 只做多头(除非有明确做空理由和验证)
- [ ] 手续费使用实际值(不是千分之一,是万分之一或实际佣金)
- [ ] 止盈目标与时间周期波动匹配(日线TP≥2%,15min TP≤0.8%)
- [ ] 信号足够(不是0笔或个位数笔交易)
- [ ] 无前视偏差(特征计算不使用未来数据)
- [ ] 出场优先级正确(TIME_EXIT不被其他条件截断)
- [ ] 参数未过度优化(同一方向调参不超过3轮)
五、策略状态流转
📋 规划中 → 🔄 开发中 → 🔄 回测中 → 🔄 实盘观察期 → ✅ 已上线
↓
⚠️ 暂停观察
↓
⚰️ 已退役
| 状态 | 卡片标注 | 资金权重 | 条件 |
|---|---|---|---|
| 📋 规划中 | 策略逻辑已定义,代码未开始 | 0% | 无 |
| 🔄 开发中 | 代码编写中 | 0% | 无 |
| 🔄 回测中 | 代码完成,回测验证中 | 0% | 七层评估≥5/7 |
| 🔄 实盘观察期 | Cron已部署,实盘运行 | 25% | 七层评估=7/7,回测正收益 |
| ✅ 已上线 | 实盘盈利≥6个月 | 60% | 实盘WR≥40%持续6个月 |
| ⚠️ 暂停观察 | 连续4周亏损 | 0% | 暂停新开仓 |
| ⚰️ 已退役 | 连续8周亏损或放弃 | 0% | 关闭Cron,归档 |
六、提交流程
1. 完成代码开发 → Git commit + push
2. 克隆到 mystocks/策略/[策略名]/
3. 创建策略卡片 mystocks/策略/[策略名].md
4. 自查本清单所有 [ ] 项
5. 完成七层合规评估表(打分)
6. 填写回测结果(含所有必须指标)
7. 确认风险自查表全部通过
8. 更新 量化策略规划及管理.md 策略库总览表
9. 部署Cron(如进入观察期)
10. 设定评估节点日期