背景

我们在前面的图文中介绍了一种跨市场的套利策略:

  • 数字资产量化中的跨市场套利策略

该策略俗称搬砖,只要两个交易所对于同一种数字资产出现价差,就可以进行套利。

三角套利就是利用三种数字资产之间的价格差来获利

三角套利的过程就是规划三角路径的过程,三角路径无外乎两种:

  • 第一种:买入 -> 卖出 -> 卖出
  • 第二种:卖出 -> 买入 -> 买入

比如 BigOne 交易所有 ONE-USDT、ONE-EOS、EOS-USDT 交易对。

如果你手中拥有 USDT,可以通过第一种路径进行套利。即用 A 数量的 USDT 买入 ONE,然后把买入的 ONE 换成 EOS,最后卖出EOS 换回 USDT。在刨除手续费之后,如果最后换回的 USDT 数量超过 A,我们就可以依赖这个路径进行套利。

如果你手中拥有 ONE,可以通过第二种路径进行套利。即卖出 A 数量的 ONE 得到 USDT,然后用该 USDT 买入 EOS,最后用这些 EOS 换回 ONE。 在刨除手续费之后,如果最后换回的 ONE 数量超过 A,我们就可以依赖这个路径进行套利。

详细的流程图如下:


技术分析

以先买入后卖出的方式构造三角套利的路径

假设:USDT 起始数量为 A,交易手续费为:0.1%

Step1:USDT -> ONE

以Q1的价格买入ONE。

  • OneAmount = A ÷ Q1
  • RealOneAmount = OneAmount × 0.999

Step2:ONE -> EOS

以 Q2 的价格卖出 ONE 得到 EOS

  • EOSAmount = RealOneAmount × Q2
  • RealEOSAmount = EosAmount × 0.999

Step3:EOS -> USDT

以 Q3 的价格卖出 EOS 得到 USDT

  • UsdtAmount = RealEOSAmount × Q3
  • RealUsdtAmount = UsdtAmount × 0.999

如果想获得盈利,则需要 RealUsdtAmount > A 即可。

经过简单的推导,我们可以发现该三角套利路径的盈利条件是:

(Q2 × Q3 × 0.999^3) ÷ Q1 > 1.0

以先卖出后买入的方式构造三角套利的路径

假设:ONE 起始数量为 A,交易手续费为:0.1%

Step1:ONE -> USDT

以 P1 的价格卖出 ONE。

  • UsdtAmount = A × P1
  • RealUsdtAmount = UsdtAmount × 0.999

Step2:USDT -> EOS

以 P2 的价格买入 EOS。

  • EosAmount = RealUsdtAmount ÷ P2
  • RealEosAmount = EosAmount × 0.999

Step3:EOS -> ONE

以 P3 的价格买入 ONE

  • OneAmount = RealEosAmount ÷ P3
  • RealOneAmount = OneAmount × 0.999

如果想获得盈利,则需要 RealOneAmount > A 即可。

经过简单的推导,我们可以发现该三角套利路径的盈利条件是:

(P1 × 0.999^3) ÷ (P2 × P3) > 1.0


代码实现

检验是否具有套利机会

static double TestBuySellSell(double q1, double q2, double q3)
{return q2 * q3 * Math.Pow(0.999, 3) / q1;
}

运行先买入后卖出的套利模型

static void RunBuySellSell(double q1, double q2, double q3, double a)
{double usdt = a;double oneAmount = 1.0*usdt/q1;double realOneAmount = oneAmount*0.999;double eosAmount = realOneAmount*q2;double realEosAmount = eosAmount*0.9999;double usdtAmount = realEosAmount*q3;double realUsdtAmount = usdtAmount*0.999;//用USDT换入ONEList<Order> orderOneUsdt = new List<Order>{new Order(q1, oneAmount),};_bigOneUtility.CreateBidOrders(orderOneUsdt, "ONE-USDT");//用ONE换入EOSList<Order> orderOneEos = new List<Order>{new Order(q2, realOneAmount),};//用EOS换入USDT_bigOneUtility.CreateAskOrders(orderOneEos, "ONE-EOS");List<Order> orderEosUsdt = new List<Order>{new Order(q3, realEosAmount),};_bigOneUtility.CreateAskOrders(orderEosUsdt, "EOS-USDT");
}

