Skip to content

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 聊天里问。

📝 练习

💬 论述题

Built with VitePress