一、简介
1.1 内容简介
复杂的金融工程、高端的编程语言、纷繁的交易算法、尖端的硬件体系,这是高频交易的必备元素,但仅有这些是无法构造出高频交易系统的。
为了构建高频交易系统,投资者还必须掌握高频交易背后的市场机理、策略方法、交易规则等知识,而本书则对这些高频交易实际操作中的技巧和方法做了系统的梳理,有助于读者了解高频交易的实际操作与运营的基础知识。同时本书还介绍了做市商制度与各式套利策略。这对于国内读者来说,也是一个很好的借鉴。
1.2作者简介
迈克尔•德宾(Michael Durbin)
资深金融技术咨询顾问,衍生品定价与交易软件系统专家。他的量化投资从业生涯始于MOATS(交易系统之母)团队,当时他主要负责固定收益类衍生品与利率计算软件设计工作。2003年,他加入了知名宽客与对冲基金经理——肯•格里芬的城堡集团,负责构建高频期权交易系统,而正是这套系统,成为了日后城堡集团的印钱机器。2005年,他加入蓝色资本集团,主要负责系统开发与交易主机维护。同时,他还在杜克大学与北卡罗来纳大学教堂山分校担任兼职教授,教授衍生品相关课程。
二、读书笔记
第一章 搞砸了
高频交易的精细鬼们并不会止步于投看闪现委托单这种事情,据说他们还提交一种叫做不成即撤委托单(immediate-or-cancel order, IOC),他们提交这种委托单并不是真正为了交易,而是用于探测其他投资者交易的价位,高频交易者可以利用这些信息操纵市场价格往不利于投资者的方向移动。
构建高频交易系统的高频部分可不像逛商场那么容易。建造一个实际可用的高频交易系统非常复杂,其中要做的事情不止一件,要掌握的工具也不止一种,就像建造一艘远洋客轮一样,远远不是一锤定音那么简单。从雇佣适当数量的交易、数学、软件开发等领域的奇才开始,在追求一缕缕微小利润的道路上,高频交易者不会放过任何一个细节。他们不使用第三方开发的授权产品,而是自己编写软件;他们根据自身需求制作各种个性化系统,并为此投入大量的人力财力。
第二章 交易101
权益性证券
在权益性期权(股票期权)和股指期货这两个与股票关系密切的市场上,高频交易同样十分活跃。美国的股票市场、期权市场和期货市场之间的联系十分紧密,它们共同形成了一个巨大的权益类证券市场,高频交易就在这个大“超市”里大展拳脚。事实上,高频交易出现在这些市场中并不是偶然的,有证据表明,正式由于高频交易,这些市场才能如此紧密地联系在一起。
交易所
交易所是传统的进行股票交易的场所,是一个有形的地点,参加交易的人在此聚集,买方和卖方彼此交易所谓的上市的股票。在交易所市场之外还有一个场外市场(OTC),在场外市场中,交易双方找到交易对手,并且进行私下谈判成交。
委托单薄
在现代的证券交易所里,买卖双方主要是电子化配对撮合的,双方的讨价还价过程是在一个叫做委托单薄的地方进行的。所有的交易所和ATS都使用委托单薄,并且所有委托单薄的工作方式也都大同小异。委托单薄就好比核反应堆里面的控制棒,是一切反应发生的地方。交易所的每一只证券都必定会有一个对应的委托单薄。
交易
委托单的四项基本要素:证券代码、买/卖、数量(规模)、价格
委托单的处理方式:市价委托单还是限价委托单。
交易者
四类交易者:投资者、做市商、套利者和预测者
投资者进行交易通常是因为他们想增加或者降低在某只证券上的仓位。在投资者这个类别中,既有个人投资者,也有机构投资者。一般而言,以投资者身份或者代表投资者利益进行交易的交易员称为买方交易员。在一个理想的市场中,投资者总是可以和其他投资者进行交易。
第三章 交易策略
投资者与做市商
在大部分市场上,投资者和做市商都是唇齿相依的,投资者需要做市商提供流动性(例如,为他们的交易找到交易对手方),而做市商需要投资者成为他们的申买单和申卖单,以转去买卖价差或者返还。然而做市商希望价差越大越好,而投资者希望越小越好,因此,投资者和做市商又是天然对立的。
投资者策略
执行委托单是一门艺术,它指的是投资者使用某种或者多种策略的组合,以最为优惠的条件执行某笔想要达成的交易。使用软件自动执行委托单的投资者有时称为算法交易者,他们使用的策略也就称为算法策略,有时候也称为自动交易策略、黑箱交易策略,或者机器人交易策略。
做市商策略
对投资者而言,最基本的策略是市价单策略,对做市商来说,最基本的策略是一旦有人和他成交,他就在市场的另一边被动等待其他人和他成交。
套利策略
在权益类证券这个大超市里,套利机会并不局限于交叉市场中的单一股票。并不是只有相同证券在不同市场交易,同时但不同价时才有套利机会。只要两种证券或证券的投资组合的价格彼此关联、必须共同变动,它们之间就有套利的可能。
预测者策略
预测者分析市场数据,去寻找一些场景他可以比较有把握地认为一只以价格Y交易的证券会随着时间的推移涨到Z,他会以Y的价格买入并且等到价格达到Z时卖出。或者是证券会从Y跌倒X,他会以Y卖出,并且X买入平仓。
高频交易者的起源
与两个趋势有关:越来越多的买方公司采用计算机处理大额委托单;逆向选择现象
第四章 提速
购买还是自建
一些聪明的高频交易公司会选择只是自建一部分的系统组件,而非整个系统。例如,自建一些所谓的“交易基础设施”所能带来的优势就是非常有限的,数据库就是这种“交易基础设施”的一个典型例子。
让设计适应变化
任何策略有效性的半衰期都不是很长,所以用于交易的策略必须不断改进和更新。大多数工程师会在设计中为两个目标而努力——模块化和低耦合。
分布式与负载平衡
模块化的程度不能太低,以致某些模块因为太过庞大而效率低下;同时也不能过高,以致由于模块间的通信压力太大而降低了整个系统通讯机制的效率
设计最高效的软件
程序员在编写软件来完成某些特定的任务时,通常会在写代码之前通过一些标准去选择软件背后的算法。在高频交易领域,最聪明的程序员都会把效率当作选择算法的最根本的标准,并且会不断地花时间去优化算法的效率。算法效率越高,处理任务所需要的时间就越短。在高频交易中,时间就是不折不扣的金钱。
直连交易所接收数据和执行指令
高频交易公司需要能够在低延迟的条件下访问交易所,这主要是因为高频交易中的两项重要任务要求在低延迟下完成:第一项是市场数据的接收,第二项是提交委托单或报价。由于延迟很自然会把速度降下来,所以那些最激进的公司都会用尽可能直接的方式接入交易所。
高速数据通道
最激进的高频交易公司会在全美所有的交易撮合引擎所在的位置部署交易服务器,通过将高频交易系统分散到多个地点,力争最小化与各交易所之间的通信时间。
第五章 揭开面纱
高频交易服务器的位置
服务器分别部署在8个不同地点的数据中心里,其中的6个共置在交易所附近的站点,目的是以低延迟访问交易所的撮合引擎和市场数据发布端口,另外两个则是控制服务器,负责协调各个远程服务器的行为,包含了交易台和后台支持的功能,必要时会有人负责通过它们对系统进行监控和维护。
基础设施:系统通信和数据库
为了让一系列低耦合度的计算机程序组件之间能够互相沟通,会在系统中的每一个远程和控制服务器中植入一个Tervela公司的TMX信息交换机以及它的支持产品。TMX交换机将作为所有需要相互通信的组件之间的信息中转站。
各种组件:策略组件、监听组件、定价组件、交易组件、管理组件
在系统中,组件是用C++语言编写的,并且运行在Linux操作系统的一个定制版本上,这个操作系统已经被优化过了,移除了所有不需要的部件,并且被安装在多核处理器上。这些高独立性的低耦合组件将会使用TMX服务进行相互通信,并使用数据库在必要时对数据进行存取。
交互场景
时刻1、2、3:在这个场景里,最初发生的事情是ES期货合约的价格变动。
时刻4:股票电子眼会执行吃掉动作慢的策略,把市场上那些来不及更新的申买或者申卖委托单吃掉。
时刻5:股票交易引擎将会接收到从交易所发送回来的成交反馈。
时刻6:期权交易引擎将交易完成的信息传递给风险管理器和自动对冲器
时刻7:自动对冲器计算期权交易所带来的delta风险暴露,风险管理器表明风险暴露已超标。
时刻8:期权组合器下单交易一个跨市期权组合。
时刻9:交易所向期权组合策略执行器发送跨市期权组合交易成功的消息。
第六章 有关高频交易的争论
好处:市场更紧、更深;价格一致性更高;计算机在市场中不会恐慌。
担忧:价格操纵、主机共置、增加市场波动性、魔鬼交易以及其他各种风险和担忧。
三、经典摘录
1、高频交易系统就是一系列计算机服务器和运行在其上的软件,它们监听市场数据,在其中搜索能带来利润的交易机会,并试图抢在别人之前将机会转化成利润。
2、策略、技术和数学这三条腿之间互相隔着120度,不管哪条腿短了,高频交易都站不稳。
3、交易软件需要测试,而对于高频交易系统,由于苛刻的时间要求和系统的复杂性,软件的测试和质量检验可能成为一项让人精疲力尽的工作。
4、任何一个在交易系统开发领域工作过的人都知道在产品更新之前,你会常常需要用到“即时补丁”和“紧急漏洞修复”之类的东西。
5、最难以对冲的风险是vega,它代表期权价格对标的物波动率变化的敏感程度。就像计算期权的理论价格,计算vega这类希腊字母都需要波动率这个参数。通过维护一张共同的波动率曲面,做市商能够在持有这一系列的期权头寸的组合时只关注组合的单一vega值。从而通过对一张合约的买卖操作对冲另一种合约的风险。
6、大多数工程师会在设计中为两个目标而努力——模块化和低耦合。模块化指在建设一个庞大的系统的过程中,首先设计并建造许多相互之间相对独立的小模块,之后将这些小模块关联在一起构成整个庞大系统。耦合性指系统模块之间的交互,或者说通信的方式。如果这些通信接口简洁且开销很小,那么这些模块就被称为低耦合。
7、高耦合的模块之间需要相对来说很复杂的通信机制,所以它们之间相互依赖的程度很高。为了让系统能适应变化,设计的目标应该是一组独立性很高的组件,它们通过一些很简单的接口将各种复杂的内部操作或实现隐藏起来。使用低耦合的组件构造的系统更容易修改。要在系统中添加新功能,只要创建并引入新的对象就行了。
8、你绝不会想要一辆只是换个前灯就会让刹车失灵的汽车。
9、一个真正能够运行良好的复杂系统一般都是在更简单且可行的系统基础上演进而来。
10、高频交易系统的开发者经常需要在一系列的排序和查找算法中进行选择。算法之间的差异主要在于时间效率、空间占用以及准确度上。
四、结语
虽然撰书的时间已距今约莫10年,但仍不失为一本对高频交易答疑解惑的有用工具书。高频交易者的形成发展历史,一般被解读为从做市商演变而来。在做市基础上,高频交易叠加了更细致的报价监测与价格预测。一群数理专家利用统计套利等方法,勾画出阿尔法,即收益空间的预期基准。然后,再通过对市场现有报价与预测价格的两两比较进行套利交易:如果市场现有报价的收益空间大于阿尔法(基准),则进行毫秒甚至微妙级别的高卖低买。