Crane Trade Tools
首页 / 股债轮动策略 / 回测报告(v2.0 修订版)

回测报告(v2.0 修订版)

2010-04-16 ~ 2026-09-21 全区间回测:指标、归因、可信度边界与杠杆讨论

返回策略流程图

诸葛陈凯 ERP 股债轮动 + 期指增强策略 回测报告(v2.0 修订版)

回测区间:2010-04-16(IF 上市日)~ 2026-09-21,共 3993 个交易日 / 16.43 年

数据来源:沪深300/中证500 行情(akshare)、ERP(自建工具站 crane-trade-tools.vercel.app,2006-今,日频)、

股指期货(中金所官方日交易行情 CSV,2010-04-16 起全量 3993 天 / 27087 条合约记录)、

511010 净值(东财)、上证国债指数 sh000012

初版:2026-09-21 修订:2026-09-22(依据《回测可信度审查报告》逐条修订)


⚠ 修订说明(v1.0 → v2.0)

本报告初版发布后经独立可信度审查(回测可信度审查报告.md,6 个验证脚本独立重算全流程、逐笔核对 53 次换仓)。 审查确认数据与代码可靠、无造假、无重大 bug、可 100% 复现,但指出初版有 5 处数字错误和 1 处结论被高估。 本次修订已全部采纳,错误以 删除线 标出:

#初版表述修订后性质
1IC 实现滚月超额 +8.03%/年+12.54%/年(逐年几何均值 +11.63%)🔴 算错(分母未归一,见 §6.1)
2当前 ERP 历史分位 75.7%72.86%🔴 抄错(API 与全样本实测均为 72.86%)
3"17 年中 15 年跑赢沪深300"14/17,跑输 2012 / 2014 / 2023🔴 数错
4归因表列"交易成本 −0.24%/年"删除(①②③ 各自已含成本,再加总是重复)🟠 表述误导
5分年度收益按"当年首个交易日→末个交易日"改为日历年标准口径(上年末净值为基准)🟠 口径非标
6IF/IC 年化基差均值 −4.86% / −15.78%补注"剔除距到期<5 自然日",并给出全样本 −6.17% / −17.68%🟠 未披露过滤
7"年化 18.19%" 当作确定值改为 "约 17%,不确定区间 13.7%~18.2%" 并新增 §7 可信度边界🔴 结论过度精确

一、结论速览(含不确定度)

#策略总收益年化收益年化波动最大回撤夏普Calmar
①本策略:ERP轮动 + 期指增强+1457.4%18.19%16.82%−26.38%0.9960.689
②ERP轮动 + 仅 IF 切换+1077.4%16.19%16.20%−26.38%0.9190.614
③ERP轮动(纯 300ETF,不做期指优化)+701.3%13.50%16.08%−26.92%0.7730.502
④沪深300全收益 买入持有+94.1%4.12%21.56%−46.06%0.2100.089
④b沪深300价格指数 买入持有+26.4%1.44%————
⑤股债 50/50+94.2%4.12%10.76%−23.88%0.2580.173
⑥纯债券+61.0%2.94%1.57%−5.06%0.6490.581
⑦本策略 1.5 倍杠杆+4017.5%25.39%25.23%−39.21%0.9770.647
⑧本策略 2.0 倍杠杆+9628.5%32.12%33.65%−50.26%0.9680.639

④b 补上后可看出:沪深300 全收益年化 4.12% 里有 约 2.68 个百分点来自股息再投资,价格指数本身只有 1.44%。

1.1 年化 18.19% 的不确定区间(本次修订新增,最关键)

情形年化收益说明
报告基准(自建站 ERP 口径,t+1 执行,已扣 53 次换仓成本)18.19%上限情形
+ 计入滚月手续费 + 1 天执行时滞17.71%未建模成本,合计约 −0.48%/年
+ 换成乐咕乐股 PE 口径(ERP 整体高约 +0.31pct)约 16.8% ~ 17.4%第二 PE 数据源交叉验证
ERP 口径在 ±0.4pct 内摆动13.66% ~ 18.19%见 §7.1 平移表
ERP 口径 ±0.6pct13.66% ~ 18.19%(回撤 −23.0% ~ −33.9%)最坏情形

