7447 字
37 分钟

第7章 执行模型

TL;DR:屏幕上的目标组合和真正持有这个组合是两回事,执行就是把前者变成后者的最后一环。执行算法的目标只有两个——尽可能低的价格、尽可能完整地成交,而衡量它的标尺是中间市场价格和 VWAP。核心决策有四个:进取还是被动、用哪种订单类型、订单拆多大、发到哪个流动性池。基础设施上宽客要在「买还是建」之间选择:DMA、主机托管、FIX 引擎、软硬件,每一层都可以外包也都可以自研。交易次数越多,省下的每一分成本越值钱——这条推论决定了一家公司该在执行上投多少钱。

详读#

执行:黑箱的最后一块拼图#

前面几章走完的路径是:阿尔法模型、风险模型、交易成本模型三路输入,喂给投资组合构建模型,吐出一个目标投资组合。纳兰在本章开头点破一个容易被忽略的落差——电脑屏幕上或一张纸上的目标组合,和真正拥有这样一个组合,完全是两码事。黑箱的最后一部分,就是通过执行所需要的交易,把构建模型算出来的组合真正落到账户里。

执行只有两种基本途径:电子途径,或人为中介(经纪商)。绝大部分宽客选电子交易,因为交易量通常很大,指望人工完成既不现实也没必要。电子化交易靠直接市场准入(DMA)实现——交易者借经纪公司的基础设施和交易接口,在 ECN 等电子市场直接下单。作者为行文方便,把所有流动池(ECN、交易柜台或其他)统称为交易所。他特意澄清两点:DMA 不是宽客专属,很多主观判断型交易者也在用经纪商的 DMA 平台;而且通过 DMA 提交的单子仍然可以人工敲进去,只是人手输入电脑后直接传给电子交易系统。

过去的流程是打电话给经纪商,由经纪人「处理」订单——挑时机、挑规模、挑价格,大宗交易还要和对手方谈价。现在执行算法(execution algorithms)对订单运行更可靠:它包含完成订单的逻辑结构,含有为减少市场冲击而把大单拆成小单的说明,以及应对限价指令簿和价格变化的各种措施。获得执行算法有三条路:自建、用经纪商的、从第三方软件厂商买。

一揽子竞价:花钱买价格的确定性#

在算法之外,作者简单描述了一种非典型的量化执行方式——一揽子竞价(portfolio bidding)。交易者把想交易的一篮子组合用特征描述出来(多空价值比率、行业、市值等),经纪商据此报出一个费用,通常以组合总市值的点数计(100 点=1%)。作为交换,经纪商保证以给定价格完成交易。本质上,宽客买的是交易价格的确定性,经纪商收费并承担未来市场价格比承诺价格更好或更坏的风险。作者点评说,量化组合的人为执行看起来往往就是一揽子竞价的样子,而不是执行一系列单独订单。

拉远看,今天的量化交易流程和人工执行的年代并没有本质区别:有人爱亲手执行,有人外包给经纪商,还有人外包给第三方执行服务公司、由后者代表自己去和经纪商交涉。发达国家交易所的绝大部分交易量都是算法执行的委托订单,这些交易量相当于另一种形式的现金——它们给经纪商带来大量佣金,经纪商为了争抢这块业务,会自愿倒贴研发、数据、帮助募集资金等服务。作者在脚注里补充,经纪商的收益不止佣金:作为资金托管机构收取的清算与持仓结算费,有时还有股票借贷费。

两个目标,以及「印迹」这个隐形成本#

执行算法的目的只有两条:以尽可能低的价格,尽可能完整地完成订单。作者强调这两条同等重要。完整性重要,是因为最优组合是投资组合构建模型精挑出来的,交易若不能完全执行,等于持有一个和计划完全不同的组合。低成本的重要性第 5 章已经讲过,一句话概括就是每次交易省下的成本会累积成更好的组合表现。由此推出一个看似简单却影响深远的结论:交易次数越多,每次省成本越重要。对不频繁操作的策略,一套昂贵的快速交易基础设施就是过分——快速交易相对普通速度的收益有限,只有当收益足以弥补频率带来的差别时才值得追。

