源文件:research/quant_digests/2026-03-26_0342_cointegrated-basket-ou-hysteresis.md
15m/1h/4h 最小快检regime-aware 与 bucket 是治理层,不是 alpha 本体> 先回答 base alpha:这篇东西的 base alpha 不是 filter,不是 throttle,也不是 bucket sizing。base alpha 就是“多腿 cointegrated spread 偏离均衡后回归”这条 relative-value / stat-arb raw alpha。 值得写它,是因为最近 digest 虽然已经补了不少 pairs / spread,但还缺一张更接近 desk 真实部署形态的卡:不是只做 2-leg pair,而是直接把 3-leg basket、入场滞后、仓位 bucket、组合配重一起拆给你。
这次主看一份非常新的 GitHub repo:
https://github.com/sujith-kamme/statistical-arbitrage-crypto2026-03-20T03:07:38Zlabs/research.ipynb翻成人话:
这比“又一个 z-score pairs demo”更接近我们当前 desk 的素材池需求:它给的是完整 raw alpha 骨架,而不是只给一个 entry 信号。
1h/4h discovery + 15m execution。1h 还像样,15m 直接转负。我的 desk 化判断很明确:
155 个候选 baskets 经过阈值后只剩 10 个;4 个 baskets;1.764,net cumulative = 5.61%,max drawdown = -1.38%,annual turnover = 7.05x,entry events ≈ 15/年。这说明它不是“多腿越多越好”的故事,反而是在强调:basket stat-arb 的胜负手先在 admission funnel,再在仓位治理。
1h 还能活,15m 基本就塌。 我用 repo 最终留下的 4 个三腿 baskets,在 Binance USDⓈ-M 上做固定 train-weight proxy(Johansen 取权重,spread z-score 入场,含 6 bps taker-ish 成本)得到:1h 聚合平均:net cumulative +3.61%,Sharpe +4.9115m 聚合平均:net cumulative -3.24%,Sharpe -4.74这不是“15m 也许差一点”,而是很明显地提示:这条 alpha 的 discovery 时钟不该被硬压到 15m。
OPUSDT / FILUSDT / APTUSDT,我这边 proxy 的结果是:4h:net cumulative +15.38%,Sharpe +5.061h:net cumulative +5.85%,Sharpe +8.0415m:net cumulative -5.28%,Sharpe -6.89读法非常直白:不是 spread alpha 不存在,而是把它压成更快的 bar-level 交易后,噪音和成本先把它吃掉。
最近 digest 已经有:
但还比较缺一张更接近 desk 真实落地的 basket 卡:
所以这篇的价值不在“又证明一次 mean reversion”,而在于它把 basket discovery → alpha extraction → sizing governance → portfolio layer 连成了一条完整链。
2~4 个币,使其 log-price 之间存在可交易的 cointegrated 关系;spread_t = w1*log(P1_t) + w2*log(P2_t) + w3*log(P3_t) (+ ...)repo 不是直接写死“z > 2 就开”,而是先构造:
对 desk 的最小版可先写成:
|z| > z_entry 开仓;z > +entry 做 short spread;z < -entry 做 long spread;repo 输出给了两个很重要的 exit 观念:
desk 最小版可先用:
|z| < z_exit 平仓;max_hold 超时平仓;|z| 继续远离时做风险退出;这里是这份 repo 比普通 pairs notebook 更值钱的地方:
换成人话:
tcost_bps = 20)也就是说,这篇不是只给“alpha 会不会回归”;它直接把 entry / exit / sizing / risk / cost 五件套摆齐了。
OPUSDT / FILUSDT / APTUSDTFILUSDT / NEARUSDT / APTUSDTADAUSDT / ATOMUSDT / CRVUSDTDOTUSDT / OPUSDT / LTCUSDT4h / 1h / 15mentry = 1.75 / 2.0 / 2.2(随时钟加严)exit = 0.35 / 0.4 / 0.5max_hold = 8 / 12 / 24 bars6 bps taker-ish 的 leg turnover 粗记#### 先看 aggregate
4h 平均:net cumulative +1.60%,Sharpe +0.621h 平均:net cumulative +3.61%,Sharpe +4.9115m 平均:net cumulative -3.24%,Sharpe -4.74这组结果最有价值的,不是“1h 比 4h 还高”这件事本身,而是它把边界说清了:
1h 压;15m 主信号,当前就是负的。#### 再看单 basket
OP/FIL/APT4h:+15.38% / Sharpe 5.061h:+5.85% / Sharpe 8.0415m:-5.28% / Sharpe -6.89ADA/ATOM/CRV4h:+2.23% / Sharpe 3.051h:+3.55% / Sharpe 5.2715m:-1.83% / Sharpe -3.51这说明两个问题:
1h discovery 上保留边。对当前 short-cycle desk,我更愿意把它定义成:
1h/4h15m而不是:
15m 每根 bar 都重新发现一次 basket、重新交易一次。我的判断:值得进研究池,而且是 raw alpha 前排,但别误标。
更诚实的标签应是:
raw alpha / basket stat-arb / slower-discovery faster-execution而不是:
15m always-on spread signal也就是说,值得保留的不是“15m 压快后还能赚”;而是:
1h 的 rolling re-estimation,确认不是一次性样本幸运。1h discovery → 15m execution 真正拆成两层。 不要再跑 15m 直接重估 basket;而是用 1h 出方向,用 15m 做挂单/切片/回归触发。+ hysteresis+ bucket sizing+ basket-level risk parity看哪一层真的在贡献净边。
expected edge > fee budget 的 no-trade 条件。https://github.com/sujith-kamme/statistical-arbitrage-cryptohttps://github.com/sujith-kamme/statistical-arbitrage-crypto2026-03-20T03:07:38Z;主 notebook labs/research.ipynb 含 walk-forward、筛选、OOS 与市场中性检验输出。10.2307/2938278https://doi.org/10.2307/293827810.1080/14697680903124632https://doi.org/10.1080/14697680903124632https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Datareports/artifacts/quant_digests/cointegrated-basket-ou-hysteresis_20260326_0340/summary.csvreports/artifacts/quant_digests/cointegrated-basket-ou-hysteresis_20260326_0340/interval_aggregate.csvreports/artifacts/quant_digests/cointegrated-basket-ou-hysteresis_20260326_0340/meta.jsonreports/artifacts/quant_digests/cointegrated-basket-ou-hysteresis_20260326_0340/*_series.csv进研究池,而且按 raw alpha 前排保留;但更诚实的 desk 化方向是 1h/4h basket discovery + 15m execution,不是把 basket cointegration 直接压成 15m 主信号。