ETF轮动后视偏差审计:黄金上限、行业选择与验证边界
明确存在研究层面的事后选择:初始2592项+追加8748项,以及后续精修和29个QDII配置;40日窗口、默认黄金替代与仓位条件都经过同一历史的比较。2024+也早已看过。代码按当时已知信息交易,只解决交易时点的一部分问题,不能消除事后挑选规则的偏差。
保持原权益规则但黄金目标上限10%,其余现金,年化18.96%、最大回撤−13.97%;完全用现金替代黄金仍为17.40%、−14.05%,但继续继承原参数筛选偏差。改成流动性代表、多期限与三个行业、固定金10%的简化诊断为11.83%、−12.04%,同预算宽基对照9.81%、−7.01%;相对宽基的收益增量还未证明稳定。
1. 后视镜具体在哪里
| 层面 | 审计发现 | 结论 |
|---|---|---|
| 规则选择 | 40日、MA120、黄金替代等来自多轮搜索;风险仓位条件曾在看过扩展结果后新增。 | 已确认选择偏差,不能称事前独立发现。 |
| 近期样本 | 2024+被先前研究反复检查。 | 仍是探索样本,重新切一次时间也不会恢复独立留出。 |
| 行业资产池 | 485条当前及退市基金元数据,454只进入旧报价缓存,严格境内452只。类别来自当前基金名称,截止上市日期2025-12-31。 | 未完整获得历史更名、跟踪指数变更与行业归类档案,不能认证为完整历史时点池。 |
| 覆盖预筛 | 旧加载器用全缓存至少200报价、50净值筛选。未加载31只在共同截止日前都不足200个有效报价。 | 全缓存净值数量属于可疑写法;在本次样本未发现它漏掉本来有资格的ETF,不能外推未来也无影响。 |
| 报价与净值 | 使用实际人民币ETF价格;公告再滞后完整一日,净值日期换算拆分;报价缺失保留持仓,不按最后可见价假造退出。 | 测试覆盖这些环节。缺失持仓仅纳指2022-01-13已公告拆分停牌一天,未发现永久冻结的退市持仓。 |
| 历史数据修订 | 使用供应商现有历史记录,尚无逐日不可变的原始净值抓取档案。 | 公告日滞后只能约束所提供的记录,无法完全排除后来修订历史数据的影响。 |
| QDII执行 | 5%用上一可见披露净值,包含后续海外行情和汇率变化。 | 这是可见滞后净值价差,不能称真实IOPV溢价,也不能把阈值收益差异全部归功于溢价择时。 |
| 成交近似 | 次日收盘、整手、双边费用和前日ADV约束;没有完整历史盘口与部分成交。 | 收益是执行近似,还需要前瞻订单证据。 |
Bailey等的回测过拟合研究讨论了在同一有限历史上反复比较参数导致的错误发现。这与单笔交易是否偷看未来是不同的检验对象。本报告不把9项新增测试或更复杂统计当作消除历次选择偏差的证明。
2. 黄金为什么会超过一半
旧分仓规则有三个市场槽位,每个约1/3;不满足趋势、流动性或买入价差条件的槽位,自动转给黄金。三个市场都不合格时黄金目标会达到100%,而黄金自身并未要求正趋势。2019年的日本ETF还未达到交易历史门槛,这个空位同样给黄金。高黄金不是某个固定53%配比优化出来,而是默认替代规则的结果;默认替代资产和规则本身仍有研究选择偏差。
| 年份 | 旧版平均黄金 | 平均美国 | 平均日本 |
|---|---|---|---|
| 2019 | 49.42% | 25.52% | 0.00% |
| 2020 | 57.53% | 10.99% | 8.69% |
| 2021 | 61.00% | 24.94% | 0.00% |
| 2022 | 89.03% | 5.50% | 0.00% |
| 2023 | 45.58% | 25.34% | 14.50% |
| 2024 | 41.61% | 33.50% | 5.87% |
| 2025 | 36.80% | 18.57% | 18.70% |
| 2026 | 41.65% | 5.67% | 14.23% |
黄金仓位高不等于净利润全部来自黄金。按每日持仓收益和费用做可加总的对数收益贡献分解,黄金占全期净对数收益约30.60%,2019—2023为31.20%,2024+为29.96%。这只是账本归因,不是因果解释或独立资产年化。黄金降低回撤的价值与默认配置过重的问题可以同时存在。

