对话Ⅱ:高新技术在高频交易中的运用及风险控制
2013年12月05日 15:54 新浪财经

  新浪财经讯 由中国期货业协会、深圳市人民政府共同主办的“第九届中国(深圳)国际期货大会”于2013年12月3日至4日在深圳举行。大会以“开放创新·合作共赢”为主题。新浪财经作为独家门户网络合作伙伴全程图文直播本次大会。12月3日下午分论坛③:期货行业IT发展论坛在五洲宾馆A座二层深圳厅举办。以下为对话Ⅱ:高新技术在高频交易中的运用及风险控制讲演实录。

  主持人:很多客户现在交易的频率并不高,量也不是特别大,但是强调必须要和我们专线连接。接下来进行最后一个环节,进行第二个环节的圆桌讨论环节,讨论的主题是“高新技术在高频交易中的运用及风险控制,有请这个环节的主持人

  周鸿颂:首先非常感谢大家这么晚了还跟我们一起交流,我们今天讨论的题目是“高新技术在高频交易当中的应用”,在开始讨论之前,我想说一点,大家如果看过去十年、二十年来,特别在金融行业技术的发展,特别是交易技术的发展,这里面有更多的创新。每次新的创新是由于交易执行本身的特定要求所驱动的。最近几年有很多交易创新,特别是技术上的创新,很大的推动是算法交易和高频交易方面。今天在国际期货大会这样一个场合,我们有这样一个机会能够一块来探讨一下高新技术的发展,特别是在高频交易这个领域里面的应用,我觉得是很值得的。当然在座的几位嘉宾都是高新技术,特别是应用到交易技术当中的专家。他们所提到的观点和新的技术,不仅仅是在高频交易这个领域,往往在金融领域和其他领域都能够应用的。

  今天的圆桌讨论像这样,我先请几位嘉宾首先介绍一下自己,然后我作为主持人,我有一些问题问一下几位嘉宾,针对每个问题会挑一个问题来回答,其他嘉宾可以补充。先从我左边的刘通先生谈起。

  刘通:大家下午好,我叫刘通,很高兴能够参加今天的国际期货大会,我今天将会给大家分享一下我们最先进的网络延迟对网络交易的影响。我过去十几年从事的领域跟金融有很大的距离,我从事的行业都是高性能计算,并行计算,高速网络。过去高性能计算跟金融的关系不是很多,我们用在石油开采、原子能、天气预报等领域。但是随着期权高频交易的出现,迫使我们研究高性能计算研究的厂商进入期货领域。这是我简要的自我介绍。

  柳峰:大家好,我叫柳峰,我1995年大学毕业之后就做交易系统,1998—2004年是自己在美国开一家公司,在2004年的时候被美国一家公司,2007开始是做期货交易系统这块的工作。

  Ari:我们一直都非常关注FPGA的技术,我们希望能够借此提高风险成本和风险管理,同时也非常高兴在这里跟各位专家讨论,介绍我们各自的能力。

  雷志斌:我是来自香港应用科技研究院的雷志斌,我主要是负责网络媒体和安全这方面的研究。

  周鸿颂:我们下面的讨论,我先提几个新的技术,然后针对这些不同的技术做一些深入的探讨。一个是FPGA,或者说是软件硬化的技术。第二个是低延迟技术传输,这和高频交易紧密相关,但是应用的范围不仅仅是局限于高频交易。第三个是算法交易,特别是在期货市场,这个主要是从应用的角度来看技术方面的要求。第四个是金融大数据,这是最近谈得比较多的。首先和嘉宾一块聊一下FPGA这个技术,先从柳峰开始谈起,你能不能介绍一下FPGA这个技术本身的发展态势?能不能跟大家谈一下在应用领域,无论是在国内还是国外现在应用到什么程度了?

  柳峰:大家知道集成电路,一般分成两种,一种是ASIC,其中一种就是FPGA。FPGA属于可编程的,它的好处是程序可以不停地更新,另外有硬件的速度。以后可能也会有AXIC,但因为成本的原因,可能还不会到那个程度上。关于FPGA的应用,主要是分几块,我们在做交易的每个过程都涉及到。交易基本上就几个步骤,一是搜到行情,处理行情。二是处理行情之后要用逻辑产生交易信号,再把这个交易信号送出去,最好有一个相对独立的风控。这几个步骤都可以用到。用得最多的是行情处理,这是有优势的,它做的事情比较标准,把数据的协议转成自己内部的协议,再加上建行情树。第二是产生逻辑这块,一般在FPGA上做得比较少,FPGA虽然可编程,但是从编程整体的周期来说比较长一点,所以一般来说,我们做的非常简单的逻辑,为了速度的原因,会在FPGA上做,但一般是在C++上做得多一点。第三是下单,这块基本上也可以用FPGA来加速,主要是送单子出去的时候可以用FPGA,可以把这个单子送得更快一些。最后一个是最近用得比较多的,就是风控这块,风控用FPGA来做的话非常好,第一速度比较快,第二容量能够处理得比较多一点。现在主要是在行情处理和风控这块相对比较多一些。

  周鸿颂:你觉得FPGA现在在国内用得比较多吗

  柳峰:国内用得还不是特别多,行情这块,交易所的原因,数据量比较少,这是一个原因。第二,在风控这一块,特别是8月16日的事件出来以后,大家的意识就更强了,特别是在高频交易说,大家拼的是速度,虽然交易所这块我们是无法控制的,但是可以在进入交易所之前做得越快越好。但是从券商或者期货商的角度来说,必须得由客户提供高频交易。另外又不想冒这个风险,这看起来是两个相对矛盾的数据。我觉得现在风控这一块下一步会做得比较多一些。

  周鸿颂:Ari,我想向您请教一下,FPGA在美国交易所,CME用的是比较多,已经是一个相对比较成熟的技术了。能不能请您提供一些使用的细节?无论是从交易所的角度来看,还是从券商、期货商甚至机构投资者,他们在使用时的具体案例。

  Ari:期货有很多很好的技术,不仅改进可编程性,FPGA编程是很难的,要使用硬件描述的语言,或者是修改版的语言,非常难找到编程人员来做,这也是刚才柳峰讲到人们一般是用FPGA来做具体小的程序。我们CME集团感到非常兴奋的是刚才柳峰讲到的机会。我们集团提供两个能力,一方面可以提供越来越来越多的可预测性和一致性方面,另一方面能够提供风控管理,同时降低总体的管理成本。但是有一个挑战是很难找到编程人员,我也比较好奇别人是怎么想的。FPGA的编程能力从之前几个月,现在几个星期就可以,包括行情数据、订单和逻辑等都可以在同一个芯片上加进去,而不需要通过软件来解决。我们也越来越多地发现在美国和欧洲的客户也越来越多地使用FPGA,包括他们自己的编程,还有利用第三方的编程处理市场行情的数据。但都面临相同的挑战,很难编程,很难找到这方面的人才。其实每个人都可以对FPGA用软件知识进行编程,而且可以很快速的,在几个星期内就可以做得完,通过应用来运行,直接和交易所连接起来。

  我还想补充一点,通过今天的会议可以看到所有大陆的交易所非常快速地改进他们的技术。今天你可能觉得我的速度已经够快了,但是在接下来的时间,我相信所有的交易所会有根本性的改进,那对于我们来说,我们要确保超前于他们,如果不超前于他们的话,交易所比你变化快的话,你的竞争对手会打败你,让你将来很难生存下去。所以从我的角度来讲,技术会变成商品。把各种各样的能力连接在一起,很多厂商可以快速地利用他们的优势,刚才已经不是讲技术了,而是讲商业能力成为你的模式,你有怎样更好的定价来支持。技术不再是瓶颈,风控和可预测性之间的平衡不需要再看,有几千个服务器能够计算风险管理的平衡。我们现在面临的技术可以让我们有很好的未来。

  周鸿颂:刚才到了FPGA这个技术,据我了解一个是计算的速度,另外一个是通信这方面。关于通信这方面,特别是对海外市场有些了解的话,最近几年在低延迟的信息通信方面,可以说和FPGA类似的软件硬化有很多新的进展。刘通,据你了解,在低延迟数据传输和储存,特别是和软件方面,可以说我比较关心的起来人们利用低延迟的数据传输速度,如何进行高频交易或者量化处理,这方面你能不能谈一下国内和海外的现状,还有你对这方面技术的发展,以及和FPGA技术类似的技术是不是能够初步融合,能否谈一下你的看法?

  刘通:FPGA是一种加速器,它使你的计算能力更快,如果单点运行很快,通讯很慢的话,因为我对金融不是特别在行,但是我听到包括美国华尔街有知名的IT专家提到现在可能有CLO。现在的软件处理速度,过去是毫秒级,现在可以做到微秒级,甚至可以做到纳秒级。你们在做程序交易,做高频交易,你们会意识到每一个毫秒甚至微秒都会产生巨大的价值差异。每一点点的延迟降低都会对你产生重大的影响。提到延迟,我们可以分析一下延迟到底由哪些部分组成。我们知道技术演进得非常快,我们要保持在领先的地位,我们需要一个高速网来匹配高速CPU的环境。现在的网络可以给你提供微秒级、纳秒级的延迟。对于高频交易来讲,在国内已经开始有这种高频交易平台开始触及到高速网络。大家已经意识到了非常快的网络会对你的交易系统产生非常大的影响。我们用到的技术不是专有的技术,是基于工业标准的高速网络的设备。我们当时研发的目的就是为将来有一款更高速的网络可以弥补现在的以太网的弊端,所以有了高速的网络。现在低延迟的网络已经被很多公司采用。还有一种非常核心的技术能够保证你的软件充分利用硬件延迟的特点。我们可以考虑应用新的传输协议。最近我们需要做高频交易,需要创新研究更高速度低延迟交易平台的时候,我们需要换一种思维取代以前的,用最新的RDMA这种传输方式可以下降延迟90%,这种性能的差异是非常巨大的。而且提到延迟,RDMA给大家带来的好处,我们不会增加你的难度,因为研发技术会考虑到不希望大家把以前的软件重新做一个开发。我们会有相应的中间层的,把原来的软件转到RDMA的层次,充分应用到硬件低延迟的属性。刚才我提到几百纳秒的延迟,如果你的软件需要充分发挥硬件的特性,就需要利用RDMA这种先进的技术。网络上有很多专有的技术,我今天不花太多的时间跟大家讲。但是我可以给大家一个新的方向,新的网络技术能够给大家带来纳秒级的延迟,这会使你的观念进一步延伸。以前从毫秒到微秒是一个跨越,现在向纳秒跨越,可能大家关心的级别还是毫秒,虽然将来系统的不断扩大,纳秒级的延迟将会给你带来更具有竞争力的平台优势。

  这是网络延迟对你们交易平台的影响,至于国内和国外,大家除了关心网络平台的性能,大家可能会问另外一个问题,这个技术我第一次听到,做交易平台注重两方面,第一注重速度快,第二要稳定性。这肯定有稳定性在里面,我可以有信心地告诉大家,这是非常稳定的网络,可以被高频交易所应用到的新兴技术。

  柳峰:我把刘总刚才说的场景说得更加清楚一点,我们一般说低延迟其实有三块,第一个是从数据中心到数据中心的通讯,刚才刘总说的是进入数据中心之后内部网络的连接。最后还有一道,你的程序怎么样从软件或者策略里面把这个东西送到交易所。还有低延迟,一般来说交易所数据中心以前都是用光纤线多一点,但现在为了做到极端,美国是用短波通讯,短波的速度比光纤更快一些,但是不好的地方是不是那么稳定,有时候风稍微大一点或者下雪等有可能会搜得不全,但是从速度上来说是最快的。现在包括在数据中心自己的网络端里面也有这个技术,可以用短波,不是通过光纤,从速度来说可以做到最快。还有连到交易所那块并不是由你内部的系统决定的,中国交易所就要求你用API,你必须得用他的API。

  周鸿颂:刚才我们提到FPGA加速,也提到低延迟,通信的速度越来越快的话,其实它延伸出来一个很重要的结果就是数据量极具增加。在这点上我想问一下雷总,我知道您是金融大数据的专家,想请您谈一下这个新的技术,在金融领域,金融大数据是什么概念,在您看来金融大数据在交易技术里面的应用到底体现在什么地方?

  雷志斌:今天谈了很多,我觉得都指向一个,是大数据量变到质变的过程。最近大家看各行各业在不同的应用上都看到一些新起来的公司用一些技术,不同的地方是动态的数据。过去相对来说数据量可以很大,但是相对静止的,是进到数据库里面处理。动态是流,数据没有静止的时刻,流的处理本身不是点,是一条线,拉长来看是一个面。过去所有数据库的技术,本身的结构、设计都已经不能很好地处理这些问题。所以从理念上就放弃了过去静态数据的处理,过去的数据挖掘是事情发生了再看发生了什么事情。有没有在发生的时刻就马上做决定,而且是低延迟的,而且保证是不出错的。这种情况下用的最多的是流数据库,在动态的情况下怎么样挖掘,这种挖掘本身,从技术上来讲有一些突破。前面教授提到,数据多到一定程度会改变量变到质变的过程,没有数据会使得很多神经网络本身能够达到的空间点是有限的,所以做出来的结果不尽人意。但因为faceboo、谷歌[微博]这种大的数据集成,所以神经网络可以多几层,这样做出来的学习机器是非常有用的。我们把这个问题放到流数据来看,过去第一我们没有这么高频的交易和数据供系统学习,第二也没有强大的硬件功能能够反馈,第三建立的很多模型能够接触到空间里面的点是非常有限的,所以发生错误的概率非常高。如果把这样的技术放到金融大数据库里面能够产生的影响是非常巨大的。很多技术由于有了强大的计算能力都可以用到金融创新上面来,包括我们说的怎么做风险控制。风险控制讲得浅显一点就是模式的识别,如果你能够发现这个模式在库里面出现的时候,你去追踪它的时候,这个风险就可以降下来。如果你将数据作为一个流来看的话,很多追踪性,人识别模式有一个过程,我们从婴儿开始到这么大,是经过很长时间的训练。在大数据里面来讲,最大的是在流数据库上变成一些工具,使得做交易策略的交易员和开发人员可以利用这些工具。这是将来会有很大影响的方向。

  周鸿颂:在大家问问题之前我有两个问题也想请教一下诸位,大家刚才介绍各种各样新技术的时候,我一直在想这些东西对中国的交易是不是真的有很大的用处?现在中国的交易行情数据最快的是期货领域,从交易所过来是几百毫秒的量级。如果市场行情500毫秒才公布一次,里面很多行情,比如交易的量、交易的价格、订单的价格并不是像海外市场一样每一笔交易、每一笔订单都知道。大家所知道的FPGA加速技术,低延迟的技术,到底它的作用在什么地方?对于很多技术的使用者来讲,这些新的技术价值在什么地方?还是最后所谓的军备竞赛,别人买了,我也得买,大家怎么看这个问题?

  雷志斌:我觉得这是一个很好的问题,这个事情在网络上发生过,很早就有人提出是否需要这么高的带宽。20年前讲通讯的时候说需不需要这么多的CPU。这里面有一点,你真的要处理这么大的系统化问题的时候,不是说处理一两个客户或者是一两个市场。举一个例子,真正做交易的是10%,但为什么很多做数据挖掘的去Twitter上面,到谷歌上面,对全世界几十亿的人挖掘信息?这说白了事物是关联的,人是群体的社会,会跟踪,利用这个技术本身有一个纵向的,能够把市场不同的交易以及场内场外,以及人们在互联网上连接在一起,整个交易也不能脱离客观环境。比如今天家里发生了什么事情影响了他的心情,影响了团体的心情。我们刚才提到在高频交易里面这些看不到,但是高频交易也不是独立于其他存在的系统,它跟后面的数据挖掘和后面的系统是相关的。把这些放到整个大的环境来看,后面的挖掘,智慧的增加永远是不够的,永远是需要更多的CPU。

  Ari:我也想描述一个场景,我们可以想象一下中国国债期货,利率变化了,结果对期权的价格产生影响,而且会影响CSI300的价格,从而影响CSI300的期权,同时会影响CSI300股票的价格,也会影响黄金(1212.90, 4.20, 0.35%)、白银(16.63, 0.01, 0.06%)的价格,同时会影响到铁矿石的价格和其他的价格,所有相关的期权价格都会受到影响。如果有这样的变化,我们看美国、欧洲,技术已经商品化了,你必须要考虑这个未来,不要害怕创新,要提前看。不仅看中国大陆市场向什么方向发展,而是要看国际市场。我描述的场景是非常简单的。另外一个方面就是我们所讲的技术不仅是高频交易,我们说到风控,这也适用于任何类型的交易。即使我们是在小型领域进行交易,这里面也有管理,有时候一天要进行两次的清算管理。这不仅是FPGA,不仅是进行高效编程,而是要考虑整体,包括数据中心,包括精算的风控,大数据等等,这些都是关联在一起的。虽然期权看起来比较远,但是期货在这里面,而且我们将来的机遇会越来越明显,而且越来越重要。

  刘通:我想补充一些我的想法,我非常赞同前面两位提到的观点,在中国现实这个状态,我们可能在期货交易的量上面,或者是政府的限制上没有像国外这种理想的程度,但是有另外一个事实,我们国家可以很快速度地创建更大的市场。我们今天所预想的期货交易情况可能几个月以后就改变了。我们需要为将来的变化准备好,而且是近期的变化。我们没有谈5年以后的变化,可能是今年或者是明年就会产生的变化。现在的一些限制条件可能将来就不存在了,先进的技术永远会给你提供更有竞争力的先天优势。另外一点,不管外围的延迟增加多少毫秒,只要我们给你提供了比别人更有优势的延迟优势,你就是比别人更有优势,不管百分比是千分之一起来万分之一,你也是有优势的,也许这万分之一就会给你带来差异。

  当我们考虑优秀平台的时候要考虑到更快地把数据提取出来,有更多的数据能够给我,做出及时的反映。我们一开始提到大数据是一个池,是一个海洋,但真正产生更打价值的是数据流,我们要进行动态数据分析。可能今天你固有的思维方式或者现代的工作模式没有意识到这个情况,没准下个月就变了。我们需要在基础架构这个层面做好准备,为将来在其他相关外围领域的创新做好相应的准备,这是最为明智的选择。

  柳峰:我们必须得往前看,特别是期权产生以后所产生的数据量是没法想象的。刚才周总的问题是这些对中国有没有意识。我觉得要从两方面来看,第一是不是没有意识就不去做了。如果为了速度,你必须越过一些风控,为了抢速度,但这是非常危险的事情。只要大家在做的话,大家会找到越来越快的方法。只要你想参与这个市场,做这方面的事情,就等于你被逼着做得越来越快。就像军备竞赛一样,这其实也是没有办法的事情。另外一个是用户的需求,特别是从券商、期货商和交易所的角度怎么样把系统做得更好,把风控做得更好。我们刚才说的那些低延迟技术,包括FPGA,包括最快的网络,这对用户的体验来说没有什么差别,而且还可以达到用户所需要的业务要求。我们做IT的可以睡得更安稳一些,知道中间是有保护层的,而且是经过测试的。从这个意义上来说,第一它有很大的意义,第二不管有没有意义,都被逼着往这条路上走。

  周鸿颂:谢谢诸位,下面还有一个问题,如果回到我们的题目,大家都知道高频交易最近一两年以来,大概是从2011年以来面临很大的压力,在2010年5月6日出新闪电崩盘,就是把高频交易曝光在人们的视线之中。海外的统计数据,高频交易的策略在2012年整个市场的大小,据估计也就20亿美元左右,比2009年的时候低了很多。同时监管力度逐渐加大。我想问一下诸位,从Ari的角度讲,从交易所的角度来讲如何监管,如何配合?对其他三位我想问一下,从技术的角度来看如何为监管部门提供有力的支持和帮助?

  Ari:今天上午在开幕式中有一位嘉宾讲到过,就像小汽车的刹车,其实它的目的是为了让车开得更快。对我们CME集团,我们关注的一点就是风控,尤其是市场的控制。在股票市场没有什么时候要停下来的概念,就像断路器一样,或者最大的上限值。我们CME说的市场控制就是让市场做出响应。风控是非常重要的,不仅是交易前的控制,而且交易后的控制也是非常重要的,要确保刹车,能够最大程度降低潜在的问题,也可以确保交易所的功能支持实体经济驱动这方面的发展。

  柳峰:我从交易的角度来说,中国跟国外的交易所很大的不同是中国的交易所做的事情非常多,大家开的账户都是在交易所开的,所以交易所必须对你做很多钱够不够,保证金够不够。有一部分原因,中国交易所反应速度比较慢,但这也是不公平的,就是把苹果和橘子比,交易所做的事情非常多。国外的只是撮合的引擎而已。通过上次闪电崩盘之后,风控的意识增强了。现在交易所在做的时候,刚才Ari提到CME也开始做风控了,并不是所有的东西进来就一股脑地收进来。要在前面做一些风控,但这个风控不是做到账户级别,而是把乌龙的问题解决,比如明显的交易数量不对。美国交易所又是互相竞争比较激烈的,每个股票可以在纽交所交易,也可以在纳斯达克[微博],所以他们的延迟非常低。我们开发一种基础是做一种很快的乌龙值的风控,大概是200—300纳秒之内就实现。这基本能够把大多数的问题都解决掉,而且不会影响到交易所的速度。

  Ari:你说得非常好,中国的监管确实是超前的,我们再看美国,他们都是交易相同的股票,他对股票没有任何价值,只是压力而已。

  刘通:从一个网络公司来讲,我们换一个角度来思考,网络给大家提供了一个工具,提前发现风险以后,我们怎样很快地执行弥补错误的反应速度,网络可以作为一个工具让你更快地发现有问题出现,发现问题以后有更快的速度执行这种行为,作为一种工具我们可以尽量地避免由于一些乌龙值现象产生的影响,将它降到更低的程度。我们只是一种辅助工具,使大家更快地发现问题。

  雷志斌:这是非常好的问题,也是金融大数据里面比较前沿的话题。我们发现出现问题之后,基本上是头痛医头,脚痛医脚。当出现问题以后设一个域值。数据是一种自适应的学习,没有出现问题之前你也不知道到底是怎样的。这时候你再去用模式识别的方式,这样即使你不知道什么时候会引起问题,但你至少知道有什么线索会把你带到这些地方。当线索出来的时候你就要做一些事情,你可能做一些备份或者其他的事情。这跟网络上面做病毒识别类似的,病毒传输是很快的。我们说的学习算法也要做同样的事情,我不知道什么方式会是病毒,直到出现以后发现就太晚了,已经被感染了。你唯一能做的事情是尽量保持警觉,出现事情的时候相应地采取措施。

  周鸿颂:我们时间基本上用完了,下面有没有问题?我们给一个问题。那好,最后谢谢四位嘉宾。我特别同意雷总的看法,技术是不断地迈进,如何利用技术做好分析是很重要的。最后谢谢大家!

  主持人:再次感谢各位专家的精彩言论,我们今天的论坛结束,我们明年再见,谢谢!

