此前的两套原策略审计与保守组合见前一轮回撤优化研究。

后续审计:本篇数值仍是经过多轮搜索的历史候选,推广证据不足。40日窗口、黄金默认替代和仓位条件存在研究层面的事后选择;2024+不能重新称为独立留出。最新的黄金上限、现金对照、行业工具选择及验证边界见ETF轮动后视偏差审计。

研究日期:2026年10月3日|主样本:2019-01-02至2026-08-11|目标:不融资、不加杠杆,年化20%以上,最大回撤预算25%—30%

ETF轮动:把趋势质量、资产切换和仓位控制放在一起

保留的月度研究候选:40日价格趋势斜率乘拟合质量选一只行业ETF;沪深300低于120日均线时转入黄金;按60日估计波动缩减仓位,年化波动预算25%,剩余资金留现金。主回测年化25.62%,最大回撤-22.24%,夏普1.062。买卖各0.50%时年化仍有20.81%。这是多轮研究后的候选,尚未形成冻结规则之后的真实样本外业绩。

两套原策略的结论发生了什么变化

第一轮审计中,线上52周高策略的已公布历史持仓重估,年化7.95%、最大回撤-33.07%;原39只行业ETF的NAV120单持仓,年化14.31%、回撤-45.77%。这两项截至2026-08-10。它们的集中风险和成本口径不能支持直接用于实盘。此前10%波动预算的保守改版改善了回撤,但约10%年化也不符合本轮更高收益目标。

提高仓位本身没有解决问题:本轮不做波动缩减的趋势方案虽有20%以上年化,却出现38%—41%的全期回撤。改善来自三件事同时使用:按趋势质量选行业,在市场转弱时把风险资金转到黄金,以及估计波动升高时减少持仓。黄金是另一项风险资产,不能被视为保本资产。

主回测比较

策略年化收益最大回撤夏普
固定50%沪深300、25%黄金、25%国债9.58%-18.95%0.910
单持黄金ETF16.48%-30.52%0.999
历史大池NAV120,单行业满仓10.96%-59.85%0.461
40日趋势质量,月度,最终候选25.62%-22.24%1.062
90日趋势质量,周度,对照候选24.41%-17.53%1.125
多窗口动量,周度,对照候选24.65%-19.24%1.047

1,845个交易日,244日年化,现金收益取零;自然持仓漂移,买入与卖出各0.2%,信号后下一交易日收盘执行。新账户按开始日前已知信号初始化,不计开始日前收益。按实际日历时间年化为25.46%。历史行业池载入454只ETF,加黄金与国债两只对照产品。NAV120历史大池结果不能与原39只池当作同一个选股序列。

月度趋势质量候选、黄金与固定配置的净值及回撤

可以复现的规则

  1. 行业与主题股票ETF需在当日已有200个有效价格交易日,20日平均成交额至少1000万元;按当时上市、退市状态与可交易报价过滤。历史池含退市产品,最终候选没有实际持有已退市基金。仍缺历史分类快照和完整退市清算资料。
  2. 用拆分调整后的价格收益构造价格序列,对最近40个交易日的log价格做直线拟合,评分为244 × 斜率 × R²,选择最高的一只。不是按全年收益事后找赢家,也不再依赖NAV公告作为选股信号。NAV仍可用于实际折溢价检查。
  3. 每月最后一个实际交易日收盘检查沪深300是否高于120日均线。高于时目标为所选行业ETF;低于或没有合格行业ETF时目标为黄金ETF518880.SH。每月一次判断,月间保持持仓自然漂移。
  4. 用最近60个交易日目标组合的价格收益,计算年化波动。仓位乘min(1,25% ÷ 估计波动),不放大仓位,不借款,未投入资金留现金。25%是估计波动预算,不是回撤上限;过去最大回撤22.24%也不是未来损失保证。
  5. 信号后一交易日收盘调仓,旧持仓收益保留到实际成交;买卖都计成本。没有必需报价时推迟整次替换。缓存止于月中时,日历仍使用该月真实完整交易日,避免把缓存末日误当月末。
  6. 执行近似使用100份买入单位,先卖后买,保留最低5元佣金和滑点;单笔不超过前一日已知20日均成交额的1%。未完成金额留现金或原持仓,到下一次计划换仓再评估。已有账户需以真实资金与持仓生成净额订单。

主样本平均投入比例87.1%,年化买卖总成交金额约净资产的13.03倍。模型允许集中持有一只行业ETF或黄金,资产分散程度有限;这也是保留仓位缩减的原因。

参数选择和阶段表现

阶段年化收益最大回撤交易日数
2019—2021,训练31.33%-18.32%730
2022—2023,参数验证19.34%-19.35%484
2024年以来,近期探索24.11%-19.58%631

第一轮2,592组参数及180组防御细化,第二轮8,748组资产切换组合。按2019—2023的收益排序,先筛回撤不超过30%、2022—2023年化不低于−5%及过期持仓占比低于1%。第二轮查看后,另加必须具有波动控制的门槛,再冻结每个信号家族的领先方案。此研究过程具有适应性,不能包装成完全预注册验证。

2024年以来数据已被之前研究及本轮多次查看,统一标为近期探索。选择比较与多重试验会高估收益。相对固定配置的60日成对区块重采样,年化差5%/50%/95%分位为-0.13/15.64/36.49个百分点,正差比例94.8%;区间仍跨零,而且没有修正参数选择偏差,不能据此宣称稳定超额已被证明。