建议对外引用的表述:**"本样本年化约 17%,可信区间 13.7%~18.2%;

其中期指贴水增强(+2~3pct/年)较稳健,ERP 择时部分样本量不足、不可外推。"**

直接说"年化 18.19%"是不诚实的——它只在恰好使用本报告的 PE 口径与执行假设时成立。

1.2 收益归因(修订:删除重复的成本行)

环节增量(年化)说明
沪深300 全收益(买入持有)+4.12%基准
+ ERP 股债择时+9.38%③−④。主要来自 3 次卖出信号,样本量不足,见 §7.2
+ IF 贴水切换+2.69%②−③。有统计支持,相关系数 −0.62,稳健
+ IC 比价切换+2.00%①−②。依赖 1.4 这个特定阈值,稳健性弱(见 §7.5)

注:①②③ 的净值均已各自扣除交易成本,故上表各行相加恰好等于 ① 的 18.19%,

不能再额外扣除成本。全期 53 次换仓的累计成本为 3.98%(约 −0.24%/年),已内含在上面每个数字里。


二、图1:净值曲线(对数坐标)

!净值曲线

策略 ① 在 16.4 年内净值从 1 涨到 15.57,同期沪深300全收益仅 1.94。 注意 2015、2018、2021 三段,策略净值走平甚至微升(持债),而沪深300大幅回撤——这是 ERP 择时的核心价值。


三、图2:回撤对比

!回撤

最大回撤:本策略 −26.38%,峰值 2022-06-30 → 谷底 2024-02-02(582 个交易日), 全程持 ETF300/IF,确实发生在"ERP 滞回带内被迫持仓"的时段。 对比沪深300全收益 −46.06%、股债50/50 −23.88%。


四、图3:ERP 信号与持仓状态

!ERP与持仓

关键时点(全部由规则自动生成,无主观干预):

日期ERP动作效果
2010-04-16<3起始持债—
2011-12-146.0044债 → 300ETF
2015-04-072.8861清仓转债躲过 2015 年 6 月股灾(当年 +27.05% vs 沪深300TR +7.22%)
2016-01-266.2481债 → IF(年化贴水 −13.3%)2016 年 +31.59% vs 沪深300TR −9.26%
2017-11-132.9983清仓转债躲过 2018 年 −23.64%
2018-10-186.0181债 → IC(500/300 比价 1.320 < 1.4)2019 年 +51.62%
2021-01-042.9829清仓转债躲过 2021-2022 核心资产熊市
2022-04-266.0637债 → IC → IF → 300ETF
2026-02-245.249300ETF → IF(年化贴水 −6.1%)当前持仓 = IF

当前状态(2026-09-21):ERP = 5.7326,历史分位 72.86%(75.7% 已修正,2006-06 起 4896 个样本); 落在 3~6 滞回带内 → 维持现有权益持仓不变; 500/300 比价 = 1.7293(> 1.4,不换 IC);IF 年化基差 −10.90%(贴水 > 4%)→ 继续持有 IF。

主播在直播中说"如果你能够找到年化有 8% 的贴水……就像现在"——

实测 2026 年 IF 年化贴水均值 −10.90%、IC −9.96%,确实满足主播所说的 8% 档。

信号稳定性警示:7 个择时信号里有 5 个触发时距阈值不足 0.1pct(2011-12-14 距 +0.0044、 2017-11-13 距 −0.0017、2021-01-04 距 −0.0171、2018-10-18 距 +0.0181、2022-04-26 距 +0.0637), 而 PE 数据源之间的口径差异就有 ±0.4pct。触发时点本身是不稳定的(详见 §7.1)。


五、图4:分年度收益(已改为日历年标准口径)

!分年度

