析衡量化·回测过拟合诊断

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

量化回测可信度体检:PSR/DSR 显著性检验、PBO(CSCV) 过拟合概率、Haircut Sharpe、最小回测长度 MinBTL、样本内外衰减、Bootstrap 置信区间,输出风险等级判定与治理清单。 这是什么 "回测年化 40%,敢上实盘吗?"——本技能用**统计方法**回答这个问题。对策略回测结果做显著性检验与多重检验校正,量化"这个回测有多大程度是过拟合"。 ## 解决什么问题 - 回测指标漂亮但样本外失效,是量化最典型的隐性风险 - 参数调优试了 500 组,挑最好的一组报告——多重检验偏差让夏普虚高 - 团队缺少统一的"回测可信度"判定标准 ## 核心能力(检验方法全家桶) | 方法 | 回答的问题 | |---|---| | PSR / DSR(紧缩夏普) | 扣除运气成分后,夏普还显著吗? | | PBO(CSCV 交叉验证) | 过拟合概率有多大? | | Haircut Sharpe | 夏普应该"打折"到多少? | | MinBTL 最小回测长度 | 这么高的夏普至少需要多长回测期才可信? | | MinTRL 最小业绩记录长度 | 实盘多久才能验证该策略? | | 样本内外衰减 | 样本外掉了多少? | | Bootstrap 置信区间 | 指标的置信区间多宽? | 输出:**风险等级判定 + 可执行治理清单**(walk-forward 验证、参数敏感性、样本外保留等)。 ## 快速开始(示例指令) - "这是我策略的回测结果和交易明细,帮我检验一下过拟合风险" - "我试了200组参数,最好的夏普2.1,这个结果可信吗?" - "回测3年夏普1.8,需要多长实盘记录才能验证?" ## 常见问题 **Q: 需要提供什么输入?** 回测的收益序列(或交易明细)与基本参数(回测区间、尝试的参数组数等);输入不全时会提示最小可用数据集。 **Q: 只有一个夏普比率数字能用吗?** 可以给出 MinBTL/DSR 的粗判,但建议提供收益序列以获得完整诊断。 **Q: 输出什么?** 风险等级(低/中/高)+ 各检验统计量 + 治理清单,可直接用于投决会材料。 **Q: 与同系列技能的关系?** 《Vibe Trading 自然语言回测》产出回测 → 本技能检验可信度 → 《因子正交化》处理因子冗余,构成完整量化研究链。 ## 更新日志 - v1.1.0:补齐详情页与 FAQ;增强输入数据不足时的降级诊断 - v1.0.1:Initial release

一句话选型结论

按资料字段整理

析衡量化·回测过拟合诊断是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_bd1d4f32/xiheng-backtest-overfit
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_bd1d4f32仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791725549
正文体量10.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
析衡量化·回测过拟合诊断当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

10.2 KB
模型实际读到的说明书原文,来自技能仓库

这是什么

"回测年化 40%,敢上实盘吗?"——本技能用统计方法回答这个问题。对策略回测结果做显著性检验与多重检验校正,量化"这个回测有多大程度是过拟合"。

解决什么问题

  • 回测指标漂亮但样本外失效,是量化最典型的隐性风险
  • 参数调优试了 500 组,挑最好的一组报告——多重检验偏差让夏普虚高
  • 团队缺少统一的"回测可信度"判定标准

核心能力(检验方法全家桶)

方法 回答的问题
PSR / DSR(紧缩夏普) 扣除运气成分后,夏普还显著吗?
PBO(CSCV 交叉验证) 过拟合概率有多大?
Haircut Sharpe 夏普应该"打折"到多少?
MinBTL 最小回测长度 这么高的夏普至少需要多长回测期才可信?
MinTRL 最小业绩记录长度 实盘多久才能验证该策略?
样本内外衰减 样本外掉了多少?
Bootstrap 置信区间 指标的置信区间多宽?

输出:风险等级判定 + 可执行治理清单(walk-forward 验证、参数敏感性、样本外保留等)。