高频交易的技术与设备

上期讲了高频交易的概况,这期谈谈高频交易的技术和必要的设备。

基本上我们可以把高频交易所涉及的IT技术分成三部分:

1)交易数据在电脑外的加速,就是如何快速地把交易数据(主要是实时行情数据和订单信息),联接和推送到运行程序化交易策略的电脑。

2)交易数据在电脑内的加速,即如何在电脑内部把交易数据最快地传到交易策略程序。

3)其他数据的逻辑调用。其他数据主要是指历史行情数据、基本面方面的信息数据以及统计信息等。简言之,就是如何快速地获取程序化交易策略下单逻辑所需要的其他判断数据。

上面说的主要是行情数据从交易所到程序化交易策略的这个方向,订单的发送和接收是双向的,可能因为通讯协议的不同又有些差别,但基本差不多。下面以美国高频交易所需的IT技术为例,来具体讲讲IT技术在高频交易上的应用,其他国家地区目前所用的技术也很类似。

交易数据在电脑外的加速基本上是个花钱的活,美国许多交易所已经实现了co-location 的业务,客户可以花钱把行情服务器、策略服务器等机器放在交易所撮合引擎服务器所在的数据中心里。从物理距离上来说没有比这更近了。交易所提供的数据支持主要以1G 和10G以太网接口为主,10G的 比1G网络带宽更大更快,当然也更贵些。随着数据量的增加,以后也会应用40G 的InfiniBand 以及更快的以太网。 交易数据从交易所出来后,下面便是交易公司如何部署自己的路由器和交换机了,在这方面也有一些提供高速路由器和交换机的公司,这些器材在网络延迟和速度上要比通用的设备要好很多,当然价格也高了不少。

