← 返回 Quant Digests · 站点首页

别把这份 2026 cross-exchange repo 只当“搬砖脚本”:对 desk 更该先测的是「same-contract perp quote gap × maker-one-leg / taker-one-leg」完整 raw alpha

更新时间:2026-03-31 19:31 UTC 研究时间:2026-03-31 19:29 UTC 类型:raw alpha 主题标签:raw-alpha/relative-value/stat-arb/cross-venue/same-underlier/same-contract/perp-perp/quote-gap/maker-taker/edgex/lighter/1m/3m/5m/repo/public-data/execution/cost/risk 证据类型:2026 GitHub 新仓库 source audit(`strategy/edgex_arb.py` + `strategy/order_manager.py` + `strategy/position_tracker.py` + `strategy/data_logger.py` + `exchanges/edgex.py` + `exchanges/lighter.py`)+ Lighter 公共 `orderBooks` endpoint live sanity check

源文件:research/quant_digests/2026-03-31_1929_edgex-lighter-samecontract-crossvenue-arb-alpha.md

1. 这次看了什么

这次主材料不是论文,而是一份 2026 新 repo:wavyjay1/cross-exchange-arbitrage

它表面上是一个“EdgeX 与 Lighter 之间做 cross-exchange arbitrage 的机器人”,但如果按我们当前 desk 的优先级来读,真正值得单独拎出来进素材池的,不是“跨所机器人”这几个字,而是它给了一条相当完整、而且非常适合短周期 desk 做最小实验的 raw alpha 壳:

同一标的、同一类 perp,在两个 venue 的 BBO 短时错位;在一个 venue 争取 maker 进场,在另一边用 taker 对冲,赚的是跨 venue quote gap 的回收。

翻成人话: 这不是长周期 funding 套利,也不是 pair formation,不是“预测涨跌”,而是更原子的相对价值口袋:

这类题材和我们最近写的 spot-perp / funding / stablecoin / options relative value 不一样的地方在于:

这里的 base alpha 更短、更薄、更执行驱动。

2. 为什么它值得进当前研究池

最近几轮 digest 已经补了很多:

但当前池子里还缺一条非常“台面下”、却很像真实交易 desk 的原始 alpha:

same-contract、cross-venue、盘口级价差回收。

这份 repo 值得补,有 4 个原因:

  1. base alpha 很清楚:不是 filter,不是 overlay,就是同一合约跨 venue BBO 错位;
  2. 是完整策略壳:有 entry、hedge、timeout、position cap、日志;
  3. 天然更接近 1m / 3m:不是等 K 线走形态,而是等盘口 pocket;
  4. 非常适合做最小 falsification:只要能持续录两边 BBO,就能先回答“机会有没有厚到足以盖过 taker + legging”。

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

base alpha = 同一资产、同一类永续合约在两个 venue 的最优买卖盘会短暂失衡;当这个 gap 大到足以覆盖 one-leg maker + one-leg taker 的真实成交壳时,随后更可能向跨 venue 收敛方向回落。

所以它本质上是:

4. 核心来源

4.1 主仓库

4.2 这次实际重点看的文件

4.3 公开数据 / 公开接口线索

5. repo 里最该拿走的硬点

5.1 它交易的不是“抽象价差”,而是非常具体的 maker/taker 壳

EdgexArb 的主逻辑非常明确:

也就是说,这不是“看两个 mid price 的差值”,而是明确写成:

  1. 先在一边争取 maker;
  2. 一旦成交,另一边马上 taker 对冲;
  3. 赌的是 gap 回收 + maker 节省的那一点壳

这点很重要,因为很多跨所 alpha 写到最后都会偷换成 mid-mid backtest,但这份 repo 至少把真实成交层放进来了。

5.2 信号方向清楚,但原始实现仍然偏乐观:触发口径和可成交口径并不完全一致

trading_loop() 里真正的两条触发条件是:

但注意一个很 desk 的细节:

这对 repo 使用者是个提醒:

原始信号并不是严格的“可成交净价差”。

如果直接照抄,会把边看得偏厚。对 desk 来说,更正确的改法应该是直接把信号改写成:

而不是继续用裸 bid-bid / ask-ask 去判。

5.3 fill 逻辑暴露了这条 alpha 的真实难点:不是方向,而是第二条腿能不能安全补上

order_manager.py 里最值得抄的,不是某个 fancy signal,而是 交易状态机本身

翻成人话:

repo 非常坦白地承认了一件事:

