高频交易,微秒间的掠杀
![](https://img1.doubanio.com/icon/u1540922-100.jpg)
虽然撰书的时间已距今约莫10年,但仍不失为一本对高频交易答疑解惑的有用工具书。
高频交易者的形成发展历史,一般被解读为从做市商演变而来。在做市基础上,高频交易叠加了更细致的报价监测与价格预测。一群数理专家利用统计套利等方法,勾画出阿尔法,即收益空间的预期基准。然后,再通过对市场现有报价与预测价格的两两比较进行套利交易:如果市场现有报价的收益空间大于阿尔法(基准),则进行毫秒甚至微妙级别的高卖低买。
在书里,作者对于期权高频交易的介绍具体形象,着实弥补了本人在这个方面一直以来的懵懵懂懂。(-_-||)
特别关于vega的对冲,作者表示大多数情况下,投资团队会利用期权组合的波动率曲面得到一个单一vega,之后,再用另一个组合配对对冲。而因为期权高频做市策略需要同步使用股票组合去做delta对冲,所以,另一个市场中的股票高频玩家就有机会反过来利用这个流程,抢先一步进行套利。两者可谓争分夺秒,各自为谋。
综述之后,作者在书的下半部分为我们模拟了一个组建高频团队的全过程。其中囊括各种要素、各种服务器、各种流程、各种模块的精细化运作。从理论到现实,可视化完成了知识图谱的科普扫描。
如何实现高频交易收益?三大关键支柱:技术、策略、数学。
从系统工程讲求的模块化和低耦合,到编写语言选C++还是java,再到交易系统服务器的地理位置,与交易所接口连接等等,细致又具体的内容都被照顾有加。
对于非内行人士,从中获取知识的同时也能够直观体会到高频本身的技术门槛是有多高。高逼格的多金行业从来不会缺乏人才。越来越精细,越来越快速,越来越差异化是这个领域的大势所趋。
但一如作者在书中所说的,对于这帮华尔街的精细鬼们,高频交易本身自带“打砸抢”属性。
无论多高端,高频在本质上并不创造价值。掠夺的背后,是自我毁灭的性质,“一旦规则变动并且/或者其他人也如法炮制的时候就会自动失效”。
ps,翻译很流畅,比心。
1、微妙,即百万分之一秒。已经逐渐成为至关重要的时间间隔。(纳秒,十亿分之一秒)
2、定制的报价引擎每天都不知疲倦向市场发送数以百万计的报价,每份报价都约定以某个指定价格买入或卖出期权合约,买卖的价格也是计算机软件算出来的。
3、在报价机器辛勤工作的同时,“电子眼”实时扫描其他市场参与者每天数以亿计的报价和委托单。当电子眼发现有人以高于期权价值的价格买入或以低于期权价值的价格卖出,它将在相反的方向提交一张委托单并赚得一点点利润。
4、高频交易公司使用一种叫闪现委托单(flash order)的东西提前看到客户的委托单,并且用偷看来的信息为自己的交易牟利。通常只有30毫秒来进行这些勾当,但要花大价钱把交易服务器共置(colocate)在交易所计算机所在的数据中心里面。
5、高频交易还提交一种叫做不成即撤委托单,用于探测其他投资者想要交易的价位,并利用这些信息操纵市场价格往不利于投资者的方向移动。
6、高频交易公司一反过去几十年来将大量进程扔给CPU(中央处理器)的传统,转而使用专门硬件去处理某些计算问题,这种做法看上去有些倒退。他们甚至在金融计算中庸上了图形处理器,因为图形处理器具有大规模并行计算的能力。
7、因为速度的原因,他们会坚持直接接入交易所。采用交易所元盛的应用程序接口API与交易所进行通信。它们还对交易所计算机(或者叫撮合引擎)所在的位置了如指掌,并且会在相同的数据中心租用机位以共置自己的服务器,所有这些仅是为了能够领先下一个参与者百万分之几秒而已。
8、被动交易也叫做提供流动性,主动交易较做取出流动性。
9、对于那些进行非常短期(比如几天、几分钟、几秒钟甚至几毫秒)“投资”的个人或公司,我们把他们归为预测者这一类。
10、期货市场,往往有天然充足的流动性,这个时候做市行为实际上就没有什么必要了。
11、速度的重要性来源于两个方面。其一,有非常多的套利者在寻找这类错误定价,而能够最快递交委托单的那个才能胜出;其二,如果两张委托单不是非常精确的同时发出和同时处理,那么完全有可能在套利的两条腿还没有成交完毕的时候,某个市场价格已经发生了变动,错误定价不复存在,此时套利者只好持有单腿的仓位并且不得不找机会平仓出来。
12、我们称之为预测者的交易者,你可以大致把他们想象成在不同时间点寻找价格差异。
13、统计套利的定义,但它们都牵涉到分析历史数据、预测未来的价格方向、使用统计学和概率论的知识,并且依据这些预测做交易。
14、最常见的统计套利策略是所谓的配对交易。预测者找出两只价格倾向于走势相同的股票。在一定的置信度,一只股票在某个时间段之内也发生相应的变动。如果预测者看到领先的那只股票价格发生跳升,立即买入滞后的那只,期待其价格也会上升。
15、过去相关联的股票可能要花上几小时甚至几天才能跟上另一只股票,而现在配对交易者堕入牛毛,股票价格之间的迟滞时间基本上短到没有。如果考虑到股票超市中不同证券之间的关系网络,其中可能出现错误定价的次数确实相当多的。
16、高频交易者比1849年的那些淘金者还要保守秘密,这是因为他们的交易策略是非常容易移植的。
17、高频交易者是拥有令人生畏技术的做市商和预测者的结合体。
18、高频交易者还更加具有选择性,在选择交易的证券时,他们偏爱那些执行速度能带来优势的,也就是说交易最为活跃的股票。
19、算法交易者更多的是一个机构投资者,其利用自动化的方法为客户服务。一般来说,算法交易者提升计算能力并不只是为了达成更快的执行速度,更多是为了优化大型投资组合的配置、决定买卖股票的时机,以及最小化委托单的市场冲击成本等。
20、预测者采用量化交易技术(或统计套利)分析数据,利用它来预测价格未来的变化。
21、交易所会给流动性的提供者一定返还,以吸引他们到交易所交易,而取出流动性的交易者则需要支付一定的费用。
22、在买卖价差小到基本上没有的情况下,返还可能是做市商唯一的利润来源。
23、典型的做市商则会同时向市场提交好几百甚至几千份报价。
24、一个快速的意外的市场波动对投资者来说是痛苦的,但对做市商来说却是灾难性的。
25、刮擦(scratch)的交易,平进平出完成一次双向交易。
26、推动大象:如果你作为一个做市商,假定这只大象实际愿意支付的价格不止1美元,你可以买掉1.01美元以上的所有卖单,并把申买价提高到1.01美元。如此推着大象再提高买报价。
27、期权做市商在一笔成交之后,很难通过另外一笔期权交易(完成反向交易)来消除风险。相反,他们会通过交易其他一些经过精心选择的产品来锁定收益,或者对冲风险。
28、股票的投资组合能够视作一个合成期权,其涨跌幅与已交易的期权大致相等,但是方向相反。这个过程称为delta对冲。
29、标的股票的做市商可以利用这个过程之中的信息,抢在delta对从之前进行交易。
30、期权交易者常常使用隐含波动率来代指价格。因此,对期权做市优势也成为波动率套利或倒卖波动率。
31、vega和gamma只能通过交易其他期权进行对冲。rho可以通过欧洲美元之类的利率期货合约对冲。
32、CME上市的不仅有ES(迷你合约),还有SP(大合约),这两个合约的蛀牙不同之处就在于合约乘数,SP的乘数是250美元,而ES的乘数是50美元。
33、曲面可以相当可靠地告诉你任何一个给定的期权合约的波动率应该是多少。如果你看到一个合约的波动率不在曲面之中或者曲面附近,那么这个合约要么是定价过高,要么定价过低。
34、看涨期权的市场报价5.35*5.4,看跌期权市场价6.2*6.25,跨式价差11.4*11.5。你可以在跨市委托单簿中以11.5美元买入,并在自然市场以11.55美元(5.35+6.2)卖出。自动价差套利需要交易所的价差委托单簿电子接口。
35、套利者寻找一个证券相对于其他证券错误定价的情形(违反一价定理),而预测者(量化交易者或同级套利者)则在时间的尺度上去发现价格的不合理。预测者分析市场数据,去寻找一些场景他可以比较有把握地认为一只以Y交易的证券会随着时间的推移涨到Z,他会以Y的价格买入并等到Z时卖出。
36、我们需要精确地知道这只股票到底低估了几分钱,或者是零点几分钱,因为我们已经把这些实际工作交给电脑了,而电脑需要非常明确的指令。alpha就是起到这个作用。
37、预测者的眼睛(电子眼)时刻紧盯着申买和申卖的每次变化。他根据自己的alpha策略,寻找过高的申买价和过低的申卖价。他需要一个价格基准来与这些申买和申卖价进行比较,这个基准价格就是微观价格。它把预测者在委托单簿中的工作简化成两个基本规则。
38、预测者知道,整个市场的价格变化一般首先体现在ES合约上,然后才是各个成分股。
39、alpha可能来自于趋势跟踪、均值回归、配对交易或其他预测策略。
40、高频交易的发展并不是一蹴而就,他们由传统的做市商演化而来,过程中起码有两个趋势。第一个趋势与越来越多的买方公司采用计算机处理大额委托单有关。自动化的流动性探测成了一个公平游戏,计算机装备竞赛也由此展开。第二个趋势是做市商的逆向选择现象。
41、高频交易系统就是一系列计算机服务器和运行在其上的软件,它们监听市场数据,在其中搜索能带来利润的交易机会,并试图抢在别人至前将机会转化成利润。
42、策略、技术和数学这三条腿之间互相隔着120度,不管哪条腿短了,高频交易都站不稳。
43、交易软件需要测试,而对于高频交易系统,由于苛刻的时间要求和系统的复杂性,软件的测试和质量检验可能成为一项让人精疲力尽的工作。
44、任何一个在交易系统开发领域工作过的人都知道在产品更新之前,你会常常需要用到“即时补丁”和“紧急漏洞修复”之类的东西。
45、最难以对冲的风险是vega,它代表期权价格对标的物波动率变化的敏感程度。就像计算期权的理论价格,计算vega这类希腊字母都需要波动率这个参数。通过维护一张共同的波动率曲面,做市商能够在持有这一系列的期权头寸的组合时只关注组合的单一vega值。从而通过对一张合约的买卖操作对冲另一种合约的风险。
46、大多数工程师会在设计中为两个目标而努力——模块化和低耦合。模块化指在建设一个庞大的系统的过程中,首先设计并建造许多相互之间相对独立的小模块,之后将这些小模块关联在一起构成整个庞大系统。耦合性指系统模块之间的交互,或者说通信的方式。如果这些通信接口简洁且开销很小,那么这些模块就被称为低耦合。
47、高耦合的模块之间需要相对来说很复杂的通信机制,所以它们之间相互依赖的程度很高。为了让系统能适应变化,设计的目标应该是一组独立性很高的组件,它们通过一些很简单的接口将各种复杂的内部操作或实现隐藏起来。使用低耦合的组件构造的系统更容易修改。要在系统中添加新功能,只要创建并引入新的对象就行了。
48、你绝不会想要一辆只是换个前灯就会让刹车失灵的汽车。
49、一个真正能够运行良好的复杂系统一般都是在更简单且可行的系统基础上演进而来。
50、高频交易系统的开发者经常需要在一系列的排序和查找算法中进行选择。算法之间的差异主要在于时间效率、空间占用以及准确度上。
51、程序员在处理问题时,不仅是选出能将这些更新请求以最高的时间效率发送出去的算法就够了,还需要考虑发送这几千个更新请求的顺序。
52、C++语言是C语言的面向对象扩展版本,它继承了C语言“接近硬件”的特性,因此具有很高的效率。这样的代码能最好满足软件对效率的终极需求。定制化的指令包括制定特定的内存区域,甚至操纵内存中的某些特定字节位置。
53、垃圾回收:在程序运行完毕后的内存释放。自动的垃圾清理机制的问题在于,你基本上无法控制这些垃圾清理过程,它们有可能在一些非常不合时宜的时候发生。这种不可控因素可能决定你能否能够拿到这个交易机会。
54、分层传递机制,像数据在的网络中的传递过程。在每一层的节点上,需要有硬件来完成打包和拆卸的工作,这种硬件通常都是CPU。
55、一种叫做TOE卡的硬件能够完成在网络和内存之间传递数据的功能,从而把CPU解放出来。
56、图像处理器GPU,最初的目的是把图像处理的计算任务从CPU上转移出来。一个GPU没办法完成CPU所做的复杂计算,它只能处理简单的任务,但它能在很短时间内并行处理大量简单任务。在交易过程背后却有许多工作适合交给GPGPU,其中一项就是蒙特卡洛模拟期权定价。
57、高频交易者不适用第三方数据提供商出售的数据以避免由中介转发而自然而然导致的延迟。
58、直接接收的方式天然有更高的成本,因为它需要维护与多个交易所的链接而不仅仅是与统一平台的单一连接。
59、他们仍然会使用统一平台。首先,因为没有那种市场数据的馈送方式是完美无缺的,拥有多个数据源能够帮助交易者更好地判断例如一个异常的价格跳动的真实性问题,另外,某些情况下,使用统一平台的数据可以比直接接受更快地捕捉到价格变动。
60、每个交易所特有的原生应用程序接口(application programming interface,API)编写能被交易所电脑直接解释的代码。
61、系统服务器与交易所的市场数据服务器或交易撮合引擎最近的那家公司相比其他公司将获得明显的优势。
62、两座相距遥远的城市之间的通路一般不是一条单独的道路,而是许多更短的道路通过一些中间结点相连而成。在网络中,每一个这样的节点都可能导致几微妙的延迟。
63、控制服务器,它们的工作是负责协调各个远程服务器的行为。还包括了交易台和后台支持的功能。
64、刮取返还策略是一种基于交易所交易费返还的策略。
65、高频交易系统中的组件可以分5个大类:策略组件、监听组件、定价组件、交易组件和管理组件。
![](https://img3.doubanio.com/view/thing_review/l/public/p4950002.jpg)
66、一笔市场数据从交易所传来,监听组件会获得它,在一系列检查和处理之后再将它传到系统的其他部分,定价组件使用它对证券重新定价,而交易组件则可能使用这个型的价格向市场报单。
67、策略服务器看起来很像一家依靠交易员人工交易的公司里每天的例行晨会,在晨会上,风控经理和交易员会在开盘前聚在一起,确定这一天的交易策略和交易额度限制。
68、大多数新的合约都是在隔夜的非交易时间段挂牌交易的,因此,证券列表管理器必须在每天交易结束后,或者在第二天开盘前从期权清算公司或各个独立的期权交易所获取这些新的合约。
69、对于高频期权交易而言,一笔好的交易是,系统以30点的波动率买入100份期权,然后很快以32点的波动率将其卖出。
70、rho是期权价值相对于无风险利率变化的敏感性的一个测度,当无风险利率变化,期权价值也会发生变化。
71、管理组件,一个专门的系统组件来监控我们所能想到的任何可能导致较差报价的状况。当熔断器检测到市场数据连接丢失,它会向所有的交易组件发送消息,并告诉它们停止交易。
72、其他的一些情形包括系统触及了持仓限额、异常迅速的成交、发生了坏的交易以及系统的一些重要组件功能失效等。
73、仓位管理器只是监听交易回报,为美中交易的证券维护一个动态仓位,并且在这些仓位发生变化时向系统进行报告。
74、风险管理器所要考虑的就是在买入后卖出前发生的事情,也就是高频交易者在等待双向加以完成时所面临的金融风险。
75、对于期权的盈亏,把盈亏按照各个希腊字母进行分配是一种很有帮助的计算方式。delta盈亏是一种不错的衡量delta对冲效果的指标,vega盈亏则能够衡量波动率管理的水平。
76、期货价格变动与策略执行过程:
![](https://img3.doubanio.com/view/thing_review/l/public/p4950007.jpg)
77、很多打砸抢的行为本身带有自我毁灭的性质,一旦规则变动并且/或者其他人也如法炮制的时候就会自动失效。