口径说明:本表以上一年末净值为基准(日历年标准口径),修正了初版"当年首个交易日→末个交易日"

导致遗漏当年首个交易日收益的问题。影响最大的是 2016 年:沪深300TR 由 −2.41% 修正为 −9.26%。

年份① 本策略③ 纯300ETF④ 沪深300TR权益占比主要载体
2010+1.56%+1.56%−5.84%0%债
2011+1.50%+1.50%−24.05%4.9%ETF300
2012+9.04%+9.48%+9.80%100%ETF300
2013−2.24%−5.60%−5.33%100%ETF300
2014+53.45%+55.40%+55.85%100%ETF300
2015+27.05%+26.81%+7.22%25%ETF300→债
2016+31.59%+14.61%−9.26%93%IF
2017+35.12%+27.58%+24.25%86%IF
2018+8.91%+2.51%−23.64%21%IC / ETF300
2019+51.62%+38.78%+39.19%100%IC
2020+40.22%+29.52%+29.89%100%IC
2021+5.81%+5.01%−3.52%0.4%债
2022+13.53%+5.06%−19.84%69%ETF300
2023−9.85%−9.40%−9.14%100%ETF300
2024+23.56%+17.90%+18.24%100%ETF300
2025+25.83%+20.63%+20.98%100%IF
2026 YTD+4.88%−0.36%−0.15%100%IF

17 个年度中 14 年跑赢沪深300全收益(15/17 已修正)。 跑输的三年:2012(−0.77pct)、2014(−2.41pct)、2023(−0.71pct)——均为小幅跑输, 其中 2012/2014 是"持有 ETF300 却因 0.3% 跟踪损耗假设和换月成本略输给全收益指数",属正常摩擦。


六、图5:股指期货年化基差率(策略增强的来源)

!基差

品种均值(dte≥5)全样本均值中位2026 均值实现滚月超额(年化)
IF−4.86%−6.17%−3.16%−10.90%+2.49%/年(2010-2026)
IC−15.78%−17.68%−11.14%−9.96%+12.54%/年(2015-2026)

口径披露:初版给出的 −4.86%/−15.78% 是剔除"距合约到期不足 5 个自然日"后的统计

(临近到期时年化分母趋近 0 会放大基差:IF 有 760 天 dte<5,其均值 −11.75%)。

未做剔除的全样本均值为 −6.17%/−17.68%。两种口径不影响结论——53 个换仓日中仅 3 天 dte<5,

且那 3 天基差均为正值,只会把选择推向 ETF300/IC,未产生错误切换。

6.1 逐年实现的滚月超额(期指 − 标的指数)

年份IF 超额IC 超额
2010−8.80%—
2011−3.89%—
2012−6.56%—
2013+3.51%—
2014−10.29%—
2015+12.69%+27.26%
2016+16.98%+30.34%
2017+8.09%+12.75%
2018+0.77%+4.53%
2019+4.37%+17.70%
2020+5.20%+12.75%
2021+3.19%+7.87%
2022+2.24%+4.07%
2023+0.25%+1.92%
2024+1.15%+4.51%
2025+7.33%+16.93%
2026 YTD+5.40%+6.31%

🔴 初版把 IC 的全期超额写成 +8.03%/年,是错的——当时用错了分母(标的净值序列未从同一起点归一)。

正确值:IC +12.54%/年(逐年超额几何均值 +11.63%,因含不完整的首尾年)。

上表逐年数值的几何平均 = +12.57%,与修正值自洽 ✔

这张表就是主播让大家"下去做这个作业"要体会的东西:

2010-2012 和 2014 年,股指期货是升水,换期指反而亏钱(2010 年 IF 超额 −8.80%、2014 年 −10.29%);

2015 年之后才长期深度贴水,多头换月才有超额。

所以主播设的 4% 年化贴水阈值是必要的过滤器——没有它,2010-2014 会白白多亏约 5%/年。


七、可信度边界(本次修订新增,务必阅读)