检验是否具有获利机会

static double TestSellBuyBuy(double p1,double p2,double p3)
{return p1*Math.Pow(0.999, 3)/(p2*p3);
}

运行先卖出后买入的套利模型

static void RunSellBuyBuy(double p1, double p2, double p3, double a)
{double one = a;double usdtAmount = one*p1;double realUsdtAmount = usdtAmount*0.999;double eosAmount = 1.0*realUsdtAmount/p2;double realEosAmount = eosAmount*0.999;double oneAmount = 1.0*realEosAmount/p3;double realOneAmount = oneAmount*0.999;//用One 换入USDTList<Order> orderOneUsdt = new List<Order>{new Order(p1, one),};_bigOneUtility.CreateAskOrders(orderOneUsdt, "ONE-USDT");//用USDT 换入EosList<Order> orderUsdtEos = new List<Order>{new Order(p2, eosAmount),};_bigOneUtility.CreateBidOrders(orderUsdtEos, "EOS-USDT");//用Eos 换入OneList<Order> orderEosOne = new List<Order>{new Order(p3, oneAmount),};_bigOneUtility.CreateBidOrders(orderEosOne, "ONE-EOS");
}

总结

到此为止,有关于三角套利的模型以及具体实现就介绍完了。

由于市场中做市商的存在,这样的套利机会虽然很多,但转瞬即逝。通过手工挂单的方式已经很难满足速度要求了。如果要用该种方式套利,需要写程序让计算机来执行。我上面的代码大家可以作为参考啊。今天就到这里吧!See You!


相关图文

  • 如何利用 C# 实现 K 最邻近算法?
  • 如何利用 C# 实现 K-D Tree 结构?
  • 如何利用 C# + KDTree 实现 K 最邻近算法?
  • 如何利用 C# 对神经网络模型进行抽象?
  • 如何利用 C# 实现神经网络的感知器模型?
  • 如何利用 C# 实现 Delta 学习规则?
  • 如何利用 C# 爬取带 Token 验证的网站数据?
  • 如何利用 C# 向 Access 数据库插入大量数据?
  • 如何利用 C# 开发「桌面版百度翻译」软件!
  • 如何利用 C# 开发「股票数据分析软件」(上)
  • 如何利用 C# 开发「股票数据分析软件」(中)
  • 如何利用 C# 开发「股票数据分析软件」(下)
  • 如何利用 C# 爬取「财报说」中的股票数据?
  • 如何利用 C# 爬取 One 持有者返利数据!
  • 如何利用 C# 爬取Gate.io交易所的公告!
  • 如何利用 C# 爬取BigOne交易所的公告!
  • 如何利用 C# 爬取 ONE 的交易数据?
  • 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!
  • 如何利用 C# 爬取「猫眼电影专业版:票房」数据!
  • 如何利用 C# 爬取「猫眼电影:最受期待榜」及对应影片信息!
  • 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!
  • 如何利用 C# + Python 破解猫眼电影的反爬虫机制?
  • 如何进行代码的重构?以封装 BigOne API 为例
  • 如何利用BigOne的API制作自动化交易系统 – 身份验证
  • 如何利用BigOne的API制作自动化交易系统 – 获取账户资产
  • 如何利用BigOne的API制作自动化交易系统 – 订单系统