如果程序化交易策略只交易一个品种,在一个交易所co-location就可以满足要求了,但如果策略需要做多个品种,例如期现套利,这就要涉及到两个数据中心的连接。美国期货的交易重镇主要在中西部的芝加哥,股票现货交易主要在东北部的纽约,由于光速是固定的,两点之间直线最短,谁的光纤最直,谁的物理连接距离最短,谁的速度就最快。美国有家专门的网络提供商叫Spread Networks,它做的事就是花了两年铺了纽约和芝加哥目前为止最直的一条网络,网络连接往返速度只需 13.33毫秒(ms,千分之一秒),比原来的网络少了3毫秒,许多高频交易商都成了它的客户。前一阵,有家叫Mckay Brothers的公司,它宣布自己的无线网络可以达到更快的速度,具体的速度测试数据尚不可知,我们拭目以待。

交易数据从网络传到了电脑后,具体说是到了网卡的网端后,下一步的工作便是把数据传递到交易策略程序了。一般交易策略程序是作为操作系统的用户程序存在。交易数据主要通过UDP与TCP两种方式进行网络传输,下面以UDP包为例,(TCP 更复杂些,但原理差不多),简单来介绍下交易数据在电脑内的传输、解析。交易数据到达网卡后,通过PCI Express 或HyperPort接口,再传到操作系统的内核(OS Kernel)进行TCP/IP 协议栈的解析,再把解析后的数据内容通过socket 接口,推送到用户程序即策略中。然后用户程序再对数据按照规定的格式进行解析,然后应用在策略逻辑中,进行分析,下单等动作。以上的这种方式主要是基于现有电脑的结构的基本做法,配置好的快些,但总的来说整个过程的处理时间,数量级在两位数微秒(us,百万分之一秒)左右。数据量多的时候,操作系统内核 对TCP/IP 的解析所用CPU也消耗很多,处理速度会加速下降。一般来说,1G 的数据需要一个GHZ的CPU进行解析,一般的CPU的速度也就是2-3GHZ,这个比例在数据量大时是相当大的。在整个交易数据内部传递与解析的过程中,能够做文章的主要是TCP/IP 协议栈的解析和业务数据的解析。因为策略逻辑的多样性,对策略逻辑的普遍加速的可能性不大。 TCP/IP 协议栈的解析(TOE,TCP/IP offload engine)和业务数据的解析主要由专用的网卡来做。目前有两种方法来实现,一种是在网卡附带的CPU上进行处理,(IBM有一款网卡附带CELL芯片,也就是SONY在PS3游戏机上用的,功能很强大);另一种是网卡+FPGA的形式,用FPGA(现场可编辑门阵列)来做TCP/IP的解析和业务数据的解析。 FPGA 因为全部是硬件,速度会更快些。理论上来说,用ASIC(专用集成电路)会更快些,但是这个市场是个小众市场,用ASIC并不划算,目前还没有人这么做。通过以上的这些硬件加速的方法,基本上能达到个位数微秒(us)的延迟。用硬件做的好处除了延迟小外,在处理的容量上也有诸多好处。 硬件能够做到无论在数据多少都达到固定的性能, 这是基于电脑操作系统结构没法做到的。