降成本要对付市场冲击和滑点,而它们背后有个共同驱动力叫印迹(footprint)——可被探测到的市场参与者行为模式。作者用了个打猎的比喻:森林里追踪者就是这样看脚印的。算法一旦留下明显印迹,别的参与者能预测你的行为、跟着做同样的操作,你的市场冲击和滑点就被放大。

怎么量执行质量:中间市场价格与 VWAP#

第一个概念是中间市场价格(mid-market),即最佳买入价与最佳卖出价的均值,是判断成交价是否公平最标准的方法。若买家能在最佳买入价成交,价格明显低于当时的中间市场价,这笔交易就算成交在有利价位(在最佳卖出价卖出同理)。第二个是交易量加权平均价格(VWAP),衡量一个或几个交易日内多笔交易的执行质量的最标准基准,因为它就是当天成功交易的加权平均价格。但作者立刻指出它的坑:如果某天有买家买入巨量大单,这笔交易量本身很可能抬高股价和 VWAP,于是他自己的交易活动污染了评判自己执行算法的基准——基准的解释就变得非常麻烦。

进取订单与被动订单:急切程度的频谱#

执行的第一个决策是进取还是被动。进取订单(多数市价订单)投放进市场一般无附加条件,只要订单簿上有对应方就成交,可以被拆分也可以整体成交,价格是执行当时最优惠的市场价。被动订单(限价订单)让交易者控制自己能接受的最坏价格,代价是可能根本不成交或只成交一部分,还要面对一个大问题——逆向选择(作者反复预告第 14 章详谈,并在脚注里给出定义:买卖方信息不对称导致通常发生不好结果的趋势)。

所有限定价格的买卖申报指令的集合就是限价指令簿。电子市场给每张订单排优先级:最佳价格优先;同价时明订单优先于暗订单;再分不出来就按时间先后。但有些市场不按时间优先,而是同价订单按进取订单的量按比例分配。作者举了一个设例说明:某产品最优买入价 100 美元上有两张单,分别买 100 单位和 900 单位;此时一张卖 100 单位的进取订单进场,成交在 100 美元,则 100 单位那张分到 10 单位,900 单位那张分到 90 单位,两张分别还剩 90 和 810 单位继续等。

这种分配机制催生两个病:规模虚大——交易者故意把限价单挂得比真实意愿大,以抢到进取订单更大的份额,风险是成交头寸超过自己想要的规模;交易过量——订单挂太小,就得反复建单撤单。作者顺着设例往下推:想买 100 单位的人,因为有 900 单位在同价竞争,一次只成交 10 单位,要等到市场出现大量卖单才可能填满,这期间要忍受严重的逆向选择风险(脚注点明:撮合成功时通常有坏消息,因为成交后短时间内价格常朝你不希望的方向走)。这反过来逼迫交易者在与大单竞争时快速撤单重挂;如果撤单率不够高,理论上会陷入永远停不下来的规模虚大恶性循环。

从市价到限价:跟单、推单与「合理价格」#

限价订单本身也有进取程度之分。以当前最佳卖出价挂的限价买单其实是进取的,因为它直接以对手价成交、把最佳卖出价从簿上移除(卖出价拉升);低于最佳卖出价的限价买单才是被动的。交易所的费用结构让事情更复杂:很多交易所付费给流动性提供者(挂被动单的人)、向流动性消耗者收费,被动成交不仅拿到更好价格还能收到返利(作者给的数量级是每股 0.2 美分),代价是成交概率下降和逆向选择;但也有交易所反着来——向提供者收费、付费给消耗者。所以返利到底站在哪一边,取决于订单被判定为被动还是进取,也取决于你把单发到哪里。

