源文件:research/quant_digests/2026-04-13_1346_lagstack-rf-xsmedian-statarb.md
README.md + crypto_forest_example.py + feature_generator.py + crypto_dataprovider.py + kpi_backtest.py)+ Binance USDⓈ-M 5m/15m public-data portability probe用多尺度滞后收益去预测“哪几个币会在未来 120 分钟跑赢当下横截面中位数”,然后做 long top-k / short flop-k 的 market-neutral spread这次主看 Thomas Fischer, Christopher Krauß, Alexander Deinert (2019), _Statistical Arbitrage in Cryptocurrency Markets_,以及作者配套公开的 GitHub 代码仓库。它不是那种“讲一个因子名词就结束”的文章,而是一个很明确的 横截面 market-neutral 预测壳:
120min 是否会跑赢当期横截面中位数;120min 后反手平仓。这对我们 desk 有价值,因为它补的是 cross-sectional / relative-value / stat-arb 方向,而不是再绕回单币 breakout / retest 内循环。
不过,这篇东西最容易被误读成:
我这轮更关心的是:它的 base alpha 到底是不是今天还能落到 5m/15m desk 上的 raw alpha?
40 个加密货币的 minute-binned 数据上,用 lagged returns 训练 random forest,预测未来 120min 是否跑赢横截面中位数;然后 买 top-3、做空 flop-3,持有 120 分钟。摘要里给出的 out-of-sample 结果是:2018-06-18 到 2018-09-17,超过 100,000 笔交易,扣掉 15bps per half-turn 后,仍有 7.1bps/day。crypto_forest_example.py 里把 FORECAST_HORIZON = 120(分钟);feature_generator.py 用的特征是 过去 1~20 分钟收益,再加上 120, 240, ..., 1440 分钟收益;helper.py 里的目标定义不是“绝对涨跌”,而是 是否高于当期横截面中位数;kpi_backtest.py 还额外加了 staleness / volume filter。top-3 / flop-3,而 repo 回测函数里默认 K=5。这说明它更像一个研究框架,而不是单一固定参数的“标准答案”。5m portability probe(近 28d,10 个 liquid majors,RF,120min 目标,top2/flop2)结果是:2664 个组合时点,9371 笔单腿交易;+0.90bps / 120m;8bps 粗扣,net 变成 -6.50bps / 120m;33.4%;-7.40bps。15m portability probe(近 60d,同样 10 个 majors,仍看未来 120min)更差:1901 个组合时点,6971 笔单腿;-0.81bps / 120m;-8.43bps / 120m;pred_spread >= 0.12),gross 也只是 +3.47bps,net 仍约 -4.53bps。ret_24 / ret_36 / ret_48(也就是更偏中段的历史收益窗)经常排在最前面。这更像在说:这条线的可交易部分不是“下一根 bar 随手追”,而是 多尺度 lag 结构里提炼出来的横截面强弱差。虽然这轮 portability 结论偏负面,但它对当前项目依然有直接价值:
这不是又一条单币 trend / breakout 线,而是很标准的:
这正好符合这轮 bot7 想主动补的方向。
这篇 paper/repo 最有价值的地方,不是“random forest”四个字,而是它把 alpha 主体定义得很干净:
> alpha 本体 = 未来 120min 的横截面相对强弱可由过去多尺度 lag return 预测。
至于:
top3 还是 top5这些都是 壳层 / 执行层,不是 alpha 定义本身。
当前 liquid-major perp 上,这条线的问题不是“完全没有方向感”,而是:
这意味着它更可能属于:
这类“不能直接上,但知道为什么不能上”的结论,对素材池同样有价值——至少能避免我们再把时间花在“liquid majors 上照搬论文壳”这条低胜率路线。
cross-sectional / relative-value / market-neutral过去多尺度 lag return 能预测未来 120 分钟谁会相对横截面中位数更强/更弱long top-k predicted outperformers / short flop-k predicted underperformersBTC/ETH/SOL 这种超拥挤 majors 上做 takerprediction spread 不够大时不做;staleness / volume 不够时不做;top2~3 / flop2~3;6~8bps / leg120min 回报是否高于横截面中位数;1~20 分钟收益 + 120~1440 分钟多尺度 lag return;120min;5m / 15mBTC/ETH/SOL/BNB/XRP/ADA/DOGE/LINK/AVAX/LTC120min2/3 : 1/3RandomForestClassifiertop2 / flop28bps round-trip / leg这篇东西值得继续测,但不是继续在 10 个 majors 上死磕。最优先是下面 3 步:
30~50 个 liquid alts2 / 4 / 8 / 12bpsxs router:决定做 continuation 还是 reversal;pair admission:只在 rank gap 最大的 pair/basket 上做 spread;position veto:当模型分差太小,直接不做。post-cost mean bps / rebalance(分费率桶看)prediction-spread bucket 下的边际改善(判断它到底是“需要强分歧过滤”,还是根本没有 edge)10 个 liquid majors,非常可能低估 这类横截面策略在更宽 alt universe 上的可用性。top3/flop3 vs K=5),说明“论文 headline 数字”并不是唯一需要复刻的对象;真正要复刻的是 方法骨架 + 成本边界。reports/artifacts/literature/crypto_stat_arb_rf_portability_probe_2026-04-13_summary.jsonreports/artifacts/literature/crypto_stat_arb_rf_portability_probe_2026-04-13_portfolio.csvreports/artifacts/literature/crypto_stat_arb_rf_portability_probe_2026-04-13_trades.csvreports/artifacts/literature/crypto_stat_arb_rf_portability_probe_15m_2026-04-13_summary.jsonreports/artifacts/literature/crypto_stat_arb_rf_portability_probe_15m_2026-04-13_portfolio.csvreports/artifacts/literature/crypto_stat_arb_rf_portability_probe_15m_2026-04-13_trades.csv10.3390/jrfm12010031https://doi.org/10.3390/jrfm12010031https://www.mdpi.com/1911-8074/12/1/31https://www.mdpi.com/1911-8074/12/1/31/pdf?version=1550193651https://github.com/Exceluser/Statistical-arbitrage-in-cryptocurrency-marketshttps://raw.githubusercontent.com/Exceluser/Statistical-arbitrage-in-cryptocurrency-markets/master/README.mdcrypto_forest_example.pyfeature_generator.pycrypto_dataprovider.pyhelper.pykpi_backtest.py