源文件:research/quant_digests/2026-04-10_1246_pairbreakdown-dynamichedgeratio-pairs-shell.md
README.md + src/strategies/pairs_trading.py)cointegrated spread mean reversion(价差偏离过大后向均值回归)看了 mefai-dev / mefai-autotrade 里的 src/strategies/pairs_trading.py。它不是只给一个“协整 + z-score”口号,而是把 pairs 真正写成了完整策略壳:先扫 pair,再做 admission,再动态更新 hedge ratio,再在关系失效时强制平仓。
pair-breakdown veto,不是固定 z-score 本身。correlation > 0.7、cointegration p < 0.05、half-life ∈ [1, 50],并且每 20 根 bar 重新验证一次;一旦失效就触发 pair_breakdown 退出。entry = |z| >= 2.0,exit = |z| <= 0.5,stop = |z| >= 3.0,hedge_ratio_window = 30,lookback = 60,max_notional = 10000,risk_pct = 1%。当前 momentum 已经积累了不少单资产趋势、均值回归、funding/basis、microstructure 线索,但 pairs / stat-arb 这条线最容易在 short-cycle 里犯的错,就是只盯 entry 阈值,不盯关系是否已经坏掉。这个 repo 的价值在于把 pairs 拆成 4 层:
这很适合补进我们当前 raw alpha 素材池,而且完全能映射到 5m/15m 最小实验。
corr > 0.7、p < 0.05、half-life ∈ [1,50]、pair revalidation fail 即退出2σ 入场 / 0.5σ 出场 / 3σ 止损、名义上限、risk_pct 仓位限制BTC / ETH / SOL / BNB / XRP / DOGE / ADA / LINK 等高流动 perp;4h 扫一次 pair:保留 corr > 0.7、EG p < 0.05、half-life ∈ [1, 50];15m 主交易,spread_z = (spread - mean_60) / std_60;|z| >= 2 入场,|z| <= 0.5 出场,|z| >= 3 止损;20 根 bar 重验 pair;若协整失效直接平仓。15m 为主,5m 做 child execution;样本先跑 2024-01-01 以来,先只做 top-liquid pairs。post-cost bps / tradebreakdown-exit share(多少亏损单其实来自 pair 已失效却还在等回归)第二层再看 positive-window ratio 和 pair survival days。
5m/15m 下协整关系比日频更脆,revalidation 频率本身也是参数,过慢会放大坏关系,过快会造成 churn。Repo URL: https://github.com/mefai-dev/mefai-autotrade
src/strategies/pairs_trading.pyURL: https://github.com/mefai-dev/mefai-autotrade/blob/master/src/strategies/pairs_trading.py
URL: https://github.com/mefai-dev/mefai-autotrade/blob/master/README.md