策略类型也决定进取程度:动量型阿尔法配进取执行,因为不快市场形势就变了;均值回复策略倾向被动执行,因为它的风险是当前趋势继续,被动至少能拿到更好的执行价,缓冲逆势而为的下行风险。另一个考虑因素是信号强度和模型对信号的置信水平——强而确定的信号用更积极的执行。作者用了个极端设例来说明:假如你有内幕消息知道某股几天内翻番(他明确注明现实中这当然不合法),你会很乐意花大钱进取买入——涨幅以数美元计时谁还在乎每股几美分。反过来,对一只毫无消息的股票被问出价,你多半会报一个留足安全边际的很低价格。

一个常见折中是把限价挂在最佳买卖价之间(前提是价差大于最小报价单位),这样能跳到排队序列最前面,付出的价格比被动等待略高,但成交概率高很多,也不太可能遭受逆向选择。术语上,在最佳买入/卖出价下单叫跟单(joining),生成新的最优买入/卖出价叫推单(improving)。随着宽客搜集研究限价指令簿数据,算法开始按订单簿的各种「形态」调整主动性。作者以「合理价格」举例:最传统的报价是最近一笔成交价,但那只告诉你别人刚做了什么,不是你现在该怎么做;最佳买卖价有用得多,但如果最佳买入价上挂着 10000 单位、最佳卖出价只有 1 单位呢?这说明买入价那一侧更关键。于是很多算法计算合理价格来反映簿上买卖的不均衡。

其他订单类型:暗订单、冰山、以及 ISO 这个漏洞产物#

作者坦言交易所与规则太多、订单类型不断新生和淘汰,不可能穷举,只列常用的。暗订单以牺牲同价明订单的优先权为代价,让别人看不到自己的订单信息,目的是隐藏交易意图同时仍能交易——因为明订单会泄漏信息,市场能从某时点买卖单的不平衡感应到即将到来的市场冲击(这与前面的合理价格是同一件事的两面)。代价是排队优先权下降、成交概率降低。**冰山算法(iceberging)**是用暗订单的一种做法:把大单拆成很多小单,绝大部分以暗订单形式挂在簿上,别人只看得到海平面以上那一角。作者提醒只有部分交易所允许暗订单。

其余列举包括:收盘市价订单(在收盘竞价阶段发出的市价单)、停止限价订单(必须按订单价或更好价成交,否则等该价格重现再执行)、立即全部执行或撤销订单(fill-or-kill,立即全部成交否则自动撤销)、全部成交或不交易订单(all-or-none,与前者类似但没有撤销机制,不能马上全部成交就继续留在簿上)、取消前有效订单(good-till-canceled,收盘不自动取消,可持续数天数周直到明确撤销)。作者的结论是:策略执行强度越高,宽客越需要吃透当下的订单类型和各交易所规则。

**扫架订单(ISO)**被单列出来讲,因为它纯粹是 NMS 规则漏洞的产物。NMS 禁止「封闭市场」——最佳买入价与卖出价相等却无法撮合的状态。作者用 WXYZ 这个设例拆解:你挂 100 美元买 5000 股,最佳卖出价恰好 100 美元但只有 3000 股,最佳买入价 99.99 美元。常识上应是 3000 股成交、剩 2000 股以 100 美元进簿并成为新的最佳买入价。但交易所是成交后才更新指令簿,撮合软件反应慢,那 3000 股卖单不会立刻消失(脚注点名这类软件叫 SIP,纳斯达克代码用 UQDF,NYSE/AMEX 及部分区域性交易所用 CQS);由于禁止封闭市场,必须等延迟解决后剩下的 2000 股才能进簿。而向合并指令簿供单的各交易所会把数据直接喂给自己的客户公司,这些公司没有这个延迟——它们看到最佳卖出价被移除、看到有大买单,就抢先挂出 100 美元买价,等你的 2000 股终于获准进簿时,优先权反而低于这些后来者,尽管你下单更早。为躲开这个坑,精明的交易者会争取到使用 ISO 的承诺:经纪商有权判断委托公司自觉遵守 NMS 的能力,认可其自我合规检查后,允许它给订单打上 ISO 标志。回到例子里,这样的交易者能直接拿到 100 美元的 3000 股,并立刻以最高优先权在 100 美元竞价 2000 股。作者的态度很明确:ISO 的存在仅仅因为 NMS 禁止封闭市场,以及交易所为满足 NMS 采用的落后技术。他还在脚注里挑了措辞的刺——「封闭(locked)」这个词用得不当,那只是个买卖价差为 0 的指令簿,本该是想要鼓励的结果。

