策略 · 交易策略

三角套利:BTC→ETH→USDT→BTC的循环利润捕捉方法

三角套利利用同一交易所内三种币种之间的定价偏差,通过BTC→ETH→USDT→BTC的循环路径锁定无风险利润。本文详解原理、参数设置、实战步骤与风险控制。

📅 2026-07-12 · ✍️ 帝门交易

三角套利的核心原理

三角套利(Triangular Arbitrage)是加密货币市场中最经典的套利策略之一。它的核心逻辑非常简单:当三个交易对之间的汇率出现不一致时,你可以通过循环兑换来获得比初始更多的资金。

举个最基础的例子:假设你持有1 BTC,在同一个交易所内有以下三个交易对:

  • BTC/USDT 报价 60,000 USDT
  • ETH/USDT 报价 3,000 USDT
  • BTC/ETH 报价 19.8 ETH(即1 BTC = 19.8 ETH)

按照ETH/USDT的价格,1 BTC应该等于 60,000/3,000 = 20 ETH。但实际BTC/ETH报价只有19.8 ETH。这意味着ETH在BTC/USDT→ETH/USDT路径中被”低估”了,你可以通过以下循环获利:

  1. 第一步:卖出1 BTC → 获得60,000 USDT(通过BTC/USDT交易对)
  2. 第二步:用60,000 USDT买入ETH → 获得20 ETH(通过ETH/USDT交易对)
  3. 第三步:卖出20 ETH换BTC → 获得 20/19.8 = 1.0101 BTC(通过BTC/ETH交易对)

最终你从1 BTC变成了1.0101 BTC,净赚0.0101 BTC,这就是三角套利。

数学化理解

三角套利存在条件:当三条路径的闭环乘积偏离1时:

隐含汇率 = BTC_USDT价格 / (ETH_USDT价格 × BTC_ETH价格)
如果隐含汇率 ≠ 1,则存在三角套利机会

利润率计算:

利润率 = |隐含汇率 - 1| - 三次交易手续费

关键参数设置

1. 监控币种三角

最常见的三角组合:

三角组合交易对1交易对2交易对3
BTC-ETH-USDTBTC/USDTETH/USDTBTC/ETH
BTC-SOL-USDTBTC/USDTSOL/USDTBTC/SOL
ETH-LINK-USDTETH/USDTLINK/USDTETH/LINK

建议优先监控主流币三角(BTC-ETH-USDT),因为流动性最好、价差出现频率最高。

2. 利润阈值

不是所有偏差都值得操作。设置利润阈值要考虑:

  • 手续费:三次交易,每次0.1%-0.2%,总计0.3%-0.6%
  • 滑点:大额交易会推动价格,实际成交可能偏离预期
  • 最低可执行利润率:建议设置 ≥ 0.8%(扣除手续费后还有0.2%净利)

具体阈值计算:

最低阈值 = 3 × 单次手续费率 + 预估滑点 + 最低净利率
最低阈值 = 0.3% × 3 + 0.15% + 0.2% = 1.25%

实际上在Gate.io等大平台,使用限价单的滑点可以控制在0.05%以内,所以0.8%的阈值是可行的。

3. 执行金额

单次套利的金额影响滑点:

  • 小金额(<1,000 USDT):滑点小,但利润绝对值低
  • 中金额(1,000-10,000 USDT):平衡滑点和利润
  • 大金额(>10,000 USDT):滑点显著增加,可能吞噬利润

建议单次操作金额控制在5,000 USDT以内,在Gate.io等主流交易所上这个金额对BTC/ETH市场的滑点影响很小。

4. 检查频率

  • WebSocket实时推送:1秒内检测到价差变化
  • REST API轮询:建议1-3秒间隔
  • 高波动期:加速到每0.5秒检查一次

实战操作步骤

步骤1:搭建监控系统

使用交易所API实时监控三个交易对的价格,计算隐含汇率偏差:

import requests
import time
import numpy as np

def get_ticker(pair):
    url = f"https://api.gateio.ws/api2/1/ticker/{pair}"
    resp = requests.get(url, timeout=5).json()
    return {
        'bid': float(resp['highestBid']),
        'ask': float(resp['lowestAsk']),
        'last': float(resp['last'])
    }

def calc_implied_rate(btc_usdt, eth_usdt, btc_eth):
    # 隐含BTC/ETH汇率 = BTC/USDT / ETH/USDT
    implied = btc_usdt['last'] / eth_usdt['last']
    actual = btc_eth['last']
    deviation = (implied - actual) / actual
    return deviation

def monitor():
    while True:
        btc_usdt = get_ticker('btc_usdt')
        eth_usdt = get_ticker('eth_usdt')
        btc_eth = get_ticker('btc_eth')
        
        dev = calc_implied_rate(btc_usdt, eth_usdt, btc_eth)
        
        if abs(dev) > 0.008:  # 0.8%阈值
            print(f"[ALERT] 偏差: {dev*100:.3f}%")
            # 执行套利逻辑
        
        time.sleep(1)