交易数据传递、解析在电脑外部的通道和内部的通道都打通后,剩下的便是对程序化交易策略的分析了。由于交易策略的千奇百怪,也无法有一个统一的模式, 就技术难点来说,主要是对大量数据的分析,尤其是对大量时间序列数据的保存和快速访问。一般的通用办法是用平面文件或者关系型的数据库如ORACLE, MY SQL, SQL Server。这种办法主要瓶颈在于磁盘硬碟的读写的IO速度上。现在有些基于内存的数据库(In-memory database),可以大大加快读写速度。现在内存的价格下降很快,In-memory database 也越来越可行,但是数据多的话,还是会有局限。另外,时间序列数据也有其特殊性,它更适合基于列的操作,而通常的数据库系统都是基于行的操作。在这方面,也有厂家如KDB 提供专门为海量数据基于列数据库管理系统。

另外,高频交易所用的其它周边系统还有信息传输系统(Messaging System),它主要是来传递各个子系统间的信息传送;还有数据储存系统,它主要是来保存每天产生的海量数据以及这些数据的读写。现在如果单单把美国股票市场的数据保存,每天需要超过100G,一个月超过2T。如果要保存多市场多品种的数据,数据量更是惊人。一个好的高频交易平台也包括良好的回测复盘工具,用以有效率地开发调试策略。一天100G的数据跑下来,用平常的方法效率太慢,如果要跑多天的话,更是慢得没法接受。另外,模拟成交也是一个大问题,尤其在超高频的情况下。以后有时间可以专门说说策略调试这一块。