年份年化收益该年最大回撤交易日数
20196.30%-15.61%244
202072.09%-16.57%243
202123.94%-13.90%243
2022-11.52%-19.35%242
202360.96%-12.56%242
2024-2.70%-13.12%242
202552.24%-11.53%243
202632.22%-19.58%146

2026年只有部分年度,表中为年化数值。2022年亏损约11.5%,2024年也亏损。滚动244个交易日的最差收益为-19.47%,其中46.75%的窗口没有达到20%。去掉2020年后,其他年份的拼接收益年化为19.77%;这只是收益依赖诊断,不是重新训练后的回测。

成本和调仓日期压力

压力场景年化收益最大回撤夏普
买卖各0.30%24.00%-22.66%1.008
买卖各0.50%20.81%-23.51%0.899
月末信号提前1日27.44%-20.59%1.130
月末信号提前2日25.00%-26.73%1.032
波动预算20%21.81%-18.35%1.062
波动预算30%26.81%-24.66%1.017
月末信号提前5日20.63%-22.16%0.937
月末信号提前10日18.92%-26.07%0.856

没有改用敏感性表中事后最好的日期、波动预算或均线参数。两个周度对照虽有较高主回测收益,却更怕换仓日期和交易成本:90日趋势质量方案买卖各0.50%时降为18.01%,信号提前2日降为16.60%;多窗口周度方案成本各0.50%时为14.05%。因此保留月度方案继续跟踪。

窗口不是任意换都能成立

趋势窗口市场MA100,年化/回撤市场MA120,年化/回撤市场MA140,年化/回撤
3027.07% / -27.32%23.71% / -23.35%25.33% / -24.01%
4031.97% / -25.37%25.62% / -22.24%28.48% / -25.03%
5024.99% / -26.88%21.81% / -21.33%22.03% / -25.01%
6019.75% / -23.21%16.61% / -22.10%15.29% / -30.99%

30—50日邻近窗口多数维持20%以上收益,60日窗口明显下降,且60日/MA140出现超过30%的回撤。MA100的31.97%只是探索结果,没有据此替换冻结的MA120。原39只池敏感性年化22.24%、回撤-22.77%,说明结果并非完全依赖扩大历史池;该39只池仍有当前选池偏差。

历史池实际入选过银行AH价格优选ETF517900.SH,不能把原结果严格说成全部只持A股。进一步剔除AH、沪港、港股及海外关键词后,年化28.28%、回撤-22.24%,属于分类边界敏感性,不用较高结果抬升主指标。同样的市场均线、黄金切换与风险规则,只把行业选择换成沪深300,年化4.69%;行业选择在本样本中有贡献,但仍需未来验证。

账户规模与执行近似

初始资金离散订单年化最大回撤订单数
10万元26.20%-19.54%136
30万元29.24%-18.40%146
100万元29.40%-18.22%150

容量约束改变了实际持仓轨迹,有时恰好提高历史收益;这些高于主回测的数字不能理解为真实成交必然更好。此试验对买单检验100份整数倍、现金不为负、总风险暴露不超过100%,最大参与率为前一日已知均成交额的1%。拆分和派息通过调整收益计价,尚未逐笔重建券商分红到账日、竞价排队、涨跌停、买卖价差及盘口冲击。

数据时点与下一步使用

本轮完整历史池的主样本截至2026-08-11,原39只池截至2026-08-10。最后历史模型持有黄金,但不能当作2026年10月的实时指令。没有用第一轮39只池的9月30日数据假装更新454只历史池的新方案。进一步实盘化需用整个合格价格池的新行情生成信号,再按账户现有持仓净额执行;冻结后的实际跟踪业绩才是新的样本外证据。

可用行业日线缓存从2018年开始,200日入池门槛使早期大多属于预热,无法验证2015股灾。净值历史修订、名称与分类变更、当前历史池完整性、ETF现金分红的逐笔结算仍是限制。价格缓存、原研究报告、线上策略和只增不改台账未被覆盖。

复现和文件

python3 my-app/public/reports/etf-return20-20261003/backtest.py
# 重跑完整网格(顺序执行)
python3 my-app/public/reports/etf-return20-20261003/backtest.py --full-search
python3 -m unittest discover -s research -p 'test_etf_return20_study.py' -v
python3 -m unittest discover -s research -p 'test_etf_practical_optimization.py' -v

冻结规则 · 验证指标 · 额外敏感性 · 逐日权重 · 每月信号 · 10万元离散订单 · 逐日收益 · 初始设计 · 第二轮设计 · 冻结候选及选择过程 · 输入校验清单 · 复现依赖

独立Python与编译账本逐日收益一致;23项账本及边界测试覆盖旧持仓收益、双边成本、缺行情延迟、禁止借款、分批资金、同分排序、上市退市、200日历史、NAV公告新鲜度及未完月份的调仓日。科学图使用Matplotlib导出,可独立分享。

交易单位参考上交所ETF说明及深交所基金申报单位说明。风险缩减的研究背景可见Daniel与Moskowitz的Momentum Crashes,该论文讨论的多空动量结果不能证明本项目的ETF长仓收益。本文数值来自本地回测。

复现入口 · 完整研究代码 · 运行依赖 · search.json压缩下载 · extension.json压缩下载

在cb-allotment仓库原目录运行复现入口,使用已冻结本地行情缓存;代码下载不包含原始行情。一次性研究报告,数据时点以正文为准。