第 5 课:仓位管理 —— 从"全仓/空仓"到"波动率目标仓位"
状态:课程大纲(待开发)。学完第 4 课、开新会话学本课时,由 AI 按此大纲实现代码并补全本文件。 前置:已完成第 1~4 课
0. 新会话背景速览(给"接手的 AI"看的 30 秒)
- 项目位置:
D:/code/量化交易,运行python 文件名.py - 学生已学完:pandas、回测框架、作业 1~9、多标的回测、单因子测试、参数敏感性分析
- 已有资产:
config.STOCK_POOL(50 只已缓存行情)、backtest/engine.py、多个策略 - 学生水平:Python 初学者,中文交流,代码要每行有中文注释
1. 本课目标(大纲)
- 理解"仓位"是比"择时"更重要的风控工具:回撤砍一半,复利翻一倍
- 把信号从 0/1(全仓/空仓)升级为 0~1 之间的连续仓位
- 学会波动率目标仓位:目标波动率 ÷ 当前波动率 = 仓位(波动大少买、波动小多买)
- 对比"全仓 vs 动态仓位"的回撤、夏普、卡玛,体会风险预算的概念
2. 建议做法(AI 实现时参考)
- 新增代码文件:
05_仓位管理.py,策略信号保留 0/1,但仓位 = 信号 × 目标波动率/滚动波动率 backtest/engine.py目前position.clip(0, 1)已经支持 0~1 连续仓位,直接复用- 对比三组:全仓择时、半仓择时、波动率目标仓位择时(同样的择时信号)
- 输出:净值曲线 + 指标对比表,突出"最大回撤"和"卡玛比率"
3. 作业(AI 实现时补充具体题目)
- 作业 10:把波动率目标仓位接到自己的 RSI 策略上,对比回撤
- 作业 11(进阶):给股票池按波动率排序,思考"低波动股票是不是更适合满仓"
4. 学完自检清单
- [ ] 能说清为什么仓位管理比择时更能控制回撤
- [ ] 动态仓位版本的回撤明显小于全仓版本
- [ ] 作业 10、11 完成
5. 学完这课,整个入门闭环就齐了
数据 → 信号 → 回测 → 评估 → 多标的 → 选股 → 参数稳健性 → 仓位风控。 之后可以按兴趣继续:实盘模拟、更多因子/策略、风险平价、组合优化……