← 返回 Quant Digests · 站点首页

别把这个 2026 新仓只读成“7 币横截面动量作业”:对 short-cycle crypto desk,更该先拆的是「24h relative-strength rotation × ATR/volume 确认 × daily regime sizing」这条完整 raw alpha 壳

更新时间:2026-04-25 10:00 UTC 研究时间:2026-04-25 10:01 UTC 类型:2026 GitHub repo source audit(`README.md` + `step_1.py` + `strategy_report.html`) 主题标签:raw-alpha/cross-sectional/relative-value/momentum/winner-loser/atr-expansion/volume-confirmation/regime-sizing/1h-parent/15m/5m/repo/public-data/cost/risk 证据类型:repo code + repo backtest report

源文件:research/quant_digests/2026-04-25_1001_xs-momo-atr-volume-regime-shell.md

1. 这次看了什么

这轮看的是 2026 GitHub 仓 codein123-afk/Cross_Sectonal_Momentum_Cryptocurrency。我主要审了:

这不是单币趋势模板,也不是只讲 filter 的结构笔记,而是一个能从信号一直落到仓位分配的横截面动量多空壳

  1. 每小时对 7 个币做一次横截面排序;
  2. 用过去 24h 收益减去同截面平均收益,得到 relative_momentum
  3. 做多前 2 名、做空后 2 名;
  4. 只有在 ATR 扩张 + 成交量确认 同时成立时才开仓;
  5. 再用一个 daily regime score 去动态放大顺势腿、缩小逆势腿;
  6. 如果 return_6return_12 同时转负,就把该币信号清零离场。

翻成人话:它不是“单币追涨”,而是在一个固定币篮子里做 relative-strength rotation,再用波动、量能和大盘状态控制什么时候更值得压仓。

2. 一句话结论

3. 为什么这轮值得做

这题对当前 desk 有价值,不是因为它“收益看起来夸张”,而是因为它正好补了一个还值得继续积累的方向:cross-sectional / relative-value raw alpha

相比继续围着单币 breakout/pullback 打转,这个仓更像一个可复用骨架:

  1. base alpha 很清楚:relative strength continuation,不是模糊 filter;
  2. 天然适合多空双开:long winner / short loser,本身就比纯单边更 desk 化;
  3. 父子周期拆法自然1h 排名决定谁值得关注,15m/5m 可再接更便宜的 child execution;
  4. 组件边界清楚:alpha、filter、regime、sizing、exit 都拆得开,适合后续 A/B test;
  5. 数据公开可得:Binance OHLCV 即可最小复现,不依赖私有源。

所以它不是“又一个学生回测”。它更像一个可直接进复现池的完整 raw-alpha shell

3.5 策略拆解(必填)

4. repo 里最值得复用的 6 个点

  1. 横截面动量定义很朴素
  2. 不是复杂 embedding,也不是多层 ensemble,而是:

这类定义非常适合先做 desk 的最小验证。

  1. 多空表达是相对价值而不是绝对看多
  2. cross_rank >= 6 才 long,cross_rank <= 2 才 short。说明作者押注的是币与币之间的相对强弱延续,不是“整个市场都在涨所以买一切”。

  1. ATR expansion 在这里是 confirmation,不是 alpha 本体
  2. ATR > ATR_baseline 的作用,是避免在没能量的横盘里硬追相对强弱。这一点对我们很重要:后续复现时,不要把 ATR 误写成主 alpha

  1. volume confirmation 同样是 veto 层
  2. volume_ratio > 1 才允许信号成立。也就是“这个 winner/loser 排名最好有真实资金参与”,不是纯噪声抖出来的 rank。

  1. daily regime score 负责的是 sizing,不是选币
  2. 代码里把 regime 前向填充到 hourly:

这相当于:bull 市更敢拿 long basket,bear 市更敢拿 short basket。这个设计很适合拆成通用 overlay。

  1. lookahead 控制是清楚的
  2. 作者对 rolling 特征普遍做了 shift(1),signal 本身又在回测时额外 shift(1),执行收益使用下一根 open-to-open 变化。这个严谨度比很多“README 很热闹”的仓高不少。

5. 直接抄代码后,你真正得到的是什么

如果把这个仓拆成 desk 可复用组件,至少有 4 层:

A. raw alpha 层

这是本轮真正应该 intake 的核心。

B. confirmation 层

这是在回答:“这个横截面 winner/loser 排名,此刻值不值得追?”

C. regime / sizing 层

这层可复用于不止一个 alpha,不一定绑定横截面动量。

D. exit 层

这意味着 repo 已经不是“只有入场,没出场”的半成品,但出场层还远没到可实盘照抄的程度。

6. 3 个最关键的 repo 数字

直接记 3 个最有用的数就够了:

  1. Full-sample gross return:+3,869%
  2. Test-period gross Sharpe:2.81(README 给的未见样本阶段)
  3. Full-period Max Drawdown:-62.4%

这些数说明两件事:

7. 我对这个仓的判断:该 intake,但要降噪后再信

我会把它归为:值得 intake 的完整 raw-alpha shell,但不是“直接照抄上线”的候选。

原因很简单:

  1. 优点是真的清楚
  1. 问题也很清楚

所以正确读法不是“这策略有 3869% 收益,快上”。而是:这里有一条能明确写成 alpha + filter + regime + sizing + exit 的相对强弱壳,值得拿来做更诚实的短周期版本。

8. 它和当前短周期 desk 的关系

如果把它压到我们更关心的 15m/5m,最自然的做法不是把所有东西都改成 5m 直接重跑,而是:

也就是说,它更像:

这很符合我们 desk 目前的研究节奏:先把 alpha 本体说清,再把执行层接上。

9. 风险与保留意见

  1. 样本太小。 7 币横截面很容易被单个强趋势币主导。
  2. 未扣成本。 对 hourly 多空轮动策略来说,这不是小缺陷,是第一层生死线。
  3. 胜率不到 50% 不算问题,但大回撤必须认真看。 这说明策略更依赖赔率和持续暴露,而不是“高胜率舒服赚钱”。
  4. regime score 可能和简单 beta 曝险纠缠。 它未必真是“高明的市场状态识别”,也可能只是顺着市场单边时把净敞口偏过去。
  5. 退出规则还偏粗。 6h/12h 同转负的 deterioration exit 很朴素,可能需要 time-stop 或 child-level stop 来控尾部。

10. 下一步怎么测

只做 4 个最小实验,不要一上来大炼丹:

  1. 先做更大的 liquid universe
  2. 把 7 币扩到 Binance USDⓈ-M 20~30 个高流动币,测试:

  1. 把 repo 的 confirmation 拆开做 ablation
  2. 跑四组:

这样才能知道 ATR/volume 到底是在抬 Sharpe、降 turnover,还是只是 sample-specific 装饰。

  1. 1h parent -> 15m/5m child execution test
  2. 父层只产出候选 long/short basket; 子层再比较:

先看 8 / 12 / 20 bps friction ladder 下还能不能活。

  1. 单独审 regime overlay 是否真有贡献
  2. 跑:

若后者收益提升只是来自净 beta 暴露,那就别误判为“横截面 alpha 更强”。

11. 来源

12. 这轮最该记住的一句话

这仓最值钱的不是“7 币回测赚很多”,而是它把横截面 relative-strength alpha、ATR/volume veto、daily regime sizing 和基础 exit 骨架一次性放进了同一个可复现壳里。