halo 的技术博客

返回

先说结论:三角套利的利润不来自数学,来自你比别人快——数学只负责告诉你钱在哪,抢不抢得到是工程问题。BTC/USDT、ETH/USDT、ETH/BTC 三个价格必须满足乘法恒等式,偏离即套利机会,这是教科书里最干净的”无风险利润”。但本文的模拟实验会把这份干净拆得一地鸡毛:无摩擦视角下 50000 个 tick 里有 25392 个”机会”,套上普通 taker 费率(0.1%×3 腿)后机会数归零——一个都不剩;VIP 费率下剩 484 个,而信号触发后每慢 1 秒平均衰减 0.7bp,慢 10 秒净利转负。三角套利真实存在、真实可赚,但它是一场费率、延迟和工程可靠性的军备竞赛,不是价格发现游戏。

一、恒等式与环路:钱在哪#

三个交易对构成一个三角形:BTC/USDT(BTC 的美元价)、ETH/USDT(ETH 的美元价)、ETH/BTC(用 BTC 计价的 ETH)。无套利条件要求:

PETH/USDT=PETH/BTC×PBTC/USDTP_{ETH/USDT} = P_{ETH/BTC} \times P_{BTC/USDT}

一旦不等,就存在一条稳赚的环路。设交叉盘偏贵(ETH/BTC 高于理论值),则走路径 A:USDT → 买 BTC → 用 BTC 买 ETH → 卖 ETH 回 USDT。环路收益率:

rA=1PBTC/USDTask×1PETH/BTCask×PETH/USDTbid×(1f)31r_A = \frac{1}{P_{BTC/USDT}^{ask}} \times \frac{1}{P_{ETH/BTC}^{ask}} \times P_{ETH/USDT}^{bid} \times (1-f)^3 - 1

注意两个细节:每一腿用的是对你不利的那一侧报价(买用 ask、卖用 bid),以及手续费 ff乘三次——这两个细节正是后文全部残酷现实的来源。反方向偏离则走路径 B(USDT → ETH → BTC → USDT),公式对称。

为什么偏离会存在?三个订单簿由不同的做市商、不同的资金流驱动。BTC/USDT 上一笔大买单把价格推上去 5bp,ETH/USDT 和 ETH/BTC 的做市商要各自重新报价——在他们完成再定价之前的几百毫秒到几秒里,恒等式是破的。交叉盘(ETH/BTC)流动性最薄、再定价最慢,是偏离的主要贡献者。

二、搭一个诚实的模拟实验场#

用纯 numpy 模拟 50000 秒(约 14 小时)的三交易对 tick 数据。关键建模决定:ETH/BTC 交叉盘的偏离不是白噪声,而是 OU 均值回复过程 + 偶发再定价跳跃——平时做市商把偏离压在 23bp 内震荡,偶尔(约千分之一概率)因大单冲击跳出 822bp 再花十几秒收敛回来。这比”偏离是随机噪声”的天真假设更接近真实市场的脉冲-衰减结构:

摩擦参数取交易所公开数字的量级:BTC/USDT 价差 1bp、ETH/USDT 1.5bp、ETH/BTC 4bp(交叉盘更薄),费率两档——普通 taker 0.1%、大户 VIP/返佣后 0.02%。

先看无摩擦的环路偏离长什么样:

无摩擦环路偏离

偏离标准差 2.97bp,最大 21.58bp,26% 的时间绝对偏离超过 3bp。图上那些细长的尖刺就是再定价跳跃——每根尖刺都是一次机会窗口,窗口宽度十几秒。看起来遍地是钱?往下看。

三、成本瀑布:费率不是成本,是判决书#

把一次环路的收支摆上台面。毛偏离超过 5bp 的机会,均值 6.9bp;对面站着三项支出:

成本瀑布

  • 跨三腿买卖价差:-3.2bp。每一腿都吃你半个价差,三腿加总。这项还算温柔;
  • 普通 taker 费率:-30bp。0.1% × 3 腿 = 30bp。而毛机会均值只有 6.9bp——费用是毛利的 4 倍多。不用算了,直接出局;
  • VIP 费率:-6.0bp。0.02% × 3 = 6bp,与毛偏离均值 6.9bp 堪堪打平——只有尾部的大偏离才有净利。

扫描净利润门槛下的机会数量,判决更直观:

机会数量对比

无摩擦幻觉:25392 个机会。VIP 费率+价差:484 个。普通 taker:0 个。零。这就是为什么散户手动做三角套利注定亏钱——不是策略错了,是你的费率等级决定了你在开赛前已经输了。三角套利的第一道门槛不是代码,是费率谈判:VIP 等级、返佣、做市商协议。费率每降 1bp,三腿就是 3bp,机会集合指数级扩张。

四、延迟衰减:每一秒都在漏钱#

机会窗口由 OU 半衰期决定(本模拟约 14 秒),你的信号-下单-成交链路每慢一秒,捕获的偏离就衰减一分。实验:在 VIP 净利 >1bp 的 364 个信号点触发,但假设实际成交发生在 lag 秒后,用彼时的价格重算盈亏:

