高频交易系统

作者:董可人
链接:https://www.zhihu.com/question/19839828/answer/28434795
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

“高频交易”是一个挺差劲的名字。按照字面意思,任何能够以较高频率进行交易的系统都可以叫“高频交易系统”。比如说你用VBA写个小程序,连上券商给你的接口,也完全可以按毫秒级进行交易,你也可以说自己开发了一个“高频交易系统”。

不过,按照现在市面上的主流认知,我想大多数人概念里的高频交易系统是这样的:
  • 交易指令完全由电脑发送,对市场数据的响应延时在微秒级(VBA退散)。
  • 系统由专用的软硬件组成,研发时需要大量计算机专家级的工作(散户随便编个小程序退散)。
  • 系统的硬件需要放在离交易所主机很近的位置上,所谓 co-location。并且得到专门的准入许可证,交易指令直接发送至交易所(而不是通过券商中转)。

符合这三点的,就可以叫做高频交易系统。有人说你这三条没有一条在说频率,只能叫低延迟系统不叫高频交易。的确,我再一次深切赞同“高频交易”是一个很差劲的名字。但现在市面上的主流媒体,包括大部分新闻和畅销书在谈到这个话题时,说的就是这种系统,所以我在这里就不纠结字面意思了。

如果对我上面给出的描述仍有疑问,那么事实上还有一个非常官方的定义,来自美国证券交易委员会(SEC)。SEC 也很难给出明确的定义,最终的描述是基于5个特性:
  • 使用超高速的复杂计算机系统下单
  • 使用 co-location 和直连交易所的数据通道
  • 平均每次持仓时间极短
  • 大量发送和取消委托订单
  • 收盘时基本保持平仓(不持仓过夜)

见:

相比起这种形象:


更真实的一面的其实是这样的:

 

除此之外,存在很多妖魔化高频交易的言论,比如:
  • 超强的盈利能力,仿佛高频交易的机器就跟印钞机似的。
  • 纯粹靠交易赚钱,有着神秘的数学模型和尖端科技,精准的预测市场走势,带着无可比拟的优势在市场上呼风唤雨。
  • 利用速度优势割其他机构类交易者的肉,大家认为这是作弊。

回想一下,有没有人对你高谈阔论高频交易提到这里任何一点?你听完以后有何感想,好生羡慕,心潮澎湃,还是满腔愤恨上天不公?别着急,继续往下看,相信你看完这个回答以后,能够建立起一个正确的概念,下次遇到这种人,直接请他闭嘴。特别是那些对高频交易有兴趣,还没入门的朋友,希望你们有一个正确的认识。否则,当你历尽千辛万苦,怀着满腔热情加入一家HFT,以为从此以后你的工作就是对海量数据做高深莫测的数学模型,架起机器冲进市场草割那些无知的低频交易者,白花花的银(da)子(tui)像雪片一样冲进你的口袋,你很可能要失望。

摒除这些错误的观念,这个行业的真正的精髓才能向你展开:偏执的科技至上理念,极其复杂的技术难题,疯狂追求机器极致的性能,以及,高强度的同业竞争。这才是我认为本行业最吸引人的特点,它本身就足够让人着迷了。至于赚钱,建议你把它当作承担压力,努力工作之后的回报,而不是被葵花宝典砸到无意间学得惊世神功,从此纵横股市点石成金,这种神话至少在这个行业是不存在的。

下面来说一说这几条有什么问题。


高频交易的盈利能力很高吗?

传说是这样的:


但现实很残酷。和任何其他行业一样,赚大钱的的确有,赔钱的也大把存在。我想这个行业特别吸引眼球的原因主要是因为它融合了金融和计算机这两个热门词汇,而且确实是一个高科技行业(相信没几个行业会关心光速在不同介质中的区别),很容易给外人一种神秘感。但如果只盯着金字塔顶端的几家公司而下结论,就好像看了乔丹集锦以后就认为所有打篮球的人都能扣篮一样,是不现实的。

 

特别需要说明的是,因为高频交易系统对低延迟的敏感性,研发时需要投入大量的人力物力,要高薪聘专业的计算机专家,花钱买昂贵的硬件,租用专门的微波通信线路。但这一切也不能保证你得到一个预想中的“低延迟”系统。整个系统的设计和开发是一个非常复杂的工程。而且交易系统对于准确性和稳定性要求极高,不够精密的话上线后会出现各种问题,根本无法使用。

