7.3 毕业设计:完整策略
🎉 你走到这一步了——现在把前面学到的所有东西整合成一个完整的策略。
一句话
毕业设计 = 从头到尾独立完成一个量化策略——从想法到回测到诊断到报告。
学习目标
完成毕业设计后你就有独立开发量化策略的能力了。
毕业设计要求
任务
选择一个你感兴趣的标的(股票/ETF/期货),完成以下所有步骤:
第一步:数据与探索
python
# 选择一个你感兴趣的标的
# 提示:选择你熟悉的行业/公司,这样你更容易判断策略逻辑是否合理
# 获取 5 年以上数据
# 做探索性数据分析:
# 1. 价格走势图
# 2. 收益率分布(偏度、峰度)
# 3. 滚动波动率
# 4. 相关性(如果有多个标的)第二步:策略设计
python
# 选择以下一种或多种策略(也可以自己设计):
# - 趋势跟踪(Part 2.1)
# - 均值回归(Part 2.2)
# - 统计套利(Part 2.3)
# - 多因子组合(Part 2.4)
# - ML 因子(Part 4.2/4.3)
# 写出策略逻辑的核心思想(3 句话以内)
# 示例:"当 20 日均线上穿 60 日均线且 RSI > 50 时买入,
# 当 20 日均线下穿 60 日均线或 RSI < 30 时卖出"第三步:回测与绩效
python
# 实现完整的回测,包含:
# 1. 信号生成
# 2. 模拟交易(含滑点 5bp)
# 3. 绩效报告:
# - 总收益 vs 买入持有
# - 夏普比率
# - 最大回撤
# - 卡玛比率
# - 索提诺比率
# 4. 交易分析:
# - 交易次数
# - 胜率
# - 盈亏比
# - 连续亏损次数第四步:稳健性验证
python
# 1. 样本外测试(80/20 分割)
# 2. 滚动交叉验证(3 折)
# 3. 参数敏感性分析
# 4. 不同市场环境下的表现第五步:诊断与改进
python
# 1. 做收益归因分析(什么条件下赚钱?什么条件下亏钱?)
# 2. 找策略的弱点
# 3. 提出改进方案
# 4. 判断:这个策略值得实盘吗?为什么?第六步:文档
python
# 写一份策略说明书(markdown),包含:
# 1. 策略名称和一句话描述
# 2. 策略逻辑
# 3. 回测结果(关键指标表格)
# 4. 稳健性验证结果
# 5. 风险分析
# 6. 改进方向
# 7. 你对自己的策略的信心(1-10)和理由评分标准
| 项目 | 权重 | 说明 |
|---|---|---|
| 策略逻辑 | 25% | 逻辑合理、有理论基础 |
| 回测完整性 | 25% | 包含所有必要分析 |
| 稳健性验证 | 20% | 样本外测试 + 交叉验证 |
| 诊断深度 | 20% | 找到策略的弱点并分析 |
| 文档清晰度 | 10% | 别人能读懂并复现 |
示例策略说明书
markdown
# 动量和值双因子组合策略
## 一句话
结合动量和价值因子,在 SPY 上做多空组合。
## 策略逻辑
- 动量因子:过去 60 日收益率
- 价值因子:当前价格偏离 20 日均线的程度
- 组合方式:等权打分,选得分最高的 20% 做多,最低的 20% 做空
## 回测结果
| 指标 | 数值 |
|------|------|
| 年化收益 | 8.5% |
| 夏普比率 | 1.2 |
| 最大回撤 | -12% |
| 交易次数 | 48 次/年 |
## 稳健性验证
- 样本外夏普: 0.95
- 3 折交叉验证平均: 1.05
- 参数敏感性: 中等
## 风险分析
- 最大回撤出现在 2022 年加息期
- 在低波动环境中表现更好
- 需要至少 50 万资金才能有效分散
## 改进方向
1. 增加成交量过滤减少假信号
2. 考虑对冲尾部风险
3. 加入行业中性约束
## 信心指数:7/10
2015-2024 年稳定表现,但未经历 2008 年这类极端市场。深度阅读
全部前面的章节都是你的参考资料。
掌握检查
- [ ] 我能说清楚毕业设计的五个阶段
- [ ] 我能从零开始回测 A 股分钟级策略
- [ ] 我会用蒙特卡洛模拟验证策略的统计显著性
- [ ] 我能写一份完整的策略描述文档
- [ ] 我理解了实盘和回测的关键差异:滑点、冲击成本、盘中信号
完成毕业设计后→ 右下角 AiTeacher 点"掌握检查",会把你的策略说明书和回测结果发给 AI 评审。
如果你卡住了 → 回到对应章节复习,或者在 AiTeacher 聊天里问。