sig_idx = np.where(np.maximum(ra_vip, rb_vip) > 1e-4)[0]   # 信号点
for lag in [0, 1, 2, 5, 10, 30]:
    idx = sig_idx[sig_idx + lag < n]
    use_a = ra_vip[idx] >= rb_vip[idx]                     # 信号时选的方向
    pnl = np.where(use_a, ra_vip[idx+lag], rb_vip[idx+lag]) # 用 lag 后价格结算
python

延迟衰减

衰减曲线冷酷而清晰:0 秒 +4.53bp → 1 秒 +3.81bp → 5 秒 +1.27bp → 10 秒 -1.02bp → 30 秒 -6.50bp。三个刻度值得刻在墙上:

  1. 每慢 1 秒,平均漏掉约 0.7bp——这是均值回复把偏离收走的速度;
  2. 盈亏平衡点在 7 秒左右。REST API 轮询 + 市价单的散户链路(1~3 秒)还活着但很紧张;手动看盘下单(>30 秒)每单稳定亏 6.5bp;
  3. 真实市场比这残酷:本模拟的对手只有”均值回复”这一个抽象敌人,真实市场里跟你抢同一根尖刺的是托管在交易所机房、单向延迟微秒级的做市商——偏离往往在毫秒内被吃掉,秒级窗口只在剧烈行情、对手风控暂停时才出现。

五、完整回测:真实但薄如刀片#

把所有摩擦装进一个回测:VIP 费率、三腿价差、1 秒执行延迟、每次环路后 5 秒冷却(环路执行占用时间)、单次名义 1000 USDT:

回测权益曲线

14 小时成绩单:83 笔交易,总盈亏 +35.33 USDT,胜率 95.2%,单笔均值 0.43 USDT,最大单笔亏损 -0.07 USDT。三点解读:

  • 权益曲线是标准的套利形态:长平台 + 短暂的阶跃上升。钱集中在少数几次大偏离(再定价跳跃)里,平时无事可做。83 笔里贡献最大的前 10 笔占了总利润的一半以上;
  • 95% 胜率不等于低风险。单笔均值 0.43 USDT 意味着一次工程事故——断线、订单被拒、第三腿滑点 50bp——就能吐回几十笔的利润。套利策略的风险不在分布的左尾,在分布之外:系统故障、交易所宕机、提币冻结;
  • 名义 1000 USDT 赚 35 USDT/14h 看着美好,但这是容量幻觉:模拟假设每次都能以盘口价格成交全部名义。真实交叉盘 ETH/BTC 的盘口深度可能只有几千美元,名义放大十倍,滑点就把 4bp 的净利吃干净了。三角套利是典型的”高收益率、低容量”策略——年化百分比可以很高,绝对金额上限很低。

六、三个模拟没建模、但会杀死你的坑#

腿风险(leg risk)是真正的主杀手。 本文的回测把环路当原子操作,真实执行是三笔独立订单。第一腿成交、第二腿被拒(价格移动、余额不足、限频)时,你持有的不是套利头寸而是裸多 BTC——套利策略瞬间变成方向性赌博。工程解法:预先在三个币种上都放余额,三腿并行下单而不是顺序执行(把环路时间从 3×RTT 压到 1×RTT),加上任何一腿失败立刻市价对冲的逃生逻辑。这套基础设施的复杂度是”检测偏离”的十倍。

机会共灭。 模拟里的偏离按固定的 OU 参数收敛,真实市场里偏离的收敛就是其他套利机器人在吃单。这意味着你观测到的历史偏离分布是”所有人吃剩下的”——你上场之后,你也成为收敛速度的一部分,机会衰减比历史数据显示的更快。用历史 tick 回测三角套利普遍高估容量与频次,这是此类策略回测的结构性乐观偏差,加多少滑点参数都修不干净。

手续费币种的隐性敞口。 许多交易所用平台币抵扣手续费(如 BNB),费率折扣以持有平台币为前提——你的”无风险套利”账户里躺着一笔平台币的方向性敞口,其单日波动可能超过套利策略一个月的利润。要么对冲,要么把它计入策略的真实风险预算。

七、结语#

三角套利是市场微观结构最好的一课:它把”无风险利润”这个概念放在显微镜下,让你看清利润被三重摩擦逐层剥皮的全过程——25392 个幻觉机会,费率筛掉到 484 个,延迟再打七折,工程事故随时可能一笔清零。它教的不是怎么赚钱,而是三个更普适的定价直觉:费率等级本身就是 alpha(30bp vs 6bp 的差距任何信号都填不平);延迟是有精确价格的(本例约 0.7bp/秒);回测里的对手是静态参数、实盘里的对手是活人和机器。如果你仍想做:先谈费率,再压延迟,最后写好三腿失败的逃生逻辑——顺序不能反,因为前一项不达标时,后一项的投入全是沉没成本。

风险提示:本文全部数据来自合成模拟,OU 参数、跳跃频率、价差与费率均为教学量级设定;真实加密货币市场的偏离窗口以毫秒计,且交易所 API 限频、宕机、提币风险等未在模型内。本文不构成任何投资建议。

三角套利加密货币:用三个交易对的价差吃掉无风险利润
https://blog.halo26812.eu.org/blog/triangular-arb-crypto
Author halo
Published at 2026年7月25日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