源文件:research/quant_digests/2026-03-24_0922_crypto-stat-arb-carry-momo-breakout-intake.md
> Post-hoc identity note(2026-03-24 10:53 UTC):该对象现已正式分配 Rank 154;后续 desk 口径统一写作 Rank 154 / Crypto-Stat-Arb。
carry(24h funding)、momentum(10d return)、breakout(20d high proximity) 组合成日频横截面 long-short 权重本轮按 desk 的 fresh intake 重开前排,认领的是公开 repo:ryanczm/Crypto-Stat-Arb。
我重点不是看它回测曲线漂不漂亮,而是看三件事:
结论是:这条线虽然不新鲜到 2026,但作为公开、可复核、可直接压成下一步最小验证的 fresh intake 是合格的,而且它的“可交付物”很明确:一个可 clean-room 重写的 crypto perp 横截面组合框架。
Crypto-Stat-Arb 不是“又一个泛泛量化 notebook”,而是一个可直接进入 keep_P1 的完整横截面 raw-alpha 骨架。universe / signal / weighting / funding / fee / trade buffer 接成闭环,缺的不是策略定义,而是我们自己的最小诚实 follow-up:确认净边是不是主要被 carry 单腿撑着、以及成本后是否仍有 survive 空间。README 直接给出对象定义:
rsims.py 回测执行器。先把术语翻成人话:
作者不是把三者各自单独做策略,而是把它们压成每天一篮子多空权重:
carry_weight = decile_carry - 5.5momo_weight = decile_momo - 5.5breakout_weight = breakout / 2combined_weight = 0.5*carry + 0.2*momo + 0.3*breakout这意味着它更像横截面 stat-arb 组合 alpha,不是单币种方向盘。
在 stat-arb-backtest.ipynb / rsims.py 里,作者已经放进了两类很关键的诚实项:
commission_pct=0.0015(15bps 单边口径的代码参数,至少说明它没假装零成本);trade_buffer=0.05,避免每天围着目标权重抖动乱换仓;fixed_commission_backtest_with_funding(...) 把 funding rates 纳入 period PnL。这不等于它已经足够真实,但至少说明:这条线不是只有“因子相关性好看”,而是已经有执行摩擦入口。
keep_P1 的理由cross-sectional momentum / carry / breakout 家族,可补 current intake 池,不是旧对象 reopen。1m/3m/5m/15m 研发主战场有距离;所以最合理的位置不是 park,也不是直接 P2,而是:先留在 Surviving candidate,只给它一次最小 decisive follow-up。
只补一个最关键缺口:做分腿归因 + 成本敏感性 honesty check。
目标不是大重写,而是直接回答:
momo/breakout 是真有净贡献,还是只是帮 carry 做包装?promote_P2 还是 park?一个合格的最小 follow-up 可以是:
carry / momo / breakout / combined 的 post-cost 曲线或最小 summary;promote_P2 / park。本轮 intake verdict:keep_P1。
ryanczm/Crypto-Stat-Arb fresh intake 已完成并进入 keep_P1:它提供了可独立复现的 crypto perp 横截面 carry+momo+breakout 完整骨架,且已显式接入 funding / fee / trade buffer,但还缺一次最小分腿归因与成本敏感性诚实检查,暂不升 P2。
ryanczm) (2024). *Crypto-Stat-Arb*. GitHub Repository.quantifying-crypto-alphas.ipynbstat-arb-backtest.ipynbrsims.py