> 这条 alpha 不是“看见 gap 就一定能无风险锁住”,真正决定它值不值得做的,是 maker 先成交后,第二腿是不是还能用可接受成本补上。

因此,这条题材对 desk 的核心不是预测,而是:

5.4 它已经给了一个简单但够用的风险壳

position_tracker.pyedgex_arb.py 里有几条很重要的守门:

这说明这份 repo 的正确读法不是“套利脚本”,而是:

一个已经把单腿失控当真问题处理的 execution shell。

5.5 公开接口快检:Lighter 的订单簿与费率字段是公开可取的,而且当前返回 maker/taker 均为 0

我对 https://mainnet.zklighter.elliot.ai/api/v1/orderBooks 做了 live sanity check:

这点对 desk 很重要:

如果一边 venue 的 taker 壳真的接近 0,那么这类 alpha 的 admission hurdle 会明显下降; 但如果另一边 maker rebate / taker fee 没有同步纳入,回测还是会高估。

6. 这条思路怎么 desk 化

6.1 正确的时间尺度:主看 1m / 3m5m 只做统计,不拿来当主触发

这条线本质上是盘口 pocket,不是 bar-pattern。

所以最自然的读法是:

6.2 它更像“执行型 stat-arb”,不是“方向型信号”

这类 alpha 的研发顺序,不应该是:

  1. 先搞复杂模型;
  2. 再看能不能成交。

而应该反过来:

  1. 先定义 可成交净价差
  2. 再看 pocket 有没有足够频率;
  3. 再看延迟 / 滑点 / orphan leg 后还能不能活;
  4. 最后才考虑做更好的 routing / threshold adaptation。

7. 这份 repo 最重要的 desk 化结论

7.1 这是一条完整 raw alpha,不是 filter

这点要说清楚:

它自己就是 alpha 本体:

same-contract cross-venue quote gap reversion

7.2 但 repo 的默认阈值不能直接照抄

默认 threshold = 10 是绝对价格单位,不是 bps。

这会带来两个问题:

  1. 不同币种不可比:10 美元对 BTC 和对小币完全不是一回事;
  2. 不同波动环境不可比:同一币在高波和低波时,10 美元也不是同一层级。

所以对 desk 来说,第一步不是回测全 universe,而是把 admission 改写成:

7.3 repo 真正值钱的是“单腿风控状态机”,不是那两个 10-unit threshold

这份材料最该留下来的,不是:

而是:

也就是说,对 desk 最值钱的不是参数,而是这条 alpha 的 execution grammar。

8. 下一步怎么测

实验 1:先录可成交净价差,而不是录裸 BBO

对每个时点都记录:

然后定义:

先看:

实验 2:做事件窗,不急着先做“回测收益曲线”

对所有 gap_exec >= θ 的时刻做 event study:

这一步最能回答:

它到底是真回归,还是只是经常一闪而过,根本来不及补第二腿。

实验 3:把 legging risk 直接写进模拟

至少做 3 档延迟:

并模拟:

如果一加延迟边就消失,这条线就只适合更低延迟的基础设施,不适合当前 desk。

实验 4:把阈值从绝对值改成标准化口径

第一版先测:

目标不是找 best cell,而是看:

是否存在一整片在成本后仍然活着的参数 pocket。

9. 结论

这份 repo 值得进研究池,但要用对读法。

它真正该留下来的不是:

而是这条对短周期 desk 非常直接的 raw alpha:

same-contract perp 在两个 venue 的盘口会短时失衡;如果你能在一边拿到 maker、另一边迅速 taker 对冲,就有机会赚到 quote gap 的回收。

当前最关键的 desk 结论是:

  1. 这条 alpha 本体成立,而且不是 filter;
  2. repo 已经把它写成完整的 entry / hedge / timeout / risk shell;
  3. 真正该先测的不是“10 这个阈值对不对”,而是 after-fee executable gap 在真实延迟下有没有厚度;
  4. 这条线最自然服务于 1m / 3m 高强度 alpha intake,而不是 15m bar-pattern。

如果只给一个最小动作:

先录两边 BBO 7 天,做 after-fee executable gap 的事件窗和延迟敏感性。

这一步最省时间,也最能决定这条 same-contract cross-venue alpha 值不值得进下一轮复现。

10. Sources

  1. wavyjay1, 2026, _cross-exchange-arbitrage_, GitHub repository, Venue: GitHub, DOI: N/A
  1. Lighter public orderBooks endpoint, public REST market metadata / order book listing
  1. edgeX public trading / quote endpoints as referenced in repo config

11. 这篇 digest 产出物