📚 前置已完成第 1~4 课

第 5 课:仓位管理 —— 从"全仓/空仓"到"波动率目标仓位"

状态:课程大纲(待开发)。学完第 4 课、开新会话学本课时,由 AI 按此大纲实现代码并补全本文件。 前置:已完成第 1~4 课


0. 新会话背景速览(给"接手的 AI"看的 30 秒)

  • 项目位置:D:/code/量化交易,运行 python 文件名.py
  • 学生已学完:pandas、回测框架、作业 1~9、多标的回测、单因子测试、参数敏感性分析
  • 已有资产:config.STOCK_POOL(50 只已缓存行情)、backtest/engine.py、多个策略
  • 学生水平:Python 初学者,中文交流,代码要每行有中文注释

1. 本课目标(大纲)

  1. 理解"仓位"是比"择时"更重要的风控工具:回撤砍一半,复利翻一倍
  2. 把信号从 0/1(全仓/空仓)升级为 0~1 之间的连续仓位
  3. 学会波动率目标仓位:目标波动率 ÷ 当前波动率 = 仓位(波动大少买、波动小多买)
  4. 对比"全仓 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. 学完这课,整个入门闭环就齐了

数据 → 信号 → 回测 → 评估 → 多标的 → 选股 → 参数稳健性 → 仓位风控。 之后可以按兴趣继续:实盘模拟、更多因子/策略、风险平价、组合优化……