CCXT 领域级重点实验室🚩

数字货币量化系统 CCXT 框架实战三角套利 | 本地链接 | 课程地址 | 源码****

CCXT中文文档 | CCXT英文文档

CCXT公有API课程 🚩

CCXT私有API课程 🚩

****CCXT Example - Github 🚩

CCXT文档CCXT手册

数字货币量化系统 CCXT 框架实战三角套利

本篇博文将使用CCXT来进行三角套利实战。

原理

针对同一个币种,由于计价币种(市场)不同而带来的价差进行套利。

BTC/USDT

  • 持仓 10000 个USDT

  • 可买入 0.7052 个BTC(10000/14179.95)

BCH/BTC

  • 可买入 4.0824个BCH(0.7052/0.172743)

BCH/USDT

  • 卖出所有BCH,得到 10010.6671 个USDT(4.0824 x 2452.10)

获利

  • (10010.6671 - 10000) / 10000 = 1.06671 ‰

实际套利转化流程: USDT -> BTC -> BCH -> USDT

上边的可以通过简单的套利公式计算出套利收益:

说明: P1 为 BTC/USDT = 14179.95, P2 为 BCH/BTC = 0.172743, P3 为 BCH/USDT = 2452.10, 通过上边的公式即可算的收益率为:2452.10 / (14179.95 x 0.172743) - 1 = 0.00106671,可以看到和我们上边通过每笔交易算出来的结果一样。

三角套利步骤#

P1 表示 A 的价格,P2 表示 ?的价格,P3 表示 ?/A 的价格

注意事项#

  • 行情获取的时刻:尽量确保获取的行情数据是同一时刻

  • 交易成本:三个币的手续费,如果扣除手续费后依旧有利润,那木就可以进行套利

优势#

  • 目前市场上大部分套利集中关注双边套利或搬砖,竞争相对比较少

  • 相对来说,套利空间更大,利润也更多

劣势#

  • 同时监控所有三角套利机会比较难

  • 同时成交的难度更高

  • 对交易系统的并发能力要求很高

代码实战

tri_arbitrage.py

运行结果:

结果:

BTC -> ETH -> AION -> BTC

通过运行的结果我们可以看到,前几个交易对表现非常好,利润率达到了 59.14 ‰,即将近 6%,除去手续费,还是有利可图的。

相关名词说明#

交易对:用一种资产(quote currency)去定价另一种资产(base currency),比如用比特币(BTC)去定价莱特币(LTC), 就形成了一个LTC/BTC的交易对, 交易对的价格代表的是买入1单位的base currency(比如LTC) 需要支付多少单位的quote currency(比如BTC), 或者卖出一个单位的base currency(比如LTC) 可以获得多少单位的quote currency(比如BTC)。 当LTC对BTC的价格上涨时,同等单位的LTC能够兑换的BTC是增加的,而同等单位的BTC能够兑换的LTC是减少的。

base currency:基准资产 quote currency:定价资产

在外汇交易中,每一次交易买卖是同时在进行着的,在买进基本货币(Base currency)的同时也卖出了报价货币(Quote currency)。