📚 前置已完成第 1~3 课

第 4 课:参数敏感性分析 —— 真正理解"参数过拟合"

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


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

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

1. 本课目标(大纲)

  1. 用网格搜索把 MA_FAST × MA_SLOW 所有组合跑一遍,画绩效热力图
  2. 观察"最优参数区域"长什么样:是孤峰(容易过拟合)还是高原(稳健)?
  3. 把时间段切成两半(前段定参数 / 后段验证),体会样本外检验
  4. 真正理解"参数过拟合":为什么历史最优参数换段时间就失效

2. 建议做法(AI 实现时参考)

  • 新增代码文件:04_参数敏感性分析.py
  • 网格:MA_FAST ∈ {5,10,15,20,30},MA_SLOW ∈ {20,30,40,60,90,120}(要求 FAST < SLOW)
  • 指标:用多标的平均(50 只)而不是单只,避免单股运气干扰
  • 输出:热力图(横轴 FAST、纵轴 SLOW、颜色=夏普或超额收益)+ 最优参数表
  • 进阶:把 2021-2023 当"训练期"、2024-2025 当"验证期",看训练期最优参数在验证期排第几

3. 作业(AI 实现时补充具体题目)

  • 作业 8:跑网格热力图,指出最优区域是孤峰还是高原
  • 作业 9(进阶):训练/验证切分,看"训练期最优参数"在验证期的表现

4. 学完自检清单

  • [ ] 能画出一张参数热力图并解释它
  • [ ] 能用自己的话解释"过拟合"和"样本外检验"
  • [ ] 作业 8、9 完成

5. 下一课预告

第 5 课:仓位管理 —— 把"全仓/空仓"升级为"根据波动率调节仓位": 波动大少买、波动小多买,看同样策略能不能把回撤砍下来。