如此大规模的投入,很多时候换来的是一个残次品系统。


非常非常多的公司因为搞不定技术问题而赔钱关门。

 

这里有一个深远的问题是,高频交易是一个金融和计算机结合的产业,但同时精通这两者的人才是非常稀少的。金融人士主导的项目会缺乏对技术的判断能力,IT人士主导又会对需求把握不清。在对性能不敏感的行业这可能不是太大问题,可以按照传统的甲方乙方方式解决,有问题慢慢扯皮。但在这个高竞争行业,没有太多时间可以用来浪费在扯皮上。投产的系统可能慢上几微秒就是废物,而那时往往会发现基本的设计就有问题,根本无力回天。这种超高难度的研发压力,其实才是高回报的来源。


高频交易的策略?

有两种策略,做市(market making)和套利(arbitrage),从性价比来说,做市是更好的选择。

做市是指,在市场上充当流动性提供者,通俗的说就是有任何人想买一个东西(比如股票,期货等),你要保证能卖给他,有任何人想卖一个东西,你要保证从他那买。保证的意思就是如果市场上没有别人出头,做市商就必须出来。隐含的意思就是,做市商是所有人的对手盘。

在过去,做市商可能是这样的:


也可能是这样的:

而在高频交易时代,他们变成了这样:

这里需要仔细想一下,一般情况下,如果你想买一支股票,往往是因为你看好它会升值,而你的对手盘跟你交易,是因为他认为会贬值,你们有一个价值判断上的分歧。那么做市商为什么能豪气干云的出头做所有人的对手盘,是因为他喜欢跟别人唱反调吗?

 

当然不是。做市商的策略本质上,是认为市场价格在短期内具有波动性,涨上去的价格会落下来,反之亦然。所以他可以选择承担一定的风险,暂时从你手里把东西买过来,过一段时间价格变得有利时再卖掉。注意这里的风险是真实存在的,没有什么保证价格一定会向着做市商有利的方向变化。时间跨度越大,这种风险也越大。做市商承担了这种风险,并且买过来的东西需要持有一定时间作为库存,来赚取因为波动性而产生的一点点价差(通常是一分两分)。也有更稳妥一些的做法,是通过其他高相关性的产品做对冲,比如买进一只股票的同时卖出它的期货,这个模型更复杂一些,对算法和性能的要求也更高。这种生意的本质决定了必须要能大量买卖,才能积少成多形成效益。

有风险就意味着有可能赔钱。所以这就产生了两种不同的做市商。第一种是胆大的土豪,说老子有钱,买人,买设备,全都上最好的,我不信赚不到钱。这种人我们叫它noncontractual market maker,他来做市全凭自己兴趣。


第二种是胆小的,觉得自己没把握一直赚钱,他可能就不敢做了。这时有一个人就不高兴了,他的名字叫交易所。交易所的存在,就是提供交易平台,然后通过对每笔交易收手续费来赚钱。如果没有人交易,显然他赚不到钱。为什么没人交易呢?因为有需求的人可能找不到对手盘,大家对价格的趋势判断是一致的,都在观望。这个情况对交易所很不利,所以他希望引入做市商。做市商一来,就能把门面撑起来(对,在中国,我们有时管这叫托。不同的是做市商的确承担了风险也参与了真金白银的交易,给交易者们营造了一个更友好的交易环境,所以是受到大家认可的)。大家一看场子里有很多人在交易,就愿意也掺一脚了。交易的人多了,交易所就很开心。所以他会付钱给做市商,可能还减免手续费什么的给点小福利。这样一来,这种做市商即使生意做的不好赔点钱,算上交易所的报酬,还是能盈利。这样的人,我们叫做contractual market maker,就是说他会和交易所签订一个合同,承诺提供多少流动性,交易所也相应的给一些报酬和福利。

注意这种业务里做市商不是很需要预测市场走势的能力,只要能做到不赔钱就可以赚进交易所的酬劳。这个时候关键点来了,就是如何做到不赔钱?一个是按照上面说过的,做好对冲,另一个就是发现形势不利的时候要能及时撤单,这个是最考验低延迟的地方,速度慢就会发生来不及撤单而遭受损失的情况。

 

所以,根据做市这种行为的特点,和市场上的需求,决定了HFT是最适合做这件事的。这也是为什么我们经常说HFT给市场提供流动性。

