Agent Skills
返回列表
过拟合检测

过拟合检测

行业专业 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_12ed80fe/overfitting-detect。

技能介绍

要解决什么问题

量化策略在样本内往往表现亮眼,但样本外夏普迅速塌缩,本质是过拟合或统计显著性不足。仅凭一条回测曲线很难区分「真实 Alpha」与「运气」,尤其在样本较短、参数较多时。本技能面向单条日收益序列,在投入实盘前做可复现的统计诊断,而不是替你做策略优化。

技能如何工作

检测按固定顺序执行三项独立且互补的分析,结论分别给出,再按权重汇总(PSR 40%、蒙特卡洛 35%、衰减曲线+标准误 25%):

  1. PSR(概率夏普比率):在偏度、峰度修正下,判断观测夏普相对基准(默认 SR=0)是否在 5%/1% 水平下显著大于零,用于排除「纯运气」。
  2. 蒙特卡洛模拟:对日收益做有放回抽样(默认 M=5000),得到模拟夏普分布,看真实 SR 落在分位上的位置——显著高于 95% 分位与「可能只是随机波动」的解读标准在 SKILL 中有明确定义。
  3. 衰减曲线 + 标准误:以年度子窗口(默认 252 个交易日)滚动估计 SR,配合 Bootstrap 标准误,识别近期夏普相对全样本是否结构性衰减(如近 3 年 SR 低于全期 50%、连续负 SR 年度等预警规则)。

执行脚本为 scripts/overfitting_detect.py,输入为带日期索引的 pandas Series 或可转换数组;完成后输出 Markdown 诊断表、蒙特卡洛直方图、衰减曲线图及完整 overfitting_report.json。

适用边界与注意点

  • 样本长度:PSR 与衰减曲线建议日收益 ≥ 3 年(756 个交易日);蒙特卡洛更稳妥的是 ≥ 5 年。不足时应明确哪些检测无法执行、哪些仍可作参考。
  • 输入假设:若无无风险利率,默认按 0 处理;这是诊断假设,不是市场事实。
  • 结论用法:综合分级(三项通过 / 两项通过一项预警 / 仅一项或均不通过)对应不同的实盘仓位与止损态度——不能把「通过」等同于 guaranteed 盈利,只能降低过拟合误判概率。
  • 随机种子默认 42,便于复现同一输入下的模拟结果。

使用场景

  • 回测完成后只有一条日收益 CSV,需要在上线前判断 PSR 是否显著、是否更像运气
  • 同事提到「夏普衰减」或「蒙特卡洛回测」,希望用同一套脚本对策略序列出三项检测结论
  • 准备把因子或择时策略投入实盘,想用衰减曲线看近 3 年 SR 是否相对全样本明显下滑
  • 样本约 3~5 年日收益,需汇总 Markdown 诊断表并导出 mc_histogram 与 sr_decay_curve 给投委会

适合人员

  • 管理私募或自营量化账户、上线前必须用统计检验说服风控的 PM
  • 写 Python 回测的研究员,手头是 pandas 日收益序列,要对接 overfitting_detect.py 出 JSON 报告
  • 给策略团队做 due diligence 的 quant analyst,需对照 PSR 与蒙特卡洛分位写书面诊断
  • 从学术课题或竞赛策略转向实盘的研究生,需弄清样本不足时哪些检测不能当真