目录目录
关于本书
“盐”系列电子书出版序
作者序
第一章 大电子交易时代皇冠上的明珠
1.1 什么是高频交易系统
1.2 高频交易的第一推动力 —— 追逐流动性的交易所们
1.3 高频交易的理论基石 —— 市场微观结构
第二章 纳秒,微波,FPGA:高频交易黑科技
2.1 高频交易软硬件是怎么架构的
2.2 C++ 为核心语言的高频交易系统是如何做到低延迟的
2.3 高频交易系统的开发语言选择之 C++ VS Java
2.4 高频交易系统如何在多线程和端口通讯之间取舍
第三章 数字炼金术:高频交易策略谈
3.1 金樽清酒斗十千 —— 交易数据时序建模
3.2 拔剑四顾心茫然 —— 交易数据采样方法
3.3 欲渡黄河冰塞川 —— 高频交易策略实战
3.4 直挂云帆济沧海 —— 策略研发工具篇
第四章 在光电幻影中挥动数字之刃的人们
4.1 交易策略研发人员为什么不用自己的钱交易,而要去基金公司上班
4.2 Quant 和程序员到底有什么差别
4.3 要想成为一名 Quant 需要什么样的编程水平
4.4 P Quant 和 Q Quant 哪个是未来
4.5 如何成为一名优秀的 Quant
第五章 失落凡间的真秘籍
5.1 研究高频交易有哪些好的参考书目
5.2 高频交易领域的学术文献
关于本书关于本书
《我是高频交易工程师——知乎董可人自选集》/董可人
出品人 周源
编辑 梅莹 刘强
设计 郝小好
策划 成远
联系我们 weekly@zhihu.com
本电子书版权为北京智者天下科技有限公司所有,未经书面授权,不得在任何地区以任何方式反编译或节录本书内容。
ZHI-BN:9-0057-0000151104-1
DNA-BN:ECFD-N000000670057
最后修订:2015 年 11 月 04 日
出版:浙江出版集团数字传媒有限公司
浙江 杭州 体育场路 347 号
互联网出版许可证:新出网证(浙)字 10 号
电子邮箱: cb@bookdna.cn
网址: www.bookdna.cn
本书电子版如有错讹,祈识者指正,以便新版修订。
Zhejiang Publishing United Group Media CO., LTD, 2013
No.347 Tiyuchang Road, Hangzhou 310006 P.R.C.
service@bookdna.net
www.bookdna.net
“盐盐”系列电子书出版序系列电子书出版序
知乎创始人 周源
我们和这个世界,有一种天然的媒介,那就是存在于我们大脑里,没有被分享过的信息。如果有某种方式把每个人的知识、经
验和见解都汇集起来,会不会像从信息海洋中源源不断地提取出知识之盐一样,极大地丰富很多人生活的味道?
这个问题,令人兴奋。知乎创立至今,诞生了一种新的知识生产方式,对世界的提问和回答,像是对一个无序的世界进行了一
次次重构 —— 把彼此大脑里没有分享过的知识、经验和见解搬上了互联网,组成了一个全新的网络。而那些最有知识、经验
和见解的人,就像盐,给这个世界带来味道。
您即将展开的这本书,属于知乎的“盐系列”丛书。我们希望这些作品保存一种海的味道,因为在知乎看来,每一位认真的知
友,都是知识海洋中析出的智慧之盐。我们希望这一系列的每一本书,都可以为您透析世界的一个组成部分,亦或给您的生活
增光添味。
读这书时,请别忘记,它诞生自一个有味道的人。
作者序作者序
2010 年 5 月 6 日,美国股市意外崩盘,10 分钟内跌幅最高达到 9.2%。这次冲击造成华尔街上万亿美元凭空蒸发。事后,美国
商品期货交易委员会的调查指出,事件虽然缘于交易员的误操作,但当时市场中的高频交易者们使用的交易算法也在其中起到
推波助澜的作用,难辞其咎。
2012 年 8 月 1 日,当时美国最大的一家高频做市商骑士资本(Knight Capital Group)由于误把测试用交易软件部署到实时交易
环境,在 45 分钟内疯狂执行了四百万次交易指令,涉及 154 只股票,造成的损失超过 10 亿美元。骑士资本自身更是因此亏损
4.4 亿美元,几近破产,最终被另一家高频交易公司 Getco 收购。
2013 年 8 月 16 日,中国的光大证券的自动交易系统因为技术缺陷,2 秒内生成超过 2 万笔委托单;其中 6413 笔直接发送至交
易所,成交 72.7 亿人民币。此次故障使得当日上证综指一度上涨达 5.96%,对中国 A 股市场造成巨大冲击。光大证券也因此
损失约 1.9 亿人民币。
2015 年 6 月 12 日至 8 月 6 日,近两月间,中国 A 股市场遭遇暴跌,两月内上证综指最大下跌达 34.9%。随后,监管部门出台
了一系列政策,以抑制过度投机,促进国内市场规范化。其中特别引起国内量化交易从业者关注的,是中金所的一系列管控措
施,包括限制交易者单个产品的单日开仓量,提高交易保证金,提高平今仓手续费,等等。这些措施在事实上抑制了国内刚刚
萌芽不久的高频交易,从业者们何去何从一时间陷入迷雾之中。
在这一系列惊心动魄的事件中,“高频交易”这个名词像野马般冲入了大众视野。在这些爆破眼球的事件渲染下,高频交易自然
而然地披上了一层神秘外衣。在有的人眼中,它是一台攫取暴利的印钞机;在有的人眼中,它破坏力极强,就是那个让市场崩
盘的始作俑者。
但是,高频交易真的是大家眼中的妖魔吗?它到底是在做什么?它的商业运作模式是怎样的?又是什么样的人在这个行业中拨
弄风云?作为一个每天都在从事相关工作的职业工程师,我希望根据自己的亲眼所见,在这本篇幅不长的电子书中描绘出具体
的图景,告诉你这个行业里真实发生的事。
我本是一名计算机系的学生,终日与代码、屏幕和键盘打交道,似乎本应注定投身于互联网的大洪流。然而机缘巧合,最终的
工作竟是研究交易算法,设计交易系统。转眼间入行已数年,我学习了千奇百怪的技术,见识了形形色色的人,虽前方仍是路
漫漫,但已觉不虚此行。相比外界对高频交易所持的妖魔化印象,我想说的是,此行中自有奇巧机关、科学方法,以及系统工
程;此中优秀者必要千锤百炼、凝聚心血,才能一展光彩。在我眼中,它是一门正正经经的生意,既非印钞之神器、暴富之法
宝,也绝非市场之毒瘤、崩盘之祸首。
这本小书的主要内容取自我在知乎上“量化交易”和“高频交易”类话题下的回答。我力争将这些零散的回答归纳、整理出一条完
整的脉络。但时间精力有限,难免有粗糙之处,还请各位读者海涵。
本书的组织结构如下:第一章描述行业背景,从宏观角度讲述高频交易是做什么的,以及它的业务模式和商业逻辑,还包括一
些理论研究方面的进展,希望让那些对高频交易还一无所知的朋友增加一点了解;第二章从技术层面讲解高频交易系统的设
计、架构和实现,从软硬件层面展示了电子时代工程师们怎样打造交易系统 ;第三章探讨交易数据建模和交易策略研发,给
出了一个有实战价值的高频交易策略实例,也推荐了一些针对此类工作的工具,以供大家参考使用;第四章对此行业的从业者
做了简单的速写,希望让大家了解到从事这项工作有哪些技能上的要求,入行要做哪些准备,等等;第五章给出了一些参考书
目和学术文献,供有兴趣的读者进一步深入了解。
我是一名高频交易工程师。我热爱我的职业,也愿意向你讲述它的精彩之道。若你对我所置身的行业有兴趣,就请抽出半日余
暇,将这本小书作为漫游指南,对此领域一窥堂奥。
第一章第一章 大电子交易时代皇冠上的明珠大电子交易时代皇冠上的明珠
1.1 什么是高频交易系统什么是高频交易系统
根据现在市面上的主流认知,我想大多数人概念里的高频交易系统是这样的:
· 交易指令完全由电脑发送,对市场数据的响应延时在微秒级;
· 系统由专用的软硬件组成,研发时需要大量计算机专家级的工作;
· 系统的硬件需要放在离交易所主机很近的位置上,所谓 co-location。并且得到专门的准入许可证,交易指令直接发送至交易
所。
符合以上三点的,就可以叫做高频交易系统。现在市面上的主流媒体,包括大部分新闻和畅销书在谈到这个话题时,说的也就
是这种系统。或许有人会说,这三条中没有一条在谈频率,只能叫低延迟系统不叫高频交易。事实上,所谓“高频”,并非一定
是指成交的频率高,有些系统只是下委托单和修改、回撤委托单的频率高,真正的成交次数可能并不多,也一样可以叫做高频
交易系统。 如果你对这个描述仍有疑问,那么我必须要指出,事实上还有一个非常官方的定义,来自美国证券交易委员会
(SEC)。SEC 也很难给出明确的定义,最终的描述是基于 5 个特性:
· 使用超高速的复杂计算机系统下单
· 使用 co-location 和直连交易所的数据通道
· 平均每次持仓时间极短
· 大量发送和取消委托订单
· 收盘时基本保持平仓(不持仓过夜)
见:http://www.sec.gov/rules/concept/2010/34-61358.pdf
除此之外,还存在很多妖魔化高频交易的言论,比如:
· 超强的盈利能力(仿佛高频交易的机器就跟印钞机似的);
· 纯粹靠交易赚钱,有着神秘的数学模型和尖端科技,精准地预测市场走势,带着无可比拟的优势在市场上呼风唤雨;
· 利用速度优势割其他机构类交易者的肉(大家认为这是作弊)。
回想一下,有没有人对你高谈阔论高频交易时提到这里任何一点?你听完以后有何感想,是好生羡慕,心潮澎湃,还是满腔愤
恨上天不公?别着急,继续往下看,相信你看完这个回答以后,能够形成一个正确的概念。下次再遇到这种人,就直接请他闭
嘴。特别是那些对高频交易有兴趣但还没入门的朋友,希望你能有一个正确的认识。否则,当你历尽千辛万苦,怀着满腔热情
加入一家 HFT(High Frequency Trading),以为从此以后你的工作就是对海量数据做高深莫测的数学模型,架起机器冲进市场
草割那些无知的低频交易者,白花花的银子便像雪片一样落进你的口袋,你很可能要失望。
摒除这些错误的观念,这个行业的真正的精髓才能向你展开:偏执的科技至上理念,极其复杂的技术难题,疯狂追求机器极致
的性能,以及高强度的同业竞争。这些才是我认为的本行业最吸引人的特点,它们本身就足够让人着迷了。至于赚钱,建议你
把它当作承担压力、努力工作之后的回报,而不要幻想无意间被葵花宝典砸到学得惊世神功,从此纵横股市点石成金;这种神
话至少在这个行业是不存在的。
传说中,高频交易的盈利能力很强。但现实很残酷。和任何其他行业一样,赚大钱的的确有,赔钱的也大把存在。我想这个行
业之所以特别吸引眼球,主要是因为它融合了“金融”和“计算机”这两个热门词汇,而且确实是一个高科技行业(相信没几个行
业会关心光速在不同介质中的区别),因此很容易给外人一种神秘感。但如果只盯着金字塔顶端的几家公司便下结论,就好比
看了乔丹集锦以后便认为所有打篮球的人都特别能扣篮一样,是不现实的。
特别需要说明的是,由于高频交易系统对低延迟的敏感性,研发时需要投入大量的人力、物力,要高薪聘专业的计算机专家,
花钱买昂贵的硬件,租用专门的微波通信线路。但这一切都不能保证你得到一个预想中的“低延迟”系统。整个系统的设计和开
发是一个非常复杂的工程,而且交易系统对于准确性和稳定性的要求极高,若是不够精密,上线后会出现各种问题,根本无法
使用。如此大规模的投入,很多时候换来的是一个残次品系统。非常非常多的公司因为搞不定技术问题而赔钱关门。
这里有一个深远的问题,即高频交易是一个金融和计算机相结合的产业,但同时精通这两者的人才是非常稀少的。金融人士主
导的项目会缺乏对技术的判断能力,IT 人士主导又会对需求把握不清。在对性能不敏感的行业中这可能不是太大的问题,可
以按照传统的甲方乙方方式解决,若有问题慢慢扯皮。但在这个高竞争行业,没有太多时间可以用来浪费在扯皮上。投产的系
统可能慢上几微秒就是废物,而那时往往会发现基本的设计就有问题,根本无力回天。这种超高难度的研发压力,其实才是高
回报的缘由。
根据美国证券交易委员会(SEC)2010 年给出的这份报告 Concept Release on Equity Market Structure
|http://www.sec.gov/rules/concept/2010/34-61358.pdf 中的定义,高频交易主要包括这几种x类型:
· 被动做市(被动做市( Passive Market Making)) 。这种策略是在交易所挂限价单进行双边交易以提供流动性。所谓双边交易,是指做
市商手中持有一定存货,然后同时进行买和卖两方交易。这种策略的收入包括买卖价差(spread)和交易所提供的返佣
(rebate)两部分。
· 套利(套利(Arbitrage)) 。这个策略应该是大家比较熟悉的,就是看两种高相关性的产品之间的价差。比如说一个股指 ETF 的价
格,理论上应该等于组成该 ETF 的股票价格的加权平均(具体计算方式按照此 ETF 定义来看)。但因为种种原因,有时我们
会发现市场上这两种价格并不一致,此时即产生套利机会,可以买入价低一方,同时卖出价高一方,以赚取其间的差价。随着
市场流动性的增强,这种机会发生的次数和规模会越来越小,并且机会往往转瞬即逝,因此往往需要借助高频交易的技术来加
大搜寻的规模和把握交易时机。
· 结构化(结构化(Structural,此处翻译或许不当),此处翻译或许不当) 。这是最恶的,也是公众眼中最能引人对高频交易诟病的策略。简单说就是利用
技术手段,比如高速连接和下单,来探测其他较慢的市场参与者的交易意图并且抢在他们之前进行交易,将利润建立在他人的
损失上。这种策略到底有多少人在用,报告中没有指明。我个人的看法是这种短视的策略或许能帮你赚一点快钱,但从任何角
度看都是一种饮鸩止渴的行为。高频交易本身有远超于此的价值,实在不值得为此浪费精力。
· 趋势(趋势(Directional)) 。这个策略本身在中低频也存在。简而言之,就是预测一定时间内的价格走势,顺势而为。这种策略在
高频的玩法不同之处在于,高频交易的主要数据源是比 tick 更低一级的 order book events,所以可以在委托单的粒度上进行分
析和预测,来抓大单的动向。此外,报告中还提到一种操作手法,和中低频类似的,所谓“拉高出货”,即自己先下点单快速推
高或拉低价格,人为制造一种趋势,来吸引其他人入场。关于这些,相信有中低频或日内经验的高手们更清楚该如何做,我就
不多说了。
在这几种策略中,做市商策略是事实上最好的业务模式,具备可持续发展的性质。做市商在市场上充当流动性提供者,通俗地
说,就是有任何人想买一个东西(比如股票、期货),你要保证能卖给他;有任何人想卖一个东西,你要保证从他那买。“保
证”的意思就是如果市场上没有别人出头,做市商就必须出来——隐含的意思就是,做市商是所有人的对手盘。
这里需要仔细想一下,一般情况下,如果你想买一支股票,往往是因为你看好它会升值,而你的对手盘跟你交易,是因为他认
为会贬值,你们有一个价值判断上的分歧。那么做市商为什么能豪气干云地出头做所有人的对手盘,是因为他喜欢跟别人唱反
调吗?
当然不是。做市商的策略,本质上是认为市场价格在短期内具有波动性,涨上去的价格会落下来,反之亦然。所以他可以选择
承担一定的风险,暂时从你手里把东西买过来,过一段时间价格变得有利时再卖掉。注意这里的风险是真实存在的,没有什么
保证价格一定会向着做市商有利的方向变化。时间跨度越大,这种风险也越大。做市商承担了这种风险,买过来的东西需要持
有一定时间作为库存,来赚取因为波动性而产生的一点点价差(通常是一分、两分)。也有更稳妥一些的做法,是通过其他高
相关性的产品做对冲,比如买进一只股票的同时卖出它的期货,这个模型更复杂一些,对算法和性能的要求也更高。这种生意
的本质决定了必须要能大量买卖,才能积少成多,形成效益。
有风险就意味着有可能赔钱,所以就产生了两种不同的做市商。
第一种是胆大的土豪。由于有钱,所以买人,买设备,全都要最好的,不信赚不到钱。这种人我们称为 noncontractual market
maker,他来做市全凭自己兴趣。
第二种是胆小的,觉得自己没把握一直赚钱,可能就不敢做了。这时有一个角色就不高兴了——它的名字叫交易所。交易所的
存在,就是提供交易平台,然后通过对每笔交易收手续费来赚钱。如果没有人交易,显然它赚不到钱。为什么没人交易呢?因
为有需求的人可能找不到对手盘,大家对价格的趋势判断是一致的,都在观望。这个情况对交易所很不利,所以它希望引入做
市商。做市商一来,就能把门面撑起来(对,在中国,我们有时管这叫“托”。不同的是,做市商的确承担了风险,也参与了真