← 返回 Quant Digests · 站点首页

别把 pairs 继续只做成“两条线的 z-score”:这篇 2021 动态因子论文更该先测的是「共同市场因子剥离后的多腿 stat-arb」raw alpha

更新时间:2026-03-25 20:45 UTC 研究时间:2026-03-25 20:42 UTC 类型:2021 开放获取论文(全文 PDF 可读)+ Binance Futures 公共 `15m` 最小快检 主题标签:raw-alpha/relative-value/stat-arb/multi-asset/pairs/dynamic-factor/cointegration/market-neutral/stationary-factor/15m/5m/binance/perpetual/paper 证据类型:全文论文证据 + 本地公共数据快检

源文件:research/quant_digests/2026-03-25_2042_dynamic-factor-multi-pair-statarb.md

> 先回答 base alpha:这不是 filter,不是纯解释层。base alpha 就是“共同市场腿之外,第二个相对价值因子会均值回归”,因此可做 market-neutral 多腿 long-short。 这轮值得写,不是因为我们又缺一篇 pairs,而是因为最近 intake 已有 distance / Hurst / dynamic cointegration / stable pair selection,但还少一张更上层的 “pair → basket / pair → factor residual” 迁移卡。

1. 这次看了什么

主来源是:

这篇文章最值钱的地方,不是“又一次证明 crypto 可以做 pairs”。真正有用的是:

  1. 作者不是先挑一对币再硬做 spread
  2. 而是先把一篮子币拆成 共同市场因子 f1相对价值因子 f2
  3. 只有当 f2 是 stationary、且与 f1 相关性够低时,才开 market-neutral 多腿组合。

对当前 desk 来说,它补的是一个很明确的相邻缺口:

也正因为这样,它和最近的 raw alpha 积累直接相关:

2. 论文到底给了什么

2.1 一句话核心结论

如果一篮子 crypto 价格可被 1 个共同 integrated factor + 1 个 stationary factor 描述,那么真正可交易的 alpha 不是“某对价差看起来偏了”,而是“stationary 第二因子会回去”,因此可以做多腿 market-neutral 组合。

2.2 作者怎么做

论文用的是 BTC / ETH / LTC / XMR 四币篮子,日频样本覆盖:

作者先估计动态因子模型,把价格写成:

然后把每个币的价格按第一因子载荷 βi1 做缩放:

在这个缩放空间里,不同币之间的 spread 主要受第二因子 f2 驱动。接着作者:

  1. 用模型做 1-step ahead forecast
  2. 把币按 forecasted scaled price 排序;
  3. short 预测最贵的一半,long 预测最便宜的一半
  4. 只在预测组合价值相对当前组合价值偏离足够大时交易(c * σ_v no-trade band)。

换成人话:

3. 3 个关键数据点

  1. 因子结构本身不是永久成立。 论文摘要和正文都写得很清楚:在 2019 年 8 月底前,这篮子币更像 1 integrated + 1 stationary;此后转成 两个 integrated 因子,也就是原先那条可回归 residual leg 不再稳定。
  2. 交易结果上,交易阈值 c=0.20 是论文里的成本后更优点。 Table 6 显示,2019 OOS 期在 c=0.20 时:
  1. 策略在 regime 失效后会主动停机。 论文 Fig. 6/7 附近明确写到:2019-09 之后基本不再交易,因为 Johansen/相关性检查显示“单一共同 market leg + 单一 stationary residual leg”这个假设不再成立。也就是说,这条线天然不是 always-on。

4. 为什么它对当前短周期 desk 有价值

4.1 它服务的是哪类 raw alpha

4.2 它补的是我们最近还缺的一块

最近 pairs / stat-arb 线已经有:

但这些大多还停在:

这篇更重要的 side branch 是:

也就是把研究对象从:

往上抬成:

这对 desk 很实际,因为短周期 perp 上真正容易卡住的,常常不是“entry 不够花”,而是:

5. desk 化后的完整策略骨架

5.1 角色拆解(必填)

5.2 最小可执行版本

  1. 6~12 个流动性最好的 perp;
  2. 在 rolling window 上对 log price level 做动态因子/PCA proxy;
  3. 提取 f1(共同 market leg)和 f2(relative-value leg);
  4. 只有当 f2 通过 stationarity gate 时才生成信号;
  5. forecasted scaled priceβ2/β1 暴露,把篮子分成贵腿和便宜腿;
  6. short 贵腿半篮子,long 便宜腿半篮子;
  7. c * σ_v|z_f2| 控制 no-trade band;
  8. 1 bar / 2 bars / 4 bars 持有与成本生存线。

6. 本地最小快检:把论文翻成 perp desk proxy 之后,边有多厚?

我做了一个很诚实、但不是 faithful replication 的最小版 proxy:

6.1 结果先说结论

这条线在当前 15m perp proxy 上,毛边几乎是平的;一上真实成本就不行。

6.2 关键数字

  1. gate 触发很少。3847 根可交易 15m bar 里,只开机 181 根(约 4.7%)。这和论文一致:它更像 regime-sensitive residual trade,不是全天候策略。
  2. 1-bar 持有,毛边仅微正。 不计成本时,累计 log return 约 +0.00085(约 +0.085%),年化 Sharpe proxy 仅 0.22
  3. 一加成本立刻转负。 同口径下:
  1. 把持有拉到 4 bars(约 1 小时)也还不够。 2 bps 下累计约 -1.36%6 bps 下约 -4.04%。说明这里的问题不是“只差一个更长 hold 就自动翻正”,而是 当前 4 币 / 15m / 频繁重算 的 desk transfer 还太薄。

6.3 这组快检最值得记住的不是“失败”,而是失败长什么样

它说明:

7. 这条线现在该怎么放进研究池

我的判断:值得保留,而且属于 raw alpha / 完整策略骨架;但当前更诚实的标签应是“中频 residual stat-arb skeleton,可往 15m signal → 1h 持有 迁移”,而不是立刻写成 5m/15m bar-by-bar taker alpha

换句话说:

8. 下一步怎么测

  1. 把 4 币扩到 8~12 币。 论文价值不在单对,而在“共同腿 + residual 腿”;篮子太小,会把很多 idiosyncratic 噪音误当成第二因子。
  2. 把持有频率降一档。 第一优先不是 5m,而是:15m 信号生成 + 1h / 2h 持有,或干脆 1h re-estimation。
  3. 把 no-trade band 做成主角。 直接复刻论文的精神:比较 c=0 / 0.1 / 0.2 / 0.3,而不是默认每次都调仓。
  4. 加入 perp desk 真成本。 至少做 2 / 4 / 6 bps round-trip、maker-fill ratio、funding carry 偏移;否则会重复“毛收益看着有、净收益全没”的假象。
  5. 把 regime 失效写成显式停机规则。 论文最有价值的不是“收益有多大”,而是它诚实承认:当第二因子不再 stationary,就该停机。短周期版也应加:ADF fail / half-life drift / corr spike 即停。
  6. 和已有 pairs intake 做 A/B。 下一轮最值得的不是孤立重跑,而是拿它直接对比:

9. 风险与保留意见

10. 来源

  1. Figá-Talamanca, G., Focardi, S., & Patacca, M. (2021). _Common dynamic factors for cryptocurrencies and multiple pair-trading statistical arbitrages_. Decisions in Economics and Finance, 44, 863–882.
  1. Binance Developers – USDⓈ-M Futures Kline/Candlestick Data

11. 本地产物