以上说的是做HFT所要碰到的主要技术问题。 其实许多高频的交易的做法和思路都比较公开,很多高频交易策略也大都大同小异。所以一个成功的高频交易策略,除了在交易算法和细节处理之外,更多的是在于他所使用的交易系统的处理能力和速度上。确切的说,高频策略的成功与否,很大程度上取决于能否在众多竞争者中抢到自己要的单子。在美国,高频交易者往往需要花大钱搭建交易网络和购买最好的硬件,使自己能够得到最快的数据和交易通道。同时,他还要不停地跟踪策略的交易情况,调整策略算法逻辑,不断地跟踪策略对行情的反应时间、下单的速度以及交易延迟的情况,试着把策略的反应时间再缩短1微秒。“台上三分钟,台下十年功”,高频交易听起来风光,但真正做起来也是个累活、苦活。你不仅要懂交易、市场微观结构,也要懂电脑的硬件结构、软件技术,这其中的辛苦,“如人饮水,冷暖自知”啊。

(盛立金融软件:Louis Liu 柳峰 )

转载请注明出处,欢迎通过以下方式访问:

官网: http://www.shenglisoft.com/

博客:http://blog.sina.com.cn/shenglisoft

(转)高新技术在高频交易中的运用相关推荐

  1. 高频交易(二)浅谈高频交易中比较成熟的一些交易策略

    今天我们谈谈高频交易中比较成熟的一些交易策略,应用于数字货币市场. 引言: 高频交易是自动化交易的一种形式,以速度见长,利用计算机系统加入人工智能算法,以智能化方式,快速,稳健的短线持仓执行交易.其中 ...

  2. 高频交易(一)应用于高频交易中的对冲策略分析

    在数字货币市场,每天行情如过山车,让抄币者惊心动魄.能否在不关心行情的情况下实现对冲,在市场套利.那么,今天我们就研究一下在高频交易中的对冲策略.我们可以写一套软体,在我们设定目标的情况下,按照我么既 ...

  3. toe网卡 linux c,TOE(TCP offload Engine)在高频交易中的应用

    高频交易是指从那些普通投资者无法利用的极为短暂的市场变化中寻求获利的一种程序化交易方式,投资者为了获取这极为短暂的市场变化,需要搭建超低延时的网络系统,同时,为了最快速度的做出投资决策,需要以最快的速 ...

  4. 《高频交易》读书笔记

    这本书的翻译有很多句子不通,有能力还是读原版的吧. 我只记录了高频交易实践内容,用来为机器自动交易提供参考.包括功能架构.常见缺陷.测试,三部分. 一  功能架构 上图为大多数系统交易平台结构,主要由 ...

  5. 【邢不行|量化小讲堂系列47-实战篇】解密股票Level-2行情——高频交易的基础

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]EOS期现 ...

  6. 高频交易真的提高了市场流动性吗?

    高频交易,也称HFT,通常是使用算法高速执行交易.算法可以以超快的速度执行大量交易以获取盈利机会.高频交易的支持者认为,高频交易可以帮助加强市场流动性,并缩小买卖差价.也有人认为高频交易提高流动性只是 ...

  7. 大岩量化小白科普:什么叫高频交易,什么叫低频交易

    高频交易,顾名思义,就是交易频率非常高.概括来讲,我们把通过计算机以超过人力执行速度从极为短暂的市场变化中获利成为高频交易.往往用来捕捉某种证券买入价和卖出价差的微小变化,或是寻求短时间在市场上更好的 ...

  8. 高频交易对市场的影响

    高频交易是一类特殊的算法交易.高频交易投资者作为市场中的流动性提供者,为市场的形成和交易的达成起到了基础性作用.然而,当高频交易发展过度时,其提供的流动性并不真实,会演变成飘忽不定的流动性,反而有可能 ...

  9. 高频交易到底要多强数学功力?

    现在对于高频交易普遍存在误读,要么认为非常赚钱,要么认为扰乱市场.而实际上,大部分高频策略根本不是赚钱策略,是做市用,提高市场流动性和市场深度的,说白了,是繁荣市场,增强交易所稳定性和国际竞争力的. ...

  10. 外汇量化交易之高频交易策略

    很多投资者对外汇高频交易策略一知半解今日小恩与大家聊聊高频交易策略. 外汇高频交易策略是什么? 字面意思也可以理解,高频率做单的外汇交易方式.高频交易是自动化交易的一种形式,它利用复杂的计算机技术和软 ...