快速开始(示例指令)

  • "这是我策略的回测结果和交易明细,帮我检验一下过拟合风险"
  • "我试了200组参数,最好的夏普2.1,这个结果可信吗?"
  • "回测3年夏普1.8,需要多长实盘记录才能验证?"

常见问题

Q: 需要提供什么输入?
回测的收益序列(或交易明细)与基本参数(回测区间、尝试的参数组数等);输入不全时会提示最小可用数据集。

Q: 只有一个夏普比率数字能用吗?
可以给出 MinBTL/DSR 的粗判,但建议提供收益序列以获得完整诊断。

Q: 输出什么?
风险等级(低/中/高)+ 各检验统计量 + 治理清单,可直接用于投决会材料。

Q: 与同系列技能的关系?
《Vibe Trading 自然语言回测》产出回测 → 本技能检验可信度 → 《因子正交化》处理因子冗余,构成完整量化研究链。

更新日志

  • v1.1.0:补齐详情页与 FAQ;增强输入数据不足时的降级诊断
  • v1.0.1:Initial release

析衡量化 · 回测过拟合诊断(xiheng-backtest-overfit)

对「策略回测是否可信」给出可量化、可复核的结论。核心逻辑:单条漂亮净值曲线的信息量极低——只有在扣除了"试验次数"与"选择偏差"之后仍然显著的夏普,才值得进入实盘评估。

适用场景

编号 场景 关键问题 使用命令
S1 单策略显著性检验 这段回测的夏普是否显著为正? psr / mintrl
S2 参数网格调优后评估 试了 200 组参数选了最好的一组,还显著吗? dsr
S3 策略池 / 多品种比较 从 N 个配置里挑出来的冠军,样本外还灵吗? pbo
S4 批量因子/因子挖掘 挖了 50 个因子,哪些是真发现? haircut
S5 综合体检 一整套指标 + 风险等级 + 治理建议 report

核心指标与判读阈值

指标 含义 阈值(工程经验)
PSR 夏普大于基准的概率(校正偏度/峰度) ≥0.95 通过;<0.90 存疑
DSR 扣除试验次数后的 PSR ≥0.95 通过
PBO 样本内最优配置在样本外跌出中位数的概率 <0.30 低;0.30–0.50 中;>0.50 高
Haircut 多重检验校正后夏普被"砍掉"的比例 <30% 可接受
MinTRL 达到显著所需的最小样本长度 实际样本 < MinTRL 则样本不足
MinBTL N 次试验下,伪装出目标夏普所需的最短回测年限 实际回测年数 < MinBTL 则疑似数据窥探
OOS 衰减 1 − 样本外夏普 / 样本内夏普 衰减 >50% 高风险

工作流(四步)

  1. 确认输入口径 — 需要逐期收益率序列(日频/周频/月频均可),不要只给累计净值;多配置场景需要 T×N 收益矩阵(行=时间,列=配置)。
  2. 单策略显著性 — 先跑 psr / mintrl,确认基础显著性成立。
  3. 扣除选择偏差 — 有试验次数就上 dsr(需试验夏普的方差或试验矩阵),有配置池就上 pbo,有多假设就上 haircut。
  4. 汇总定级 — 用 report 输出风险等级与治理建议;结果以 JSON 落盘便于复核留痕。

命令速用

# S1 单策略显著性(PSR + 年化夏普)
python scripts/backtest_overfit.py psr --input assets/sample_single_strategy.csv --column strategy_return --periods-per-year 252

# S2 参数调优后的紧缩夏普(试验矩阵自动提取试验次数与方差)
python scripts/backtest_overfit.py dsr --input assets/sample_single_strategy.csv --column strategy_return --trials assets/sample_trials_matrix.csv

# S3 冠军策略的样本外存活率(PBO,CSCV)
python scripts/backtest_overfit.py pbo --input assets/sample_trials_matrix.csv --n-blocks 10

# S4 多因子/多策略的多重检验校正
python scripts/backtest_overfit.py haircut --input assets/sample_trials_matrix.csv --alpha 0.05 --periods-per-year 252