步骤2:判断套利方向

偏差为正(隐含汇率>实际汇率)时:

  • BTC/ETH被低估 → 买入ETH/BTC路径:USDT→ETH→BTC→USDT

偏差为负(隐含汇率<实际汇率)时:

  • BTC/ETH被高估 → 卖出ETH/BTC路径:BTC→ETH→USDT→BTC

步骤3:快速执行三笔交易

必须快速连续执行三笔交易,不能手动操作:

  1. 第一笔:按确定方向兑换第一对
  2. 第二笔:用所得资产兑换第二对
  3. 第三笔:完成循环兑换

使用API的批量下单功能,确保三笔交易在1-2秒内完成。关键是用限价单锁定价格,避免市价单的滑点。

步骤4:记录和复盘

每次执行后记录:

字段说明
执行时间精确到毫秒
三次报价各交易对的bid/ask
实际成交三笔订单的成交价
预期利润基于报价计算的理论利润
实际利润扣除手续费和滑点后的真实利润
延迟从发现到完成的时间

风险管理要点

1. 速度风险

三角套利的窗口通常只有几秒到几十秒。手动操作几乎不可能捕捉到。

  • 必须使用API自动执行
  • 网络延迟控制在50ms以内
  • 使用WebSocket而非REST API获取实时价格
  • 服务器建议部署在交易所同区域机房

2. 滑点风险

三笔交易的滑点会叠加:

  • 预估滑点:每笔0.05%-0.1%,三笔叠加0.15%-0.3%
  • 应对:限制单次金额,使用限价单而非市价单
  • 但限价单可能无法成交,需要在速度和确定性之间权衡
  • 建议使用IOC(Immediate or Cancel)限价单

3. 手续费侵蚀

  • 三笔交易手续费叠加约0.3%-0.6%
  • 如果交易所支持VIP折扣或GT抵扣,优先使用
  • Gate.io使用GT代币抵扣手续费可降至0.1%以下,大幅提升套利空间
  • VIP6级别手续费可降至0.02%,几乎消除手续费障碍

4. 流动性风险

  • 非主流币三角的流动性差,价差大但成交量小
  • 优先选择BTC-ETH-USDT等高流动性三角
  • 避免在小币种三角中使用大金额
  • 检查订单簿深度,确保5,000 USDT金额不会穿透多层订单

5. API故障风险

  • 三笔中任何一笔失败都会导致仓位不均衡
  • 设置应急方案:手动补单或暂停后续交易
  • 监控账户余额变化,发现异常立即停止
  • 建议设置”安全开关”,API连续失败3次后自动暂停

适用场景分析

场景适用性说明
高波动市场⭐⭐⭐⭐⭐价差频繁出现,机会最多
低波动市场⭐⭐价差小,手续费可能吞噬利润
主流币三角⭐⭐⭐⭐⭐流动性好,滑点低
小币三角⭐⭐⭐价差大但流动性差
人工操作几乎不可能手动捕捉
API自动化⭐⭐⭐⭐⭐必须用程序化方式执行
新币上线初期⭐⭐⭐⭐定价偏差大,机会密集

进阶技巧

  1. 多三角并行监控:同时监控5-10个三角组合,增加机会捕捉率
  2. 深度加权计算:不仅看最新价,还要检查订单簿深度,确保能成交足够金额
  3. GT手续费抵扣:在Gate.io持有GT代币可降低手续费至0.05%,显著提升套利利润空间
  4. 延迟优化:将API服务器部署在交易所附近机房,降低网络延迟
  5. 动态阈值:高波动期放宽阈值(1%),低波动期收紧阈值(0.5%)

常见误区

  1. 误区:三角套利是无风险的 → 实际上滑点、延迟、手续费都是风险
  2. 误区:手动可以捕捉三角套利 → 窗口只有几秒,必须自动化
  3. 误区:价差越大越好 → 大价差通常伴随低流动性,难以成交
  4. 误区:只在同一交易所做三角套利 → 实际上跨交易所三角套利也存在,但提币延迟是新挑战

总结

三角套利是加密货币市场中最接近”无风险”的策略,但”接近”不等于”零风险”。速度、滑点、手续费是三大敌人。成功的关键是自动化执行和严格的利润阈值过滤。对于有编程能力的交易者,三角套利可以作为日常策略组合的一部分;对于纯手动交易者,三角套利的实操价值很低,建议转向其他更适合手动操作的策略。

更多实战方法见帝门交易

⚠️ 风险提示:本文内容仅为站长经验分享,不构成任何投资建议。币圈波动大,请独立判断、严格止损。

同类文章推荐