如何降低交易机器人的延迟?



  • 大多数自动加密货币交易算法,尤其是三角套利和跨市场套利等高频交易算法,对网络延迟很敏感,因为它们被许多人同时使用,降低延迟可以为您带来显着的竞争优势。本文为您提供了一系列策略。

    使

    您无法使交易机器人的延迟低于网络延迟。因此,最好将您的交易机器人放在交易所的服务器附近,即所谓的主机托管服务器。

    对于仅使用一个API服务器的交换,您可以使用该ping命令检查往返时间(RTT),但如果交换使用Cloudflare,则这可能不起作用。最可靠的方法是简单地测试API请求的响应时间,以查看连接速度如下所示。

    import requests
    import time
    start = time.time()
    total_times = 10
    for i in range(total_times):
        requests.get('https://api.coinut.com').json()
    end = time.time()
    print (end-start) / total_times
    

    有些交换机在世界各地的不同地方使用多个API服务器,那么机器人与API服务器之间的连接是延迟的一部分,而另一个延迟源可能来自交换机的API服务器与其核心服务器之间的连接处理订单匹配。对于这种情况,在机器人和API服务器之间测试RTT是不够的,您需要测试实际的订单执行时间以确定放置机器人的最佳位置。

    使WebSocketREST API

    许多交易所都提供。WebSocket的延迟要小得多,因为它在不同的请求之间共享相同的TCP连接,而在HTTP / 1.0上使用REST API需要为每个请求建立TCP连接。

    使用WebSocket的另一个原因是服务器可以主动将数据推送到交易机器人,这使得它非常有效地用于流更新,例如订单簿更新,余额变化或从交换机到机器人的最近交易。使用HTTP将要求交易机器人每次想要从服务器获得更新时发出请求。

    使HTTP / 1.1

    如果必须使用REST而不是WebSocket,请使用HTTP / 1.1。它使得在不同请求中使用相同的TCP连接。

    如果您使用的是Python,可以使用requests以下两个示例中显示的包轻松实现切换到HTTP / 1.1 。

    第一个是使用HTTP / 1.0,其中每个请求构建一个新的TCP连接。

    import requests
    for i in range(10):
        r = requests.get('https://api.coinut.com').json()
        print r
    

    第二个是使用HTTP / 1.1,并且在多个请求之间共享相同的TCP连接。

    import requests
    
    s = requests.Session()
    for i in range(10):
        r = s.get('https://api.coinut.com').json()
        print r
    

    从下面的结果可以看出,第二个运行速度要快得多。

    使

    Python或nodejs便于编写交易算法。但是,它们是脚本语言,因此比计算密集型任务的Golang,Java或C / C ++等编译语言慢得多。如果您正在使用需要大量数值计算的复杂定价模型(例如蒙特卡罗模拟),您可以依靠使用C / C ++编写的库来编写脚本语言(如numpypython),或使用C / C ++编写计算密集型部分作为一个库,然后插入你的python / nodejs代码,或完全从python / nodejs切换到编译语言。

    使用python / nodejs的另一个缺点是利用多核CPU是不方便的,因为这两种语言的解释器只是单线程的。如果您的任务需要多线程,请避免在开始时使用脚本语言。


 








  • 0_1558330551804_TIM截图20190520133517.png

    点击进入课程地址 适用人群

    面向对数字货币程序化感兴趣的初学者,需要有一定的实盘交易和简单的计算机基础。

    课程概述
    数字货币交易市场由于其特殊性越来越受到量化交易者的关注,实际上程序化交易已经是数字货币的主流,对冲做市等策略无时无刻不在活跃着市场。而编程基础薄弱的初学者想要进入这一领域,面对众多的交易所和多变的API,困难重重。发明者(FMZ)量化平台(原BotV)是目前最大的数字货币量化社区和平台,4年多来帮助成千上万的初学者走向了量化交易之路。
    本课程由发明者量化平台官方提供,将涵盖以下内容:
    1.数字货币量化交易简介(已更新)
    2.JavaScript快速入门(已更新)
    3.发明者量化交易平台使用指南(已更新)
    4.发明者量化交易平台编程指南(已更新)
    5.量化交易策略范例详解(已更新)

    据说后面会更新python 的相关入门教程。课程很便宜,适合对量化不懂想有个概念的群体学习。

    如果要说自己拥有一套盈利的量化策略,还是要走很长的学习路。各位加油!

    讨论群:482548322

    阅读更多
  • FXKUNLUN 昆仑国际操盘团队 2019年3月收益报告ℹ 观摩账户地址 (本观摩账户为FX110监管实盘账户-平台KVB昆仑国际) 💹 KVB开户地址 点击链接 ⏺ 4月份 净值收益 9.9% ⏺ 4月份 资金最大回撤率 0.82% ⏺ 4月份 交易准确率 80.08%

    0_1556673557669_1.png

    0_1556673565305_2.png

    0_1556673571653_3.png

    0_1556673578903_4.png

    阅读更多

暂无主题。