技术图文:数字资产量化中的三角套利策略相关推荐

  1. 关于如何构建数字资产量化的投资组合的思考

    Blofin 行业研究团队 作者:王晓妺,Leo 邮箱:bd@blofin.cn 欢迎发送邮件至本邮箱,交流更多行业观点 第一章  背景介绍 随着数字资产量化基金行业的发展,如何构建基金组合的讨论日益 ...

  2. 开始正经谈谈数字资产量化交易

    我是一名程序媛(没错,是媛不是猿),从毕业到现在写了4年程序了(你敢信?),做过嵌入式,做过测试,当然为了赚外快,也偷偷搞了些小项目.不过,从接触到比特币,我就深深的被吸引了,而且在炒币的同时,我一直 ...

  3. 用区块链技术让数字资产互联:他们想打造数字经济的超级金融市场

    ​ Waston 渡鸦区块链专栏记者 内容预读 世界上有 25 亿人无法使用银行,他们开不了储蓄账户,无法获得信用卡, 这些无银行账户的人与全球经济隔离;能够通过银行进行跨国汇款的用户也必须 承担高昂 ...

  4. 技术图文:C# 语言中的扩展方法

    背景 前段时间,在知识星球立了一个Flag,在总结 Leetcode 刷题的第五篇图文时遇到了扩展方法 这个知识点,于是先总结一下. 1.扩展方法概述 扩展方法能够向现有类型"添加" ...

  5. 达观AI+知识图谱技术在数字档案馆建设中的探索

    近十年来,档案管理工作由原来的纸质档案管理转向了电子档案的管理,电子档案的产生对彻底改变了原有的档案管理模式,同时对电子档案的应用是电子政务建设过程中避不开的重要问题.利用人工智能技术对现有档案系统进 ...

  6. 技术图文:C#语言中的泛型 II

    C#语言中的泛型 II 知识结构: 6. 泛型接口 泛型类与泛型接口结合使用是很好的编程习惯,比如用IComparable<T>而非IComparable,以避免值类型上的装箱和拆箱操作. ...

  7. 技术图文:C#语言中的泛型 I

    C#语言中的泛型 I 知识结构: 1. 泛型概述 泛型广泛应用于容器(Collections)和对容器操作的方法中. 从 .NET Framework2.0 开始,微软提供了一个新的命名空间Syste ...

  8. 技术图文:进一步完善自动化交易系统 - 04

    背景 我们在 数字资产量化中的三角套利策略 这篇图文中详细的介绍了三角套利的原理以及代码实现. 在 进一步完善自动化交易系统 - 02 和 进一步完善自动化交易系统 - 03 中利用配置文件的方法,扩 ...

  9. TokenInsightGate.io首届全球数字资产做市商大赛暨第三届量化大赛闭幕 | TokenInsight...

    ↯ 活动回顾 从7月31日至10月10日,两个多月的激烈角逐,18只优秀团队脱颖而出取得各组别冠.亚.季军.10月16日举行闭幕颁奖予以表彰. TokenInsight 本届大赛,TokenInsig ...

最新文章

  1. 编译osdrv的uboot 内核 文件系统(Hi3516a)
  2. 利用ES6进行Promise封装总结
  3. php bootstraptable分页,Bootstrap table分页问题汇总【附答案代码】
  4. SCCM 2016 配置管理系列(Part5)
  5. 病毒周报(081110至081116)
  6. C++静态成员和非静态成员的区别 及修饰
  7. 上海库源电气OrCAD视频教程
  8. 算法设计与分析——回溯法——装载问题
  9. 太多的想法,反而不是什么好兆头
  10. [Flex] ButtonBar系列——labelFunction用户提供的函数,在每个项目上运行以确定其标签...
  11. php代码自定义字段,[原创]栏目自定义字段调用教程及代码
  12. postgre SQL 中的 触发器 (实例应用,如何备份更新之前的差分数据)
  13. 树莓派python编程小车_树莓派智能车AlphaBot教程11:Python 网络编程
  14. 软件测试流程改进的几点看法
  15. UE4蓝图学习篇(一)
  16. [微软中国]秋季校园招聘开启了(可内推)
  17. 微信小程序获取收货地址流程
  18. 可爱精灵宝贝 DP/爆搜
  19. Flash鼠绘入门第十课:绘制娇艳郁金香
  20. 宏旺半导体为你解释手机内存不够用的原因

热门文章

  1. Yamale Python 包受高危的代码执行漏洞影响
  2. 获取手机号码 和IMEI
  3. 10kv电压互感器型号_10KV电压互感器的选型与保护7页
  4. 京东联盟高级API - 京东联盟二合一解析并带出所有此商品的券,解析二合一链接
  5. 【BAT】批处理文件基础(实用)
  6. [文字20091204]佛说--贪、嗔、痴、妒、慢、疑
  7. 释怀于佛教“贪、嗔、痴、念” 与创业初期又存在原罪问题
  8. 音乐发烧友的珍藏超经典CD之一
  9. 解决Mixed Content: The page at https://xxx was loaded over HTTPS
  10. tg群组大全-tg导航-TG中文导航机器人