这里的每一个答案都至少有四年的历史,我想我会在 2018 年从高频交易/算法交易领域的某个人那里分享一些观点和经验。
(这并不是说这些答案中的任何一个都很差,因为它们绝对不是,但是我认为有必要提供有关最新主题的见解)。
直接回答第一个问题:我们说的是大约十亿分之一秒(300 纳秒)。回想一下,这是程序本身引入的延迟。
关于系统延迟,公司之间总会存在一些差异,但是我将提供的数字是内部 HFT 引擎延迟的常用值。
- 如您在问题中所述,平均而言,此时间的三分之一(300 纳秒)归因于程序引入的延迟。
- 剩下的时间是由于协同定位和与交换、匹配引擎、光纤等相关的其他变量而存在的延迟。
问题在于高频交易系统有多快,以及所涉及的硬件基础设施是什么样的。自 2014 年以来,该技术取得了进步,但与该领域的大量文献讨论相反,FPGA 不一定是 HFT 领域大玩家的首选。英特尔和英伟达等大公司将用他们的专用硬件迎合这些公司,以确保他们从交易系统中获得他们需要的一切。显然,英特尔的系统将更多地围绕 CPU 和 CPU 执行的最佳计算类型构建,而英伟达的系统将更加面向 GPU。
对于现场可编程门阵列 (FPGA) 上的系统,通常使用 Verilog 和 VHDL 等语言。然而,即使对于 FPGA 系统,也不是所有的东西都在汇编中,其中大部分都是高度优化的 C++ 和嵌入式内联汇编,这就是速度的来源。请注意,这适用于使用各种硬件(FPGA、专用英特尔系统等)的公司。
然而不幸的是,这里的最佳答案陈述了一些完全错误的东西:
10 纳秒和 0.1 纳秒完全是一回事,因为订单到达交易服务器所需的时间远不止于此。
这是完全错误的,因为高频交易的协同定位方面已经完全标准化。 每个人都和你一样接近匹配引擎,因此系统的内部延迟非常重要。