大订单还是小订单#

不论市价还是限价,宽客都得决定交易量。交易成本模型已经给出结论:与小订单相比,大订单的交易成本会不成比例地快速上涨,因为流动性需求越大,流动性供给的价格越高。因此大单常规做法是拆分——作者举的量级是把一张 100000 股的单拆成 1000 张 100 股的小单,在某个时间窗内分别交易。代价是在这段时间里承担价格波动风险(立即执行的价格与分散出单期间的价格可能差很多)以及市场冲击的额外成本。但普遍共识是分散出单有效降本,这也是执行算法极常见的特征。拆多大取决于交易成本模型对该产品各种规模订单的成本估计,也取决于对进取程度的判断——吸引力较强的订单执行得更快。如果不需要那么进取,还有另一种走法:先以最优卖出价下单买入,然后等别的参与者下单后再以同价买入,这样能锁在第一笔订单执行时的最佳卖出价,而不至于滑点成一个更高的平均价。

何处下单:智能路由与暗池#

同一产品在有些市场存在不同的流动性分池,作者点名 BATS 和 Archipelago 是当时交易美股的两个备选池。智能下单方法(smart order routing)研究很多,但作者说这个决定通常很直接:哪个池价格更好就去哪个。NMS 于 2007 年通过,目的就是减少同一股票在不同池有不同最优价的现象,后果之一是各有效池的最优买卖价必须同时展示在所有池——这削弱了美股智能路由的优势。但很多其他市场仍是碎片化结构,智能路由依然重要;而且美股不同池之间也存在暂时性或较长时间的差异。

新动向是暗池在执行中作用日益增强。交易平台分明、暗两类:明平台上参与者能从限价指令簿看到买单的价格和规模,暗平台不提供这些信息。暗池最显著的特征是便于大单执行,因为订单不会公布;有对应订单时以买家的出价成交,双方之外无人知道这笔交易发生过。结合前面订单簿规模如何影响别人决策的讨论,订单信息不被知晓显然大有裨益。作者引用估计:美股超过 30% 的交易量通过暗池完成(脚注给出来源为 Matthew Philips 在 Businessweek 2012 年 5 月 10 日的文章)。他还提醒一个更宽的口径——暗池流动性包含所有不发生在明平台的交易,比如绝大部分零散订单是被做市商撮合的、并不真在交易所发生(详见第 15 章)。加总起来,暗池流动性在美股的比重越来越大,交易所与暗池、交易所与做市商、做市商与非做市商之间正在打一场争夺战。

交易基础设施:买还是建#

执行需要交易所与交易者之间的连接、双方之间的信息传递协议,以及宽客实施策略所用的软硬件。每一层都是「买还是建」的抉择。由于监管要求和其他限制,绝大部分交易者用第三方经纪公司做执行代理,好处是基础设施问题都由经纪解决——自己复制一套非常昂贵。

最常见的连接方式是 DMA,通过经纪商的服务器把待交易订单分发到不同流动性池。但一些宽客、尤其是高频策略,用的是较新的主机托管(colocation):把交易服务器的物理地址尽可能靠近交易所,很多时候就是和交易所服务器同处一个数据中心,为的是缩短订单以光速传输的距离。作者给了对照数字:高质量的典型 DMA 平台,订单从交易者服务器发出到抵达交易所一般有 10~30 毫秒延迟;合理设计的主机托管渠道延迟不到 1 毫秒——对延迟敏感的策略这是很有意义的提高。

