← 返回 Quant Digests · 站点首页

别把这份 2023/2025 repo 只读成“按时段切换动量/反转”:更该先测的是「same-slot cross-sectional market-neutral」完整 raw alpha

更新时间:2026-03-26 13:17 UTC 研究时间:2026-03-26 13:18 UTC 类型:2023 GitHub 仓库(2025 仍在更新)+ notebook 代码级审阅 + Binance Futures 公共 `15m` 最小 transfer check 主题标签:raw-alpha/cross-sectional/market-neutral/same-slot/time-of-day/momentum/reversal/weekday/off-hours/regular-hours/15m/1h/5m/3m/repo/binance/perpetual/cost-turnover 证据类型:repo notebook 规则审阅 + 当前公开数据最小 transfer

源文件:research/quant_digests/2026-03-26_1318_same-slot-marketneutral-weekday-mom-reversal.md

1. 这次看了什么

先回答一句:这篇东西的 base alpha 是什么?

不是“时段过滤器”,也不是“regular hours 比较重要”这种空话。它的 alpha 本体,是 same-slot 横截面排序本身。

主材料是 GitHub 仓库:

这份 repo 的真正价值,不是“又一个 notebook 回测”,而是它把一条可以独立交易的 cross-sectional raw alpha 写得很具体:

  1. 先按 1h bar,把 10 个主流币放进横截面;
  2. 对每个固定小时 separately 计算过去 N同一小时的平均收益;
  3. 在横截面内做 rank → demean → normalize,得到市场中性权重;
  4. 在 weekday after-hours 交易短 lookback reversal(1~2d);
  5. 在 weekday regular-hours 交易长 lookback momentum(9~21d);
  6. 再对两个子策略做 Sharpe-based weighting。

repo notebook 里直接给出的组合结果是:

翻成人话:这不是“某个时段只做多/只做空”的时间过滤,而是“同一 clock slot 的跨币种相对强弱,会在不同会话口袋里表现成不同方向的 market-neutral alpha”。

2. 核心结论

2.1 repo 里最值得 intake 的,不是时间过滤,而是 same-slot 横截面框架

这份 repo 真的可拿来做 desk intake 的地方有 3 个:

  1. 它是 raw alpha,不是 filter 假装成 alpha。
  2. time-of-day 在这里不是 veto,而是决定你在某些 slot 里该做 reversal 还是 momentum 的 primary regime。

  1. 它天然是 market-neutral。
  2. 不是单币追涨杀跌,而是 rank-demean-normalize 后的 long-short 篮子,先天更适合 desk 做成本和 beta 归因。

  1. 它自带 entry/exit/sizing/risk/cost 骨架。

2.2 这条线和昨天那篇 clock-conditioned own-past return 不一样

昨天 intake 过的 clock-conditioned intraday momentum/reversal 更像:

而这份 repo 更像:

所以别把它误读成重复主题。前者是“这个币在这个时段偏 continuation 还是 reversal”,后者是“这一组币在这个时段,谁该多、谁该空”。

3. 为什么和当前 desk 直接相关

这轮我认为它值得优先 intake,原因很直接:

  1. 它补的是 raw alpha 素材池,不是又多一个 overlay。
  2. 它服务的是 current desk 明显还需要继续补的 trend/momentum 家族,但形式不是单币 breakout,而是更像 alpha desk 的横截面 market-neutral。
  3. 它可以很自然地下沉到 15m/5m
  4. same hour 改成 same 15m slot,就能做对我们更贴脸的最小实验。

如果用当前任务要求那句话来审题:

所以它不是“只可当 filter”的材料,而是可直接落地的完整策略候选

3.5 策略拆解(必填)

4. 当前 15m transfer check:对我们 desk 还有没有边?

为了不只复述 repo,我做了一个更贴 desk 的最小迁移:

4.1 数据与口径

产物目录:

4.2 结果一:after-hours same-slot reversal 还有 gross edge,但 turnover 高得吓人

weekday after-hours + 1~2d reversal

这很像 repo 自己给出的那层诚实结论:alpha 可能是真的,但执行频率和换手足以把它吃穿。

4.3 结果二:regular-hours same-slot momentum 在当前 15m perp 上没接住 repo 的叙事

weekday regular-hours + 9~21d momentum

也就是说,至少在当前这版 15m Binance perp proxy 上,同样的 same-slot 长 lookback momentum 没有成功迁移。

4.4 结果三:把两个分支硬拼在一起,gross 只剩很薄的正值,净值照样不活

0.5 × reversal + 0.5 × momentum

所以对 desk 更诚实的判断是:

5. 这条线现在该怎么 desk 化

5.1 先别做“全天同配方”

这份材料最不该学的,就是把所有时段揉成一条统一信号。真正该学的是:

5.2 当前最值得保留的分支:same-slot reversal,而不是 whole package

如果只看这轮 15m transfer:

因此本轮最合理的 desk intake 不是“照抄 repo 组合”,而是:

6. 下一步怎么测

这里不能停在“repo 很有意思”。下一步要直接拆 execution 生存线:

  1. 先做 slot-level 稀疏化。
  2. 不要每个 15m slot 都打。先筛:

  1. 加 top-k / band trigger,别全横截面都换。
  2. 当前 rank-demean-normalize 每 bar 都会动,turnover 太高。下一轮优先测:

  1. 把 15m bar-bar rebalance 改成“持有 2~4 bar,减半频率”。
  2. 这条线当前最像“alpha 有、但换手太密”。如果持有期稍拉长后 gross 不明显塌,才有资格继续。

  1. 做 maker-first / passive fill 假设的 break-even 曲线。
  2. 当前用的是单边 2 bps。下一轮至少要画:0.5 / 1 / 2 / 3 bps 单边成本曲线,看这条线到底活在哪个 fee pocket。

  1. 把 regular-hours momentum 单独做死亡确认。
  2. 它也许不是完全没 edge,而是:

7. 风险与保留意见

8. 来源

  1. MateoPedro. (2023, updated 2025). _StatArb_. GitHub repository.
  1. Binance Developers. _USDⓈ-M Futures API – Kline/Candlestick Data_.

9. 本地相关产物