7.1 ERP 口径敏感度:±0.4pct 就能让年化摆动 4.5pct

ERP 整体平移年化最大回撤换仓次数
−0.6013.66%−23.02%40
−0.4016.65%−23.02%46
−0.2016.87%−23.02%50
−0.1016.48%−23.02%51
0.00(本报告基准)18.19%−26.38%53
+0.1017.57%−26.38%53
+0.2017.41%−26.38%54
+0.4016.78%−26.38%57
+0.6017.69%−33.88%59

独立 PE 源交叉验证:akshare stock_index_pe_lg(乐咕乐股)与自建工具站不是同一口径, 198 个共同月份上 ERP(乐咕) − ERP(工具站) 均值 +0.306pct,标准差 0.155pct,|差异|>0.2pct 的月份占 64.1%。 → 换成乐咕口径,年化约落在 16.8%~17.4%。

7.2 ERP 择时:买入有证据,卖出证据很薄(本次修订新增)

把 ERP 序列拉到全部可得历史,按 12 个月不重叠窗口去重后做事件研究:

卖出信号(ERP 跌破 3) —— 20 年全样本 命中 3/6 = 50%,二项检验 p = 0.656,不显著

事件日ERP之后 12 个月沪深300判定
2006-06-021.887+194.89%✘ 踏空大牛市
2008-09-222.552+43.31%✘ 踏空反弹
2010-06-092.993+6.10%✘ 小幅踏空
2015-04-072.886−23.53%✔
2017-11-132.998−21.58%✔
2021-01-042.983−6.64%✔

2010-2026 这段回测样本里只有后 3 次,全部命中,所以看着很神;但把 2006/2008 两次假信号算进来,

胜率就掉到 50%。(我本地价格数据只覆盖 2009-12-31 之后,独立复核只能验证后 4 次:3/4 命中;

2006/2008 两次采用审查报告的独立计算结果。)

买入信号(ERP 升破 6) —— 独立复核 9 次去重事件,命中 6/9 = 66.7%

事件日之后 12 个月判定事件日之后 12 个月判定
2011-12-14−6.46%✘2018-10-18+27.10%✔
2013-03-28−13.90%✘2020-02-03+49.15%✔
2014-03-31+88.75%✔2022-04-26+4.63%✔
2016-01-26+14.81%✔2023-07-20−7.45%✘
2024-07-22+17.18%✔

反事实实验:撤掉任一次清仓会怎样

情形年化最大回撤
基准(本报告①)18.19%−26.38%
撤掉 2015-04-07 清仓16.82%−43.52%
撤掉 2017-11-13 清仓16.11%−27.59%
撤掉 2021-01-04 清仓16.70%−33.88%

三次清仓合计贡献约 5.5pp/年 和 几乎全部的回撤保护。 → 应有的表述:不是"ERP 择时贡献 +9.38%/年",而是"本样本中躲过 3 轮下跌、贡献 9.38%/年; 该卖出规则在 20 年全样本中 3/6 命中,样本量不足以支持外推"。

7.3 ERP 阈值网格:这是"尖峰"不是"高原"

年化收益(行=入场阈值 ERP_in,列=清仓阈值 ERP_out):

ERP_in \ ERP_out2.02.53.03.54.0
5.016.50%17.51%16.59%15.13%13.84%
5.516.73%18.73%17.81%16.33%15.26%
6.0(主播设定)15.95%19.11%18.19%16.70%14.79%
6.513.89%14.37%13.77%13.19%12.36%
7.010.54%9.80%9.31%8.80%8.33%

入场阈值从 6.0 提到 6.5,年化从 18.19% 掉到 13.77%(−4.4pct)。 好消息是 6/3 落在"好区域"(5~6 / 2~3 都是 16~19%),不是数据挖掘出来的孤点; 坏消息是 1pct 的阈值变动带来 1.5~3.4pct 的年化变化。

7.4 结构性缺陷:盈利周期陷阱(初版完全没提)

