第三节:三角套利原理——三种货币之间的闭环路径与汇率乘积条件

三角套利,说白了就是利用三种货币之间的汇率不一致,绕一圈回来赚钱。

我记得刚入行那会儿,第一次听到“三角套利”这个词,觉得挺玄乎的。后来自己动手跑了一遍数据,才发现原理其实特别简单——就是找闭环,算乘积。

3.1 什么是三角套利?

先给你一个最直观的场景。

假设你有1个BTC。你想换成ETH,再用ETH换成USDT,最后用USDT换回BTC。如果这三步走完,你手里的BTC变多了,那就是套利机会。

嗯,就这么简单。

三角套利的本质是:三种货币形成一个闭环,汇率乘积不等于1

核心公式:

如果汇率乘积 > 1,存在正向套利机会。

如果汇率乘积 < 1,存在反向套利机会。

如果汇率乘积 = 1,市场无套利。

3.2 闭环路径的三种类型

我在实际项目中,把三角套利的路径归纳为三类。你想想看,其实不管多少种货币,套路都一样。

类型 路径示例 说明
直接三角 BTC → ETH → USDT → BTC 三种货币直接交易,最常用
跨交易所三角 交易所A的BTC/ETH → 交易所B的ETH/USDT → 交易所C的USDT/BTC 利用不同交易所的价差
衍生品三角 现货BTC → 永续合约 → 期权 → 现货BTC 涉及衍生品,复杂度高

我个人习惯先从直接三角入手。为什么?因为数据好拿,逻辑清晰,适合做原型验证。

3.3 汇率乘积条件详解

咱们用数学说话。

假设三种货币为A、B、C。汇率表示为:

  • A/B:1个A能换多少个B
  • B/C:1个B能换多少个C
  • C/A:1个C能换多少个A

那么闭环的汇率乘积为:

乘积 = (A/B) × (B/C) × (C/A)

如果乘积 > 1,说明绕一圈回来,你的资产变多了。

举个例子:

BTC/ETH = 15.5  (1个BTC换15.5个ETH)
ETH/USDT = 0.0005(1个ETH换0.0005个USDT,即1 USDT = 2000 ETH)
USDT/BTC = 0.0001(1个USDT换0.0001个BTC)

乘积 = 15.5 × 0.0005 × 0.0001 = 0.000000775

等等,这个值远小于1?

别急,这里有个坑。我刚开始做的时候也犯过这个错误——汇率的方向必须统一

避坑指南:

我曾经在写策略时,把ETH/USDT的汇率方向搞反了。结果算出来的乘积总是小于1,我还以为市场永远没机会。后来排查了半天,才发现是汇率方向的问题。

记住:所有汇率必须用“基础货币/报价货币”的形式,并且闭环方向要一致。

正确的做法是:

BTC/ETH = 15.5
ETH/USDT = 2000  (1个ETH换2000个USDT)
USDT/BTC = 0.0001

乘积 = 15.5 × 2000 × 0.0001 = 3.1

3.1 > 1,存在套利机会!

3.4 套利方向判断

乘积大于1,怎么操作?

很简单:顺着路径走

  • 先买A(用你手里的钱)
  • 用A换B
  • 用B换C
  • 用C换回A

如果乘积小于1,那就逆着路径走

我一般会在代码里这样判断:

def detect_triangle_arb(pair1, pair2, pair3):
    """
    pair1: A/B 汇率
    pair2: B/C 汇率
    pair3: C/A 汇率
    """
    product = pair1 * pair2 * pair3
    
    if product > 1.001:  # 加个滑点容忍度
        return "正向套利", product
    elif product < 0.999:
        return "反向套利", product
    else:
        return "无套利机会", product

小技巧:

实际交易中,一定要考虑手续费和滑点。我一般会在乘积条件上加一个阈值,比如1.001或0.999。低于这个阈值,就算有理论利润,实际也赚不到钱。

3.5 三角套利的完整流程图

下面这张图,是我做课程时画的。它把整个三角套利的逻辑串起来了。

三角套利核心逻辑流程图 BTC ETH USDT BTC/ETH = 15.5 ETH/USDT = 2000 USDT/BTC = 0.0001 乘积 = 15.5 × 2000 × 0.0001 = 3.1 > 1 → 套利机会 ✅ 正向套利

你看这个图,三个节点形成一个闭环。每个箭头代表一个交易对,箭头上的数字就是汇率。把三个汇率乘起来,如果大于1,就说明有肉吃。

3.6 实际交易中的注意事项

嗯,这里我要多说几句。理论归理论,实战中坑不少。

  1. 流动性问题:有些小币种,挂单深度不够。你算出来有利润,但一进去就把价格打穿了。
  2. 执行速度:三角套利需要三步交易。如果第一步做完,第二步的汇率变了,那就白忙活了。
  3. 手续费:交易所的手续费、提币费,都要算进去。我见过有人算出来利润0.5%,结果手续费吃掉0.6%,倒亏。
  4. 滑点:尤其是行情波动大的时候,滑点能吃掉你所有利润。

我的经验:

刚开始做三角套利时,建议先用模拟盘跑一周。我当时就是太自信,直接上实盘,结果三天亏了2个ETH。后来老老实实回测了一个月,才把策略调稳。

3.7 小结

三角套利的原理,说白了就是三步:

  • 找闭环(三种货币)
  • 算乘积(汇率相乘)
  • 判方向(大于1正向,小于1反向)

你想想看,是不是很简单?但简单不代表容易赚钱。真正的难点在于执行——速度、成本、流动性,每一个环节都可能让你翻车。

下一节,我会带你用Python实现一个完整的三角套利监控系统。到时候,咱们把今天讲的这些原理,全部写成代码跑起来。


公众号:蓝海资料掘金营,微信deep3321