通信层最重要的是 FIX 协议(Financial Information eXchange)。它始于 1992 年,最初只是富达投资公司(Fidelity Investments)和所罗门兄弟公司(Salomon Brothers)之间的一个通信框架,后来长成世界上大部分银行和资产管理公司之间实时电子通信的选择,股票和期货交易所也在用。考虑到每天订单和执行信息以数十亿计,标准化格式至关重要。FIX 协议免费开源,实现它的软件叫 FIX 引擎,但并非所有 FIX 引擎都一样;买和建的宽客都不在少数,对延迟极敏感的高频交易者更倾向自建个性化引擎以确保最佳通信速度。

软硬件同理。买现成很容易:标准化硬件配置的电脑、现成的订单管理系统、第三方执行算法。另一头,一些量化公司定制专属芯片,用比商用芯片更快的速度完成特定交易功能——个性化硬件通常比纯靠软件更快,但硬件一旦定制就很难改,过于固化。宽客还会把算法、数据库、执行软件都做精炼以缩短内部延迟,连操作系统这种最基础的配置都在考虑范围内:绝大部分宽客用 Linux 或 Unix,因为更容易配置、执行效率更高,计算性能优于 Windows。作者插了一段亲历见闻:几年前一家量化交易公司告诉他,他们使用应用在 Sony PlayStation 3 上的处理器,因为它比当时任何强大的个人电脑或服务器都快得多。此后,本用于图形转换驱动的 GPU 也逐渐进入量化交易系统,因为 GPU 比通常的 CPU 快很多。

小结:谁该自建执行#

作者把成本账摆出来:使用第三方提供的算法交易,通常会比用自己的算法贵 5 倍以上。但构建世界级交易基础设施的成本和技术难度,又让很多宽客——尤其是长期策略或小规模组合——选择从经纪商或执行服务商那里买,费用通常打包在佣金里。结论因此是分层的:只有对经验丰富或管理众多资产的交易者,构建专有的执行模型和基础设施才值得。他给执行下的定语是——「执行就像是橡胶轮胎接触路面一样」(本章小结),宽客只有通过执行才与其他市场参与者产生联系。至此黑箱内部的最后一部分讲完,下一步转向理解量化策略所需的数据。

关于本章的图与一处提醒#

章末的「图 7-1 黑箱结构」在可用的文本中只有图题、没有图形内容,无法据此描述其结构,因此本篇不做任何还原或推测。此外本章大量的机制说明(按比例分配、WXYZ 扫架、内幕消息)都是作者自设的算例或思想实验,而非真实事件,本篇在正文中已逐一标为设例,案例档案中不予收录。

案例档案#

案例一句话经过在书中的作用(佐证哪个论点)
FIX 协议诞生1992 年起源于富达投资与所罗门兄弟之间的一个通信框架,后成为全球银行、资管与交易所的实时电子通信选择,免费开源说明电子化交易需要标准化通信协议;引出「FIX 引擎买还是建」的抉择
Reg NMS(2007 通过)旨在减少同一股票在不同流动性池有不同最优价,要求各有效池同时展示最优买卖价双面证据:既削弱了美股智能路由的价值,又因禁止「封闭市场」+ 交易所落后撮合技术而催生 ISO
BATS 与 Archipelago当时交易美股的两个备选流动性分池佐证「何处下单」是真实决策,智能路由有对象可选
暗池占美股交易量超 30%作者引用 Matthew Philips 于 Businessweek(2012-05-10)的估计量化暗池的重要性,支撑「暗池执行方式需要更多思考」的结论
SIP / UQDF / CQS美国交易所用于处理报价的软件:纳斯达克代码用 UQDF,NYSE、AMEX 及部分区域性交易所用 CQS指认 ISO 问题的技术根源——指令簿更新有延迟
某量化公司用 PlayStation 3 处理器作者自述几年前一家量化交易公司告诉他,他们采用 PS3 上的处理器,因其远快于当时的 PC 与服务器佐证宽客在硬件层的极端定制倾向;引出 GPU 进入量化系统
交易所返利机制部分交易所付费给流动性提供者(约每股 0.2 美分)、向消耗者收费,也有交易所反着做说明被动/进取的选择还被费用结构反向影响,且与「发到哪里」耦合

