Systematic research · Chart pack

跨资产趋势跟踪:信号有效,但在这个 ETF 宇宙里做空把价值吃掉了

用 11 个流动性最好的 ETF(股票 / 利率 / 黄金 / 商品 / 外汇 / 房地产)检验 12 个月时序动量。信号本身有预测力,但做空那条腿在长牛资产上持续付钱; 它真正提供的是坏日子的保护——标普最差 10% 的交易日里,日均跌幅只有 60/40 的 8 分之一。

样本 2007-03 → 2026-10策略区间 18.5 年 11 个资产 · 月度调仓净口径 · 含成本 生成于 2026-10-06

四条结论

  • 信号有效但很薄:sign(12 个月动量) 对未来 21 日方向的命中率约 53%,30 组参数全部为正——不是过拟合。
  • 做空是负贡献:只做多版本 Sharpe 0.58, 多空只有 0.38;1/N 等权对拍显示短腿是纯拖累。
  • 跑不赢 60/40:60/40 Sharpe 0.75。趋势的价值不在平均收益, 而在条件收益——它是一份保险。
  • 容量卡在工具上:ETF 形式约 0.5 百万美元 (约束资产 FXY),要上规模必须走期货。
Exhibit 0

一页看懂:净值、风险调整后对比、以及它真正擅长的场景

summary

左上是三条净值曲线:趋势(红)在 2008 与 2022 明显占优, 但在 2010 年代的 QE 长牛里持续跑输 60/40。左下是风险调整后的排序——多空版本垫底, 只做多显著改善,但仍是 60/40 最好。右下解释了为什么机构仍然会配它: 在最坏的交易日里,它的跌幅比 60/40 小一个数量级。

来源:本文回测。所有图表由 python run.py 一次生成。

Exhibit 1

策略设计:五个环节,每一步都能单独检验

design

信号只用截至当日收盘的数据,权重在次日收盘成交, 再下一个交易日才开始承担收益。这个两天的滞后是刻意的: tests/test_core.py 用力导数据证明未来信息不会被用到。

来源:本仓库实现,全部参数见 config/base.yml。

Exhibit 2

只做多比多空好 2.7 个百分点

nav

灰色区间是三次危机。趋势在 2008 与 2022 明显跑赢, 但把方向反过来(做空)在 2009、2020 的反弹里被反复打——这正是「做空需要会跌的资产」 这句话在数据里的样子。

来源:本文回测(ETF 复权价,月度调仓,次日成交)。

Exhibit 3

收益从哪一类资产来

contribution

把逐日的 w × r 按资产类别汇总后取年化: 股票与利率腿贡献了绝大部分,外汇与商品几乎没有贡献。这也解释了容量问题—— 真正需要换手的资产,恰好是流动性最差的那几个。

来源:本文计算(毛口径)。

Exhibit 4

与 60/40 的相关性会切换方向

rolling

滚动 12 个月相关性不是稳定的负数,而是会在正负之间摆动。 对配置团队来说,这意味着它能提供的分散化价值是条件性的——在真正的压力期更可靠, 在平静期反而是拖累。

来源:本文回测,日频收益,滚动 252 个交易日。

Exhibit 5

成本不是瓶颈

cost

把成本假设放大十倍,净年化仍然是正的(基准 3.49%, 十倍成本下约 0.8%)。样本内没有出现「成本吃光策略」的情形, 说明问题从来不在交易费用,而在信号在这个宇宙里的原始期望值。 归零成本倍数:未出现。

来源:本文回测,按资产类别 2–5 bps 单边 × 倍数。

Exhibit 6

参数不是单点最优

grid

30 组参数(6 个回看窗口 × 5 个目标波动率)全部为正, 区间 0.22–0.62。这是稳健性的最低要求,但它同时也提醒: 这次扫描本身就要计入多重检验,正式对外报告必须声明尝试过多少组。

来源:本文回测,每组都是完整回测。

Exhibit 7

它是一份保险

stress

标普最差 10% 的交易日里,趋势日均 -15.4 bps, 60/40 是 -122.1 bps——差 8 倍; 2022 年趋势 +13.9%,60/40 −16.6%。但最好的日子里它几乎不参与。 买它不是为了多赚,是为了在 60/40 失效的月份不跟着一起掉。

来源:本文回测;条件收益用日均 bps,不用年化。

Exhibit 8

回撤路径的差异

drawdown

趋势最深处 -24.5%,60/40 是 -32.2%;但回撤的**形状**不同: 60/40 在 2008 与 2022 各挖一次深坑,趋势的坑更浅、更分散。

来源:本文回测。

Exhibit 9

容量:问题在工具,不在策略

capacity

按「单资产成交不超过其 ADV 的 5%、ADV 取 20% 分位」估计, ETF 形式的容量只有约 0.5 百万美元, 约束来自 FXY(日元 ETF)。要真正上规模,必须换到期货市场—— 这也是 v2 的核心工作。

来源:本文计算,ADV 为美元成交额。

结果表

组合年化波动Sharpe 最大回撤两向换手/年
趋势 · 多空3.49%9.24%0.38-24.5%3.65×
趋势 · 只做多6.15%10.54%0.58-23.6%2.78×
60/40(月度再平衡)8.26%11.01%0.75-32.2%0.12×
11 资产等权4.77%8.92%0.53-27.8%0.18×

净口径,含成本;样本 2007-03 → 2026-10,策略自 2008-04 起(信号需 252 日预热)。

边界与下一步

这一版没做的事

ETF 不能做空(多空账簿假设由期货实现,无借券成本与保证金约束); 样本不含 1970–2000 的商品与外汇大周期;成本是固定 bps,没有市场冲击模型; 30 组参数未做正式的多重检验调整。

v2:换成连续期货

15+ 个市场(ES/NQ、ZN/ZB、GC/SI/HG、CL/NG、ZC、6E/6J/6B/6A), 2001 年起约 25 年,加入真实合约乘数与保证金,明确披露 roll 影响, 并用 ETF 层做对照——直接检验「做空需要会跌的资产」这个假设。