Nic*_*las 47 algorithmic-trading low-latency
你一直听说高频交易(HFT)以及算法的速度有多快.但我想知道 - 这几天有多快?
更新
我不是在考虑交换机和运行交易应用程序的服务器之间的物理距离造成的延迟,而是由程序本身引入的延迟.
更具体一点:从应用程序到达应用程序的事件到该应用程序的时间是什么时候在线路上输出订单/价格?即交易时间.
我们在谈论毫秒级吗?还是亚微秒?
人们如何实现这些延迟?在汇编中编码?FPGA的?好旧的C++代码?
更新
最近发表了一篇关于ACM的有趣文章,为今天的HFT技术提供了很多细节,这是一个很好的阅读:
小智 46
我是一家制造和销售基于FPGA的HFT系统的小公司的首席技术官.在Solarflare应用程序上载引擎(AOE)的基础上构建我们的系统,我们一直在通过线路上的"有趣"市场事件(来自ICE或CME的10Gb/S UDP市场数据馈送)到第一个字节之间提供延迟.结果订单消息在750到800纳秒范围内击中电线(是,亚微秒).我们预计我们的下一版本系统将在704到710纳秒范围内.有些人声称略少,但那是在实验室环境中而不是真的坐在芝加哥的COLO并清理订单.
关于物理学和"光速"的评论是有效的,但不相关.每个认真对待HFT的人都将他们的服务器放在交换机服务器旁边的房间里的COLO上.
要进入这个亚微秒域你不能在主机CPU上做很多事情,除了对FPGA的进给策略实现命令,即使使用像内核旁路这样的技术你有1.5微秒的不可避免的开销......所以在这个领域一切都在玩FPGA中.
其他一个答案非常诚实地说,在这个高度秘密的市场中,很少有人谈论他们使用的工具或他们的表现.我们的每一位客户都要求我们甚至不会告诉任何人他们使用我们的工具,也不会透露他们如何使用它们.这不仅使营销变得困难,而且确实阻碍了同行之间技术知识的良好流动.
由于需要为市场中的"邪恶快速"部分进入异国情调的系统,你会发现Quants(提出我们快速算法的人)将他们的算法分为事件到 - 响应时间层.在技术堆的最顶端是亚微秒系统(就像我们的).下一层是大量使用内核旁路的自定义C++系统,它们在3-5微秒范围内.下一层是那些无法承受10Gb/S线路上只有一个路由器从"交换机"跳出来的人,他们可能仍然在COLO的但是因为一个令人讨厌的游戏我们称之为"端口轮盘"他们在数十到数百微秒的域.一旦你进入毫秒级,它几乎不再是HFT了.
干杯
zmb*_*mbq 24
你收到了非常好的答案.但是有一个问题 - 大多数谈判都是秘密的.你根本不知道它有多快.这有两个方面 - 有些人可能不会告诉你他们的工作速度有多快,因为他们不想这样做.其他人可能会说"夸张",原因有很多(吸引投资者或客户).
例如,关于皮秒的谣言相当令人愤慨.10纳秒和0.1纳秒完全相同,因为订单到达交易服务器所需的时间远不止于此.
而且,最重要的是,虽然不是你所问的,但如果你试图通过算法进行交易,不要试图加快速度,尽量做到更聪明.我已经看到非常好的算法可以处理整秒的延迟并赚很多钱.
好文章,描述了 HFT 的现状(2011 年),并提供了一些硬件解决方案示例,这些示例使纳秒成为可能:华尔街对交易速度的需求:纳秒时代
随着最低“延迟”的竞争仍在继续,一些市场参与者甚至在谈论皮秒——万亿分之一秒。
编辑:正如尼古拉斯亲切地提到的:
该链接提到了一家名为 Fixnetix 的公司,该公司可以在 740 纳秒内“准备交易”(即从输入事件发生到发送订单的时间)。