← 返回 Quant Digests · 站点首页

别把这份 2026 crypto PCA stat-arb repo 只读成 Avellaneda-Lee 复刻:对 short-cycle desk,更该先测的是「top-residual extreme only × clock-matched s-score fade」这条 raw alpha

更新时间:2026-04-12 21:44 UTC 研究时间:2026-04-12 21:41 UTC 类型:quant_digest 主题标签:raw-alpha/stat-arb/basket/pca/eigenportfolio/ou/residual/s-score/mean-reversion/cross-sectional/relative-value/top-extreme-only/clock-matched/binance-perpetual/5m/15m/repo/public-data/cost/risk 证据类型:2026 GitHub repo source audit(GitHub API + `README.txt` + `main.py` + `src/pca_engine.py` + `src/residual_model.py` + `src/ou_estimator.py` + `src/s_score.py` + `src/strategy.py` + `src/backtester.py`)+ 2010 *Quantitative Finance* 母体论文元数据 + Binance USDⓈ-M `5m/15m` public-data probe

源文件:research/quant_digests/2026-04-12_2141_pca-extremeonly-residual-fade-alpha.md

1. 这次看了什么

这轮我选的不是又一篇泛泛的 pairs 论文,而是一个很新的 repo:

主材料(repo)

地基论文(不是本轮主角,但 repo 明确依它搭建)

这轮最值得 desk intake 的,不是“PCA 也能做 stat-arb”这句空话,而是下面这句更像交易语言的话:

> 不要把所有 residual dislocation 一股脑全做;对 short-cycle desk,更像真钱入口的是“只做最极端那一撮因子中性偏离”。

也就是说,这轮虽然材料表面上是一个完整 PCA-OU book,但对我们更值钱的旁支,其实是:

2. 先回答一句:这篇东西的 base alpha 是什么?

很清楚,不需要硬猜:

> 基础 alpha = 因子中性后的 residual mean reversion。

翻成人话:

  1. 先用 PCA 提取市场共同波动;
  2. 再把每个币对这些共同因子的暴露回归掉;
  3. 剩下的 residual 若满足 OU 型回归,说明它更像“短暂失衡”而不是“新趋势”;
  4. 当 s-score 太极端时,做相对价值回归。

所以它是:

3. 为什么这轮值得写

3.1 它补的是“factor-neutral residual fade”这条素材,不是又一条普通 pair spread

最近研究池里 pairs / basket 已经不少,但很多还是:

这份 PCA repo 的不同点在于:

这对 desk 的价值是: > 它给的是“先 market-neutral / factor-neutral,再抓 residual 回归”这条更通用的 stat-arb 原语。

3.2 它比“整本书照搬”更有价值的地方,恰恰是让我们看清了该删什么

这类 repo 最容易犯的错,就是直接把论文口径 whole-book 搬到短周期 perp:

我这次最重要的结论反而是:

这正符合你给的灵活规则: > 不必死抄 headline;repo 里更适合 desk 的旁支,可以单独拎出来。

4. repo 到底实现了什么

这份 repo 的价值很高,因为它不是“讲思路”,而是把整条链写全了。

4.1 src/pca_engine.py:rolling PCA 因子提取

repo 在每个时间点:

翻成人话就是: > 先把“市场一起涨一起跌”和“第二层共同波动”抽出来。

4.2 src/residual_model.py:每个币回归到前两主成分上

repo 对每个 token 做:

这一步定义得很重要:

4.3 src/ou_estimator.py + src/s_score.py:把 residual 变成可交易阈值

repo 没停在“有 residual”这一步,而是继续:

这比直接 z-score spread 更像一个可迁移的 desk 组件,因为它回答的是:

4.4 src/strategy.py:完整开平仓阈值已经写好

repo 默认阈值:

这说明它不是只给研究信号,而是已经给出:

4.5 src/backtester.py:但它默认没把费用问题当核心敌人

README 直接写了:

这恰恰是 desk 读它时最该警惕的地方: > 信号骨架可取,whole-book 执行假设不可照搬。

5. 最小 public-data probe:真正值得 desk 先测的,是 extreme-only 分支

为了避免只做 repo 读后感,我用 Binance USDⓈ-M 公共 klines 做了一个 portability probe。

5.1 数据口径

产物已落地到:

6. probe 结果怎么读

6.1 先说坏消息:literal full-book 15m 直译版明显不过线

我先按 repo 的 opening / closing 阈值,做了一个“全书都做”的 15m 直译版快测。

结果:

这句要说得很直接:

> PCA residual 这套东西不是没 alpha;但“看到 dislocation 就整本书一起上”这件事,在 short-cycle perp 上先被换手打死了。

6.2 再说真正值钱的部分:extreme-only 事件口径在 5m 上是正的

我把 probe 改成更 desk 化的分支:

#### 5m(clock-matched 720-bar lookback,向前看 24 bars ≈ 2h)

翻成人话: > 把 repo 直译成 whole-book 不行,但只做最极端 residual,5m 上已经看到比较像样的回归味道。

6.3 15m 不是完全没东西,但强度明显更弱

#### 15m(240-bar lookback,向前看 8 bars ≈ 2h)

这说明:

6.4 哪些方向最像可继续追的 pair pocket

从事件样本看,5m 上更值得继续拆的 cheap-vs-rich pocket 包括:

这也提示一个很实际的方向: > PCA 不是为了“全市场一起做”,而是更适合先做 residual ranking / 极端口袋挖掘器。

7. desk 应该怎么落这题

7.1 不要把它理解成“PCA whole-book strategy”

更好的 desk 读法是:

也就是说,这题最像的是: > cross-sectional relative-value alpha router

而不是“又一个学术组合回测器”。

7.2 当前最合理的落点是 5m first, 15m control

我会这样安排:

7.3 这题真正服务的 raw alpha 是什么

如果要用一句话给研究池标注,我会写:

> factor-neutral residual mean reversion / basket stat-arb

而其中最先该复现的,不是 whole-book,而是:

8. 可直接落地的最小策略壳

下面这版已经够当实盘前的 research shell:

8.1 universe

8.2 signal

8.3 entry / exit

8.4 sizing

8.5 risk / cost

9. 下一步怎么测

这轮必须继续往下做,而且方向已经很明确:

  1. 从 event study 升级到 stateful pair book
  1. 把“固定 2h 持有”换成真正的 s-score exit
  1. 做成本敏感性
  1. 做 regime split
  1. 做 pocket mining,而不是盲目扩大 universe

10. 一句话结论

这份 2026 PCA repo 值得进研究池,但不是因为它的 whole-book 回测壳能直接照搬;真正该拿走的是:

> 把 PCA residual / OU / s-score 当成“因子中性相对价值温度计”,然后只做最极端那一对。

对当前 short-cycle desk,我会把它归类成:

11. 关键来源