最新文章

  1. XPath与多线程爬虫
  2. java+js上传图片_java+ jsp+js 实现富文本编辑和上传图片功能
  3. TensorFlow学习笔记(一):数据操作指南
  4. JavaScript 函数定义
  5. 检查Red Hat JBoss BRMS部署架构的规则和事件(第二部分)
  6. GO 语言编程 windows 环境搭建
  7. Asp.net三层结构原理与用意学习入门教程(五)
  8. Windows 10 计算器全新升级,支持三角函数运算
  9. 大数据Hadoop集群中常用的任务调度框架
  10. Vendor Prefix:为什么需要浏览器引擎前缀
  11. 精英模具设计师的“葵花宝典”
  12. 讨论《蔚蓝(Celeste)》的设计
  13. 【头歌】重生之机器学习-线性回归
  14. 梁宇轩 mysql 语句学习一 对表的操作
  15. Win32_17集音频和视频播放功能于一身的简易播放器
  16. 一.Docker之springboot+docker swam实现负载均衡
  17. 有关POP3邮件接收服务的介绍
  18. c语言学籍管理系统设计,c语言学籍信息管理系统设计
  19. 【PPT】我在高中讲大数据 by 傅一平
  20. 基于C++代码的UE4学习(四十六)——为坦克开火添加声音系统

热门文章

  1. 易飞ERP系统平台故障
  2. Java se 基础
  3. Asp.net mvc 网站之速度优化 -- Memcache
  4. xposed获取context 的方法
  5. 802.1q VLAN
  6. Visual Studio报错:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值...
  7. scala中的集合框架
  8. Listview+DataPager分页
  9. 20200802每日一句(0729--0802)
  10. Java面向对象思想