# S5 综合体检报告
python scripts/backtest_overfit.py report \
  --input assets/sample_single_strategy.csv --column strategy_return \
  --trials assets/sample_trials_matrix.csv --periods-per-year 252 \
  --json out/overfit_report.json

算法要点

  • PSR / DSR — Bailey & López de Prado(2012/2014)。DSR 用 E[max SR_N] ≈ √V[SR]·[(1−γ)Z⁻¹(1−1/N) + γZ⁻¹(1−1/(N·e))] 作为基准,γ 为欧拉常数。
  • PBO — Bailey 等(2014)CSCV:把样本切成 S 个等长块,枚举 C(S, S/2) 种"半样本作 IS / 其余作 OOS"的组合,统计 IS 最优配置在 OOS 的相对排名落入后半的比例。
  • Haircut — Harvey & Liu(2015):用校正偏度/峰度后的 t 统计量做 Bonferroni / Holm / BHY 校正,反解"校正后仍需达到的夏普",比率即为被砍掉的部分。
  • MinTRL / MinBTL — 样本长度是否足够支撑当前夏普;以及给定试验次数下,"纯运气"能造出的夏普上限。

与同系列其他技能的关系

> 本技能属于 析衡量化 系列,统一入口见 xiheng-quant-toolkit:
> series.py list 看系列全景,series.py route &lt;场景&gt; 定位技能,series.py chain &lt;场景&gt; 看整条调用链。

方向 技能 衔接方式
上游 xiheng-vibe-trading 策略回测 回测产出的收益序列与参数组合族,是过拟合诊断的直接输入
上游 xiheng-factor-orthogonalize 因子正交化 正交化过程本身引入的选择偏差,可交由本技能检验
下游 — 系列末端环节,产出直接交付使用

> 系列地图维护在 xiheng-quant-toolkit/assets/series.json;本技能在该地图中的条目(slug/stage/role/feeds/triggers)应保持同步。

目录结构

xiheng-backtest-overfit/
├── SKILL.md
├── scripts/
│   ├── backtest_overfit.py    # 主程序(psr / mintrl / dsr / pbo / haircut / report)
│   └── make_sample_data.py    # 示例数据生成器(固定种子,可复现)
├── references/
│   ├── metrics_guide.md       # 指标公式、阈值与判读方法
│   └── diagnosis_workflow.md  # 诊断流程、决策树、红旗清单与治理措施
└── assets/
    ├── sample_single_strategy.csv   # 单策略逐期收益(756 期,含基准列)
    ├── sample_trials_matrix.csv     # 120 组配置试验矩阵(504 期)
    └── sample_report_output.json    # report 命令的完整输出示例(可作为字段参考)

注意事项

  • 必须用逐期收益率,累计净值无法还原波动率与高阶矩;样本频率需与实际调仓频率一致。
  • 试验次数 N 常被严重低估——同一想法改过数据区间、universe、阈值、止损、样本过滤,每次都算一次试验;建议按"代码版本 + 参数组合数"保守放大 2–3 倍。
  • PBO 要求配置之间同质可比(同一标的池、同一时间轴、同类策略),拿股票策略与商品策略混在一起算 PBO 没有意义。
  • PBO 与 DSR 侧重点不同:PBO 反映"样本内外排名的继承性",DSR 反映"扣掉多次试验后的绝对显著性"。两者可以结论不一致——PBO 低但 DSR 不通过(配置间存在真实差异,但绝对水平仍不足以抵消试验次数),此时应以 DSR 结论为准并补充样本外验证。
  • 不构成投资建议:本 skill 输出的是统计可信度判定,不预测策略未来收益。
  • 样本长度不足以支撑 S≥6 分块时,PBO 结果不稳定,应改用较少的块数并在报告中标注。

常见问题

5 问
答案由本站依据条目字段整理
析衡量化·回测过拟合诊断怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_bd1d4f32/xiheng-backtest-overfit。安装方式为未标注。装完刷新技能列表或重开客户端。

析衡量化·回测过拟合诊断支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

析衡量化·回测过拟合诊断权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

析衡量化·回测过拟合诊断收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

析衡量化·回测过拟合诊断用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。