High Frequency Trading 1:what is it

来自《我是高频交易工程师:知乎董可人自选集 (知乎「盐」系列)》

Posted by Chauncey on June 10, 2020

什么是高频交易 High Frequency Trading

所谓「高频」,并非一定是指成交的频率高,有些系统只是下委托单和修改、回撤委托单的频率高,真正的成交次数可能并不多,也一样可以叫做高频交易系统。

有一个非常官方的定义,来自美国证券交易委员会(SEC)。SEC 也很难给出明确的定义,最终的描述是基于 5 个特性:

  • 使用超高速的复杂计算机系统下单
  • 使用 co-location(系统的硬件需要放在离交易所主机很近的位置上) 和直连交易所的数据通道
  • 平均每次持仓时间极短
  • 大量发送和取消委托订单
  • 收盘时基本保持平仓(不持仓过夜)

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

高频交易类型

根据美国证券交易委员会(SEC)2010 年给出的这份报告 Concept Release on Equity Market Structure 中的定义,高频交易主要包括这几种类型:

  • 被动做市(Passive Market Making)

    这种策略是在交易所挂限价单进行双边交易以提供流动性。所谓双边交易,是指做市商手中持有一定存货,然后同时进行买和卖两方交易。这种策略的收入包括买卖价差(spread)和交易所提供的返佣(rebate)两部分。

  • 套利(Arbitrage)

    这个策略应该是大家比较熟悉的,就是看两种高相关性的产品之间的价差。比如说一个股指 ETF 的价格,理论上应该等于组成该 ETF 的股票价格的加权平均(具体计算方式按照此 ETF 定义来看)。但因为种种原因,有时我们会发现市场上这两种价格并不一致,此时即产生套利机会,可以买入价低一方,同时卖出价高一方,以赚取其间的差价。随着市场流动性的增强,这种机会发生的次数和规模会越来越小,并且机会往往转瞬即逝,因此往往需要借助高频交易的技术来加大搜寻的规模和把握交易时机。

  • 结构化(Structural,此处翻译或许不当)

    这是最恶的,也是公众眼中最能引人对高频交易诟病的策略。简单说就是利用技术手段,比如高速连接和下单,来探测其他较慢的市场参与者的交易意图并且抢在他们之前进行交易,将利润建立在他人的损失上。这种策略到底有多少人在用,报告中没有指明。我个人的看法是这种短视的策略或许能帮你赚一点快钱,但从任何角度看都是一种饮鸩止渴的行为。高频交易本身有远超于此的价值,实在不值得为此浪费精力。

  • 趋势(Directional)

    这个策略本身在中低频也存在。简而言之,就是预测一定时间内的价格走势,顺势而为。这种策略在高频的玩法不同之处在于,高频交易的主要数据源是比 tick 更低一级的 order book events,所以可以在委托单的粒度上进行分析和预测,来抓大单的动向。此外,报告中还提到一种操作手法,和中低频类似的,所谓「拉高出货」,即自己先下点单快速推高或拉低价格,人为制造一种趋势,来吸引其他人入场。关于这些,相信有中低频或日内经验的高手们更清楚该如何做,我就不多说了。

做市商策略

在这几种策略中,做市商策略是事实上最好的业务模式,具备可持续发展的性质。做市商在市场上充当流动性提供者,通俗地说,就是有任何人想买一个东西(比如股票、期货),你要保证能卖给他;有任何人想卖一个东西,你要保证从他那买。「保证」的意思就是如果市场上没有别人出头,做市商就必须出来——隐含的意思就是,做市商是所有人的对手盘。

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

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

有风险就意味着有可能赔钱,所以就产生了两种不同的做市商。

第一种是胆大的土豪。由于有钱,所以买人,买设备,全都要最好的,不信赚不到钱。这种人我们称为 noncontractual market maker,他来做市全凭自己兴趣。

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

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

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

套利策略

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

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

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

利用速度作弊?

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

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

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

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

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

HTF可能问题

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