3. 保持原权益规则,先换防御资金的去处
| 方案 | 年化 | 最大回撤 | Sharpe | 平均黄金 | 平均现金 |
|---|---|---|---|---|---|
| 旧版空位全部转黄金 | 25.39% | -16.13% | 1.441 | 53.40% | 1.35% |
| 旧权益规则,黄金目标上限20%,其余现金 | 19.97% | -13.86% | 1.374 | 17.66% | 36.88% |
| 旧权益规则,黄金目标上限10%,其余现金 | 18.96% | -13.97% | 1.334 | 8.84% | 45.61% |
| 旧权益规则,空位全部现金 | 17.40% | -14.05% | 1.247 | 0.00% | 54.42% |
| 旧权益规则,黄金最多20%+正趋势国债 | 20.27% | -14.03% | 1.396 | 13.19% | 6.59% |
| 旧单行业排序,各国最多30%、固定金10% | 17.96% | -12.59% | 1.385 | 9.99% | 48.89% |
信号、国家开关、月频及25%波动预算继续沿用旧版;防御去处变化后,风控对新的目标组合重新计算,因此不是机械从已完成收益曲线中扣掉黄金。现金不假设利息。国债对照使用511010过去60日正收益才接收余下防御资金,黄金只在过去60日正收益时最多接20%;这个版本属于预先列入本轮的机制对照,不因年化20.27%而升级成新主方案。
黄金目标上限10%的平均黄金为8.84%,空位现金增加。其历史18.96%尚未经过独立留出验证,不能因为它接近20%就绕过原40日窗口的选择问题。
4. 先选行业,再选交易工具,降低追偶然领先的机会
- 先定预算。A股、美国、日本每个市场最多30%;黄金目标10%,不承接别的市场退出的资金。弱势或不能买入的部分现金,不把剩余市场放大。黄金目标10%由降低黄金暴露的偏好决定,未按本轮收益排名选择。
- 工具按流动性选。在每个当前行业/主题组里,先从当时合格ETF中选过去120个交易日平均成交额最大的代表,同值按代码。时间从旧到新排序后才滚动,不使用之后爆量的ETF作为过去的代表。先选代表,再判断动量;不能代表弱了就换成同组涨得最多的那一只。
- 行业看多个期限。代表ETF的60、120、240日收益分别在当时代表池做百分位排序,三个期限等权平均;至少两个期限为正,才能入选。A股最多三个不同组,每个10%,缺一组就留10%现金。这里仍是价格趋势逻辑,是简化检验而非声称能预测基本面。
- 市场各自满足条件。A股还需沪深300高于MA120;纳指和日本各需自身人民币ETF价格高于MA120且至少两个期限正收益。这些约定仍有研究者选择,不能称没有后视镜。MA120沿用旧约定,不另找历史最佳均线。
- 统一执行。月末已知收盘信号,下一中国交易日尝试执行,至少200个有效报价、20日成交额门槛1000万元,波动预算只减仓。QDII保留可见净值价差5%的净买入近似,另列不限、2%、8%的诊断。
跨较长历史检验趋势的研究提供了研究方向,而非对本方案的验证;其涉及多种期货及多空实现,与本轮中国场内ETF只做多有明显区别。本轮60/120/240日三票也是研究者指定的简单约定,未证明优于全部其他窗口。
5. 简化以后,行业轮动的证据强到哪一步
| 方案 | 年化 | 最大回撤 | Sharpe | 平均黄金 | 平均现金 |
|---|---|---|---|---|---|
| 流动性代表+多期限,三个行业,金10% | 11.83% | -12.04% | 1.083 | 10.02% | 50.07% |
| 同一简化规则,黄金10%槽位改现金 | 10.21% | -12.11% | 0.973 | 0.00% | 59.97% |
| 全部ETF参与多期限排序,金10% | 12.94% | -11.47% | 1.148 | 10.01% | 49.98% |
| 仅按流动性选行业,金10% | 9.13% | -10.54% | 0.921 | 10.02% | 50.08% |
| 代表ETF按原40日得分排序,金10% | 11.42% | -11.65% | 1.063 | 10.02% | 50.04% |
| 同规则沪深300宽基对照,金10% | 9.81% | -7.01% | 1.140 | 10.03% | 52.20% |
| 简化规则,仅2019年前上市的A股ETF | 10.43% | -9.67% | 1.046 | 10.03% | 50.55% |