ERP 用滚动 PE 构造,PE_TTM 在盈利顶点最低、在盈利谷底最高。

  • 2008-09 那次"ERP 跌破 3"是典型误报:当时 TTM 盈利仍是 2007 年牛市的高点,

沪深300 PE_TTM 只有约 16.5,算出 ERP 仅 2.55(看着"贵")→ 给出清仓信号 → 之后 12 个月 +43.31% ✘

  • 2006-06 同理(ERP 1.887 → 之后 +194.89%)✘

这条规则的成败取决于下跌是"估值型"还是"盈利崩溃型":

  • 2015、2021 是估值型泡沫顶(PE 先扩张 → ERP 走低 → 信号准)✔
  • 2006、2008-09 是盈利周期造成的假信号 ✘

2010-2026 这段样本恰好以估值型为主,所以规则表现好——这是本策略最重要的适用边界。

7.5 第二层(载体选择)的稳健性:IF 稳、IC 不稳

检验IFIC
年化基差率 与未来 21 日实现超额的相关系数−0.616−0.633
基差 < −4% 时的未来 21 日均超额+0.806%+1.279%
基差 ≥ −4% 时的未来 21 日均超额−0.380%+0.016%
  • IF 阈值不敏感:贴水阈值从 −2% 调到 −8%,年化 18.21% → 17.83%(几乎不动);完全不用期指降到 15.80% ✔
  • IC 规则不稳健:比价<1.4 用 IC → 18.19%;不用 IC → 16.19%;IC 无条件一直用 → 19.35%(比报告口径还好)。

因此"+IC 比价切换 +2.00%"是特定阈值的结果,不是稳健效应 ⚠

  • 近年抖动:IF 是单一硬阈值且每月重估,2025-01 至今已 7 次换仓(占全部 53 次的 13%);

近两年 12.1% 的交易日基差就在 −4% 阈值 ±1.5pct 内来回。建议加滞回(进 −5% / 出 −3%)

7.6 未建模成本(约 −0.5%/年)

项目影响独立复核值
期指每月滚月的手续费/滑点(未计入)每次 3‱ 时 −0.17%/年全期 IF 换月 197 次、IC 137 次;报告只计了 53 次"换仓"成本
"同日收盘执行"含 1 天时滞偏差1 天 −0.48%/年;3 天 −1.12%时滞 2 天 + 滚月 3‱ = 17.71%
合计约 −0.5%/年18.19% → 约 17.7%

其余未量化项(涨跌停无法平仓、保证金追保、期指限仓政策变化、ETF 申赎摩擦)见 §10。


八、图6:杠杆讨论(回答主播"还有没有必要上杠杆")

!杠杆

杠杆年化收益年化波动最大回撤夏普Calmar
1.0x18.19%16.82%−26.38%0.9960.689
1.5x25.39%25.23%−39.21%0.9770.647
2.0x32.12%33.65%−50.26%0.9680.639

结论:不建议再加杠杆。(此项审查予以确认 ✔)

  1. 期指本身已自带约 6.7 倍杠杆(保证金 15%)。账户里 85% 的资金"闲置"吃 2% 利息——

这本身就是杠杆结构,18.19% 已经是"用了杠杆之后"的结果。

  1. 再加 1.5x / 2.0x,年化多赚 7.2 / 13.9 个百分点,但回撤同步放大到 −39% / −50%,

夏普与 Calmar 不升反降(0.996→0.977→0.968;0.689→0.647→0.639)—— "多赚的钱是用多扛一倍回撤换来的,风险调整后并不划算"。

  1. −50% 的回撤在实盘中极大概率触发强平或心态崩溃。对一个"几年才交易一次"的长周期策略而言,

活着等到下一次 ERP 信号比放大收益更重要。

  1. 若真要提高资金效率,更合理的方向是提高 85% 闲置保证金的现金收益(本报告按 2% 计入),

或仅在 ERP 极高(如 > 8)时适度上杠杆,而不是全程上杠杆。


