第 4 课:参数敏感性分析 —— 真正理解"参数过拟合"
状态:课程大纲(待开发)。学完第 3 课、开新会话学本课时,由 AI 按此大纲实现代码并补全本文件。 前置:已完成第 1~3 课
0. 新会话背景速览(给"接手的 AI"看的 30 秒)
- 项目位置:
D:/code/量化交易,运行python 文件名.py - 学生已学完:pandas、回测框架、作业 1~5、多标的回测、单因子测试
- 已有资产:
config.STOCK_POOL(50 只已缓存行情)、backtest/engine.py、strategies/dual_ma.py等 - 学生水平:Python 初学者,中文交流,代码要每行有中文注释
1. 本课目标(大纲)
- 用网格搜索把
MA_FAST × MA_SLOW所有组合跑一遍,画绩效热力图 - 观察"最优参数区域"长什么样:是孤峰(容易过拟合)还是高原(稳健)?
- 把时间段切成两半(前段定参数 / 后段验证),体会样本外检验
- 真正理解"参数过拟合":为什么历史最优参数换段时间就失效
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 课:仓位管理 —— 把"全仓/空仓"升级为"根据波动率调节仓位": 波动大少买、波动小多买,看同样策略能不能把回撤砍下来。