相对同预算宽基,简化行业版本年化增量2.02个百分点,回撤从−7.01%扩大到−12.04%,Sharpe从1.140降至1.083。60日成对区块重采样1000次,年化增量5%/50%/95%分位为[-1.01, 1.99, 5.46]个百分点,跨过0。与“不按收益排序、仅按流动性选组”的对照相比,增量分位为[0.41, 2.72, 5.4],但并未修正本轮16项以及之前万余项选择偏差。不能把这一个结果当成稳定超额的确认。
仅用2019年前上市ETF时年化10.43%,说明后来更丰富的行业池也影响结果。ETF代表和行业分组仍使用当前元数据,静态老池并未修复历史更名和指数变更。当前合理定位是:行业规则有待检验;同预算宽基是必须保留的基准。
6. 不隐藏较差年份和时期依赖
| 方案 | 2019—2021年化 | 2022—2023年化 | 2024+年化 |
|---|---|---|---|
| 旧版空位全部转黄金 | 21.79% | 15.84% | 37.81% |
| 旧权益规则,黄金目标上限10%,其余现金 | 18.40% | 9.47% | 27.50% |
| 旧权益规则,空位全部现金 | 17.61% | 8.58% | 24.39% |
| 流动性代表+多期限,三个行业,金10% | 11.65% | 1.90% | 20.34% |
| 同规则沪深300宽基对照,金10% | 8.93% | 1.21% | 18.00% |
| 年份(2026仅至8月11日) | 金10%旧权益规则 | 简化行业金10% | 同预算宽基金10% |
|---|---|---|---|
| 2019 | 9.90% | 9.46% | 5.80% |
| 2020 | 33.75% | 20.40% | 19.61% |
| 2021 | 12.77% | 5.51% | 2.08% |
| 2022 | -9.80% | -7.39% | -2.40% |
| 2023 | 32.65% | 12.08% | 4.93% |
| 2024 | 12.32% | 13.40% | 11.91% |
| 2025 | 46.30% | 36.84% | 26.16% |
| 2026 | 14.05% | 4.02% | 8.66% |
简化行业2022—2023年化仅1.90%,不能只展示2024+的20.34%。逐年表为实际该年累计收益,2026未年化;三个子区间都是历史诊断,名称不代表独立训练、验证或留出。
7. 代码时点验证与执行压力
| 压力 | 简化行业年化 | 最大回撤 |
|---|---|---|
| 买卖各0.5% | 10.69% | -12.19% |
| 月末信号提前2日 | 12.09% | -12.32% |
| 月末信号提前5日 | 11.88% | -11.83% |
| 买卖各0.5%同时提前5日 | 10.80% | -11.83% |
| 波动预算20% | 11.58% | -11.81% |
| 方案 | 年化 | 最大回撤 | Sharpe | 平均黄金 | 平均现金 |
|---|---|---|---|---|---|
| 简化规则,不设滞后净值价差门槛 | 9.96% | -15.44% | 0.802 | 9.98% | 43.02% |
| 简化规则,滞后净值价差2% | 9.99% | -11.16% | 1.072 | 10.04% | 58.06% |
| 流动性代表+多期限,三个行业,金10% | 11.83% | -12.04% | 1.083 | 10.02% | 50.07% |
| 简化规则,滞后净值价差8% | 10.63% | -12.04% | 0.896 | 10.03% | 46.11% |
实际截断数据至2020-12-31、2022-12-30、2024-12-31,重新计算多期限收益与目标,均与全缓存相应前缀一致。另有未来价格冲击、未来成交额变化、倒序输入排序、代表先于动量筛选、空位现金、无杠杆测试。这证明所测试的数值计算按时间向前进行;截断时仍使用当前基金元数据,无法认证整个研究过程或资产池没有后视选择。
| 初始资金 | 整手近似年化 | 回撤 | 最大前日ADV参与率 |
|---|---|---|---|
| 10万元 | 11.70% | -11.83% | 0.6249% |
| 30万元 | 11.75% | -11.97% | 0.9996% |
| 100万元 | 12.12% | -11.99% | 1.0000% |
同一账户先卖后买,买入100份整手,佣金0.03%每单至少5元加0.17%滑点;单笔限于前日已知20日平均成交额的1%,无融资。现金分红到账、实际份额、盘口与未成交订单未完整重建,只是日线近似。黄金10%为月度目标,月内涨跌可使实际比例高于10%,若要严格实时上限需要额外交易规则。
8. 逐年只看过去,能否洗掉后视问题
| 执行年份 | 使用历史 | 按既定条件选中 |
|---|---|---|
| 2022 | 20190101—20211231 | 旧权益规则,黄金最多20%+正趋势国债 |
| 2023 | 20200101—20221231 | 旧权益规则,黄金最多20%+正趋势国债 |
| 2024 | 20210101—20231231 | 旧权益规则,黄金最多20%+正趋势国债 |
| 2025 | 20220101—20241231 | 旧权益规则,黄金最多20%+正趋势国债 |
| 2026 | 20230101—20251231 | 旧权益规则,黄金最多20%+正趋势国债 |
诊断规则是在每年12月末,只按前三个完整年份、收益为正且回撤不超过25%的有限低黄金候选中选Sharpe最高者;没有合格方案则现金。目标在下一交易日按真实换仓账本执行,切换费用保留。2022-01开始另开现金账户,该回放年化20.92%、回撤-14.03%,每年都选中黄金最多20%+国债对照。
这仍然不是样本外成功。候选家族在2026年才被提出,本报告已知道各年行情。按过去选参数只约束了内层决策,无法消除外层“事后选择候选家族和评判条件”的后视镜。回放样本、起点和主方案全期不同,也不能直接拿20.92%对比11.83%挑最终策略。不会因此将国债版本改成主方案。
额外对已经发表的29项QDII方案做10段、选5段训练的CSCV诊断,共252个切分;训练Sharpe最优者在其余段低于候选中位数的比例为9.52%。舍弃尾部5个交易日以等长分段。这个局部比例没有包括此前11340项及精修,29项高度相关并共享已筛选的40日/黄金骨架,不能解释为“整个策略只有9.52%可能过拟合”。组合切分允许训练片段晚于测试片段,所以它是统计切分诊断,不代表当时可执行的因果策略或前瞻业绩。完整结果保存在下载文件,正文不以它为推广依据。
9. 最终如何选择,以及下一步可以验证什么
- 先按风险与偏好定黄金比例。本轮默认10%目标、退出权益留现金;同时展示0%和20%机制对照。比例先确定,后看结果,不因为某档收益更好而改预算。
- 行业信号和ETF工具分开。优先用当时可交易、流动性合格的行业代表,多个期限一致才纳入,A股分散三个组。未来需要维护按日期生效的行业与指数变更档案,避免以今天的热门名字回填过去。
- 以简单同风险方案为门槛。宽基+美日+低黄金是对照。行业规则若没有在新增数据中提供扣成本后的额外价值,就保留简单配置;历史年化高低不足以决定实盘选择。
- 冻结后收集新证据。已保存2026-10-03的未来验证协议,月度记录可见输入、公告时刻、真实限价与成交、拒绝与费用;同时记录宽基和不按收益排序对照。仅此日期之后真正新采集的行情可作为这份协议的前瞻检验,当前报告没有这样的业绩。
先核验执行,积累至少12个月作初步评估,并继续跨不同市场状态观察;12个月本身不保证足够统计证据。当前没有充分证据同时满足“低黄金、稳定20%年化、已经可实盘”三项要求。本轮修正前一轮较积极的跟踪判断,保留机制研究,尚不自动替换线上策略。
10. 下载和复现
result.json · declared_design.json · forward_protocol.json · input_manifest.json · missing_quote_audit.json · gold_exposure_yearly.json
所有方案日收益 · 简化行业逐日权重 · 旧版逐日权重 · 简化行业目标 · 旧版目标
python3 my-app/public/reports/etf-hindsight-audit-20261003/backtest.py --test-only python3 my-app/public/reports/etf-hindsight-audit-20261003/backtest.py