九、策略执行清单(可直接照做)

  1. 每个交易日收盘后计算:ERP = 1/沪深300 PE_TTM − 中国10年期国债收益率
  • 数据源可用您自己的工具站:https://crane-trade-tools.vercel.app/api/erp/sh000300
  • ⚠ 务必固定用同一个 PE 口径,换口径等于换策略(见 §7.1)
  1. ERP > 6 → 买入权益;ERP < 3 → 全部换成 511010;3~6 之间不动
  2. 每次股指期货到期日(当月第三个周五),若持有权益则重新评估载体:
  • 500/300 比价 < 1.4 → 换 IC,逐月滚月
  • 否则 IF 年化基差率 < −4% → 换 IF,逐月滚月(建议改为 进 −5% / 出 −3% 的滞回,见 §7.5)
  • 否则 → 持有 300ETF
  1. 期指到期日以结算价平旧仓、开新近月合约;保证金外资金放货基/逆回购

十、风险与局限

  1. ERP 口径敏感(头号风险):不同数据源 PE_TTM 差异 0.5~0.7,对应 ERP 差约 0.4pct。

±0.4pct 的口径差异 → 年化 13.7%~18.2%、回撤 −23%~−34%。详见 §7.1。

  1. ERP 择时样本量不足:卖出规则 20 年 3/6 命中(p=0.656,不显著),买入规则 6/9(有正向证据)。详见 §7.2。
  2. 盈利周期陷阱:适用于估值型下跌,在盈利崩溃型下跌(2007-08、2008-09 型)中会失效。详见 §7.4。
  3. IC 深贴水不可外推:2015-2016 年 IC +27%/+30% 的年化超额来自股灾后极端限仓环境,

2023 年该值已降至 +1.92%。用 2015-2016 的贴水水平外推未来会严重高估收益。

  1. 7 个信号中 5 个距阈值 <0.1pct,而数据源不确定度是 ±0.4pct——触发时点本身不稳定。
  2. 滞回带很长 = 信号极少:16 年只有 53 次换仓,单条规则的实现细节(收盘价 vs 次日开盘价、

结算价 vs 收盘价)对结果影响约 ±0.5%/年,对结论无方向性影响。

  1. 未建模:保证金追保、涨跌停无法平仓(2015-07、2020-02、2025-04 均出现过 ±10% 停板日)、

期指限仓政策变化、ETF 实物申赎摩擦;滚月手续费与执行时滞合计约 −0.5%/年(§7.6)。

  1. 511010 口径校正:511010 实为"上证5年期国债ETF"(2013-03-05 成立),主播口述为"十年期"有误;

若需 10 年久期应用 511260(2017 年上市,样本过短)。已用上证国债指数 sh000012 补齐 2013 年前数据, 敏感性测试显示债券口径影响仅 0.003pct(18.1853% vs 18.1879%),结论不受影响 ✔

  1. 独立审查已确认:数据与代码可靠、无造假、可 100% 复现(最大偏差 1.8e-15)、53 笔换仓逐笔一致。

本报告的问题是结论的精确度被高估,不是数据或代码有问题。

  1. 本报告为历史回测,不构成投资建议。

十一、文件清单

文件内容
策略说明书.md策略规则、指标定义、数据源、成本假设(可执行版)
回测报告.md本报告(v2.0 修订版)
`回测可信度审查报告.md`独立审查:6 个脚本重算全流程、逐笔核对、稳健性与统计检验
verify_backtest.py ~ verify6.py审查脚本(可复现)
recheck_audit.py / recheck_audit2.py我对审查指控项的二次独立复核脚本
output/fig1_nav.png ~ fig6_leverage.png6 张图表
output/metrics.csv全策略指标对比
output/annual_returns.csv分年度收益(日历年口径)
output/trades.csv53 次换仓明细(含触发时的 ERP / 比价 / IF 年化基差)
output/daily.csv每日净值、持仓、信号全量数据
fetch_data.py / fetch_cffex.py / prep_data.py / backtest.py / plot.py可复现代码