高频交易系统如何连接交易所

3

我想学习有关高频交易系统的知识。HFT使用什么机制与交易所连接,以及程序是什么(是否需要经过经纪人或直接访问,如果是直接访问,我需要哪些连接信息)。

感谢您提前的回答。


HFT 意味着尽可能靠近交易所。经纪人是一个额外的步骤,他们宁愿不要有。 - DumbCoder
有没有模拟器可以尝试(在没有经纪人的情况下访问股票交易数据)? - RS1
没有一个正确答案。不同的交易所使用不同的协议。有些使用FIX,有些则不使用。 - Grant Birchmeier
谢谢Grant。您是否知道任何模拟器或者我可以使用实时数据尝试高频交易的方法? - RS1
2个回答

8
请注意,HFT引擎中有两种不同的“连接”。第一个是与市场数据源的连接。第二个是与清算资源的连接。正如kpavlov的回答中提到的那样,需要非常昂贵的COLO(共同定位)来尽可能地接近数据源/目标。根据它们的名义延迟,这些COLO资源每月的成本高达数千美元。
在两个连接中,您的交易引擎必须通过供应商(ICE、CME等)的认证来符合其要求。CME的认证过程是自动化的,而ICE则采用人工审核。无论如何,认证都要求您的软件演示对标准的符合性以及网络副作用的自由。
您还必须订阅您的数据源和结算服务,二者都不便宜,定价范围差异很大。在订阅过程中,您将获得服务提供商的技术数据规范——设计交易引擎的关键部分。使用在互联网上找到的旧数据来进行设计会导致后续问题。订阅还可以让您访问提供商的测试站点。就是在这些测试站点上,您可以测试和调试您的引擎。
当您认为您的引擎已经准备好投入使用时,您将开始连接到数据/清算生产服务器。这个连接会把您带进一个阴影之地——端口轮盘。在提供商的网络边缘,并非每个端口的延迟都相同。在这里,您将了解到您可能有最短的延迟,但很少有订单被先填满。传统的负载均衡对此几乎没有什么帮助,CME已经开始部署基于FPGA的系统来确保入站订单的正确时间顺序,但它的部署过程还处于早期阶段。
一旦您运行起来,您就会发现错误可能非常昂贵。如果你在市场预开事件之前下单,订单将自动被拒绝。如果您经常这样做,结算供应商将向您收取非常高的罚款。如果您的系统被确定实施了阻止他人访问的策略等,其他事情也可能使您遭受罚款甚至被踢出服务。
所有主要交易所的网站上都有公共数据和教育资源的链接,以帮助您决定HFT是否“适合您”,以及如何着手进行。

2

通常需要交易所的批准,才能从外部获得访问权限。他们通过防火墙保护他们的服务器,因此您的服务器/网络需要获得授权才能访问。

大多数流动性提供商使用FIX协议或自定义API。您可以考虑开始使用QuickFix实现您的连接器,但是当您的流量增长时,它可能会成为瓶颈。

您需要通过FIX访问的信息包括:

  1. 服务器IP
  2. 服务器端口
  3. FIX协议凭据:
    1. SenderCompID
    2. TargetCompID
    3. 用户名
    4. 密码
    5. 其他字段

1
实际上,HFT盒子通常与交易所共存以提供最小的延迟。这显然是一种非常昂贵的选择!如果您想模拟它,FIXimulator(http://fiximulator.org/)可以配置为自动发送成交等,并且(稍加调整-它是开源的)应该是您入门所需的一切。许多HFT平台发送大量限价单,然后取消或过期未填充的订单,我不认为FIXimulator支持限价单,因此可能需要进行初始调整。 - MD-Tech

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接