延伸案例(编者补)#

编者补,非原书内容。本章反复指出,ISO 与「封闭市场」之争的根子在于「谁先看到订单簿变化」的速度差。沿这条线往后,2016 年美国证监会批准 IEX 成为正式交易所,其核心设计是在订单进出前加一段约 350 微秒的「减速带」(speed bump),刻意抹平快慢参与者之间的信息时间差。这与纳兰批评的方向正好互补:他批的是被动等待被人为强制(延迟带来劣势),IEX 做的是主动对所有人强制同等延迟(延迟带来公平)。读者可把它当作「延迟是成本还是规则设计工具」的一个对照,但它不是原书论述,本章成书时也未涉及。

怎么用#

  1. 先用交易频率给执行预算定档,再谈技术。 本章的推论很硬:交易次数越多,每次省成本越值钱;反过来,低频策略配一套昂贵的极速基础设施就是浪费。所以先算清楚自己一年要成交多少次、每次省 1 个基点值多少钱,再决定要不要碰主机托管、自研 FIX 引擎、定制芯片。作者给的判断线是——第三方算法比自研贵 5 倍以上,只有经验丰富或管理资产众多的交易者,自建才值。
  2. 让执行的进取程度跟着策略类型和信号置信度走。 动量类配进取执行(慢了行情就变),均值回复类配被动执行(用更好的执行价缓冲逆势风险);同一策略内部,信号越强越确定就执行得越积极。想要折中就把限价挂在买卖价之间(前提是价差大于最小报价单位)——排队跳到最前、成交概率高得多、还不太容易吃逆向选择。
  3. 用 VWAP 评估执行时,先问自己有没有污染基准。 本章明确警告:你自己的大单会抬高价格和 VWAP,于是评判你的尺子被你自己弯了。大单占比高的日子,别把「打败 VWAP」当成绩,改用中间市场价格这类不被自身交易活动带偏的参考。

要点清单#

  • 屏幕上的目标组合 ≠ 真实持仓,执行是黑箱的最后一环,也是宽客与其他市场参与者唯一的接触面。
  • 执行算法的目标只有两个且同等重要:价格尽可能低、订单尽可能完整——不完整成交等于持有一个和计划不同的组合。
  • 交易次数越多,单次省成本越重要;这条推论直接决定一家公司该在执行基础设施上投多少钱。
  • 市场冲击和滑点背后是「印迹」:算法一旦有可识别的行为模式,别人会跟着做,把你的冲击和滑点放大。
  • 进取/被动是一条频谱:市价单最进取,远离市价的限价单最被动;跟单是挂在最优价,推单是生成新的最优价。
  • 被动单能拿返利和更好价格(数量级每股 0.2 美分),代价是成交概率下降和逆向选择;且有的交易所费用结构完全反过来。
  • 按比例分配的市场会同时催生规模虚大和交易过量,二者互相逼迫,撤单率不够就是停不下来的恶性循环。
  • 大单拆小是执行算法极常见的特征(如 100000 股拆成 1000 张 100 股),拆多大由交易成本模型和进取程度共同决定。
  • 暗池占美股交易量超 30%,其价值就在于不公布订单;广义的暗池流动性还包括做市商撮合的零散订单。
  • ISO 纯粹是 NMS 禁止「封闭市场」+ 交易所撮合技术落后的产物,作者连「locked」这个措辞都认为用得不当。
  • 基础设施每一层都是买还是建:DMA(10~30 毫秒)对主机托管(不到 1 毫秒)、FIX 引擎买还是自研、通用芯片还是定制硬件(更快但固化难改)。
  • 作者给执行的定性:它像橡胶轮胎接触路面——策略再好,不落地就什么都不是。