套利是指,找到两种强相关性的证券。一个极端的例子是,ETF和组成ETF的那些股票。如果你知道ETF的计算方式,就可以用同样的方式通过那些股票的价格来计算一个ETF的期望价格。有的时候,因为种种原因,你发现这个价格和你在市场上看到的ETF价格不一样,你就知道显然是市场发生了一些混乱,早晚这个价格会变回来。这时你就可以买入(卖出)ETF,卖出(买入)那些股票,坐等价格回归,可以稳赚不赔。

这个策略听起来很美,实际上竞争非常激烈。因为任何人都可以做这件事,参与的人多了,市场就会少犯错误,同时每个人的利润空间也变小了。当你的套利收入不足以支撑HFT的研发维护成本的时候,离关门也就不远了。

所以总结起来,做市是比较主流的HFT业务。而正是因为做市商这种和所有人做对收盘的业务模式,使得大部分交易都是通过做市商的参与来完成的,也就不难理解为什么70%的交易都是由HFT(做市商)来完成的了。


高频交易是通过作弊抢其他人的钱吗?

首先以上两种业务可以很清楚的看出,没有任何作弊空间。简单的说,HFT的竞争对手一定是另一个HFT。

那么HFT有那么多速度优势,跟交易所搅基(co-location),系统延迟搞到微秒级,他一定比其他人更先看到市场数据,为什么不能利用这个作弊?

难道不能这样吗?

 

回答这个问题,一定要明确的是:所有交易都是在交易所内部完成的。没有人能在别人的交易指令传入交易所之前就探测到(你说网络抓包?好吧你赢了,祝你好运。)。从理论上就根本没有任何作弊的可能(别拿交易所当傻瓜)。HFT的速度优势是指,当交易所完成一笔交易,在通知所有交易者的时候,HFT因为在通信线路的上游,所以会比别人先看到这条交易确认信息。这个时候他可能会根据自己对这条信息的理解以及业务需求,增加或者撤掉自己的一些单子,但这些都是完全正常的交易操作,不存在任何恶意,并且由于这条信息是发送给所有人的,任何人都会对此做出解读和反应,但只有那些在同一个时间粒度上工作的交易者之间才可能存在竞争,下面再解释这个问题。而对于最初这条交易的发起者来说,因为交易已经完成,所以不存在任何被攻击的可能。


上面说到,HFT的优势,在于他可以第一时间对交易所放出的交易确认信息做出反应。但是这个信息如果没有对手盘就毫无价值。而一个接受信息慢,且反应时间在毫秒级以上的机构用户,怎么可能参与进来做HFT的对手盘呢?这句话可能还是不太容易理解,我举一个夸张的例子:如果你的操作频率以十年为最小单位,买进一支股票以后十年不做任何操作,很显然没有任何人在这10年内可以找你做对手盘,这种情况下所有其他交易者对你来说都是HFT,你却不会担心他们对你有什么影响。例子虽然夸张,但HFT和机构用户之间的差距其实就是这么大,他们生活在不同的世界里。他们的业务本来就不冲突,且根本就不是一个层面上的东西。比较HFT和机构用户,就好像比较百米速跑和马拉松运动员的速度一样,毫无意义。

对于机构用户来说,需要理解电子交易市场的规则。有人用那种,看到屏幕上有一个价格,点了鼠标,结果发现成交价不一样,来说明是背后有人捣鬼,这属于脑袋进水的逻辑。特别需要注意的是市价单(market order)本来就是不保证成交价的,指令发给交易所,交易所根据当时的情况,算出是什么价就给你什么价,这没什么好委屈的。如果想要确保价格,请使用限价单(limit order),保证成交价格,但是不保证时间。这两种单是所有人都可以使用的,没有任何不公平可言。

 

人类,应该做电脑的主人,而不要这样:


最后说说HFT可能存在的问题。Flash crash是真实发生过的,也是最大的隐患。当一个市场上70%的交易都是HFT完成的时候,我们必须要能对HFT的系统有信心。这就需要HFT的开发流程标准化,接受开发过程的评审,有严格的测试体系。几个技术宅关在小黑屋里鼓捣出来的东西没人敢拍胸脯保证不会死机。而这一点目前看的确是比较差的,需要尽快规范起来。这才是公众需要关注的重点。
posted on 2018-11-15 11:28  duanxz  阅读(4520)  评论(0编辑  收藏  举报