Local EPUB Text
订单执行算法
一个有趣的话题是如何度量执行算法的效率。这里有几个主要的概念值得一提。第一个概念是中间市场价格(mid-market),反映的是对某一产品最佳买入价和最佳卖出价的均值(根据定义是指这两个指标的平均数)。这是判断交易价格是否公平最为标准的方法。例如,如果有买家能够以最佳买入价成交,这个价格显然低于当时的中间市场价格,这笔交易会被认为是以一个很有利的价格成交的(就像在最佳卖出价卖出一样)。
第二个术语是交易量加权平均价格(volume-weighted average price,VWAP)。VWAP是最为标准的基准指标,用以衡量(一个或几个交易日中)进行多笔交易时执行算法的质量。VWAP可以反映出如何对一天中的交易量定价。因为VWAP是当天成功交易的加权平均价格,所以该指标是衡量算法效率的合理参考指标。问题在于有些投资者会被VWAP指标所误导。如果有一天有股票买家买入巨量大单,这个交易量很可能会抬高股票价格以及VWAP。这样的话,他自身的交易活动影响到了评判其执行算法的基准,这就给基准的解释带来很大麻烦。
订单执行算法主要从以下几个方面进行考虑:是否要采用进取订单或被动订单;采用何种类型的订单;如何决定最佳订单规模以及将订单发送到何处。以下我们将一一加以简单介绍。
进取订单和被动订单
执行订单有两种基本方法:进取型和被动型。进取订单(大多数市场订单是进取型的)投放进入市场,一般无附加条件。当执行订单时(在合理范围内,只要订单簿上存在买入或卖出订单,就可以和对应方交易),进取订单可以被拆分也可以整体成交,价格则是执行订单时最优惠的市场价格。相反地,被动订单(一种限价订单)允许交易者控制其意愿进行交易的最坏价格,但交易者必须承担这样的后果:他提交的订单可能根本不会被执行或只有一部分会被执行。这里也存在一个很大的问题:逆向选择。对此我们将在第14章详细讨论。
对某种证券,所有限定价格的买卖申报指令(均为被动订单)的集合称为限价指令簿(limit order book)。在电子化市场上,进入交易市场的每一张订单都会给出先后顺序。最高的优先级给予具有最佳价格的订单(对卖单而言是最高买入价,对卖单而言是最低卖出价),次之的优先级分给价格差一点的买卖单。在绝大部分交易所,如果两个交易者报价相同,明订单交易者比暗订单交易者的优先级要高。对于仍无法区分先后优先级的交易者,通常都是让先提交的订单优先成交,这一点倒是毫不意外。
在一些市场上,并不按照时间优先原则,而是价格相同的所有订单具有相同的优先级,但它们会根据进取订单的量按比例进行分配。例如,对某种金融产品有两个订单的买入价都是100美元(我们假设其为最优买入价),两个订单分别要买入100单位和900单位。假设有一个进取订单进入市场,要卖100单位的该产品,系统会撮合以100美元的价格成交。被动订单会进行如下分配:要买入100单位的订单会分到10单位,其余90单位分配给想买入900单位的订单。两个买入订单分别还有90和810单位未成交继续等待。这些市场要特别注意防范规模虚大和交易过量等问题。
规模虚大是交易者为了应对按比例分配而采取的一种应对措施。由于进取订单是根据限价指令簿上处于相同价格的各个限价指令的规模按比例进行分配的,一些交易者加大其限价订单的规模,这样会得到进取订单更大的份额。但这样也存在着这么一种风险:订单规模过大导致成交头寸超过交易者希望成交的被动订单的规模。
另一方面,如果交易者设定订单规模过小,就必须建立和取消很多个订单,这被称为交易过量。假设有交易者想买入100单位的某金融产品,当卖出100单位该产品的进取订单进入市场时,如果在限价指令簿上还有其他订单要买入900单位该产品,那么这个交易者就只能成交买入10单位。在交易者等待他的订单完全成交时,他可能需要等待市场出现大量的卖单才可能完成100单位订单的完全撮合,具体数量取决于具有相同报价的其他订单的规模。这意味着交易者要忍受逆向选择的严重风险,具体细节将在第14章详细讨论(撮合成功时通常有坏消息传来,因为交易成功后短时间内价格可能沿着你不希望的方向波动)[1]。这反过来要求交易者在与规模较大的订单竞争时,必须迅速撤销已有订单并提交新的订单。如果在这种市场上没有足够高的撤销率,就会陷入(理论上)永远无法停止的规模虚大的恶性循环。但是当交易者撤单时,规模虚大的订单可能也需要撤销,因为它被撮合成交的规模很有可能会超出交易者的预期。
无论如何,执行算法必须做出的第一个决策是选择进取订单或被动订单。进取或被动代表了交易者希望进行交易的急切程度。市价订单都是进取订单,因为交易者告知市场希望其订单立刻被撮合成功,成交价格就是当前的市场价格。当市价订单为买入订单时,至少要支付当时的卖出价;当市价订单为卖单时,成交价格至多为当前的最高买入价。如果订单规模超过当前的买入价(卖出价)所能提供的量,交易会以多个买入价或卖出价依次执行。如果交易者确实想立即交易,付出这样的交易成本是值得的。
限价订单也可以看作不同程度的进取型订单。例如,以当前最佳卖出价进行交易的限价买单是进取订单,因为这种订单直接以对手价成交,直接从订单簿中移除了最佳卖出价(也称为卖出价拉升)。反过来,低于当前最佳卖出价的限价买单就属于被动订单,因为相当于交易者表示可以忍受撮合成功的概率低一些,交易者只需要支付之前他所设定的价格。除了承担这种不确定性,被动订单还会受到一个很严重问题的干扰:逆向选择。发出进取订单愿意以对手价成交的交易者,可能已经得到信息,知道他正在执行的订单值得以对手价成交。正如我们在交易成本模型中所讨论的那样,很多交易所支付费用给流动性的提供者(发出被动订单的交易者),而要求流动性的使用者支付费用,这使得问题更加复杂。换句话说,以对手价成交的订单使用或“消耗”了流动性,因为以该种方式成交的每一份合约都消耗了其他交易者所发出的被动订单,从而减少了别的市场参与者可以获得的流动性。
支付费用给流动性的提供者的做法促进了被动订单交易,但只是在订单撮合成功时。被动型交易者不仅得到了一个更好的交易价格,而且会收到交易所的佣金返利(通常是每股0.2美分)。但同时,付出的代价是撮合成功概率的下降以及可能会遭受逆向选择问题。值得注意的是,一些交易所的做法是相反的:向流动性的提供者收费而付费给流动性的消耗者。因此,提供(消耗)流动性的返利取决于如何判断被动或进取订单。这也取决于怎么回答在何处提交订单的问题,这也将是在“在何处发送订单”部分所要讨论的一个主题。
一般来说,动量型的阿尔法策略会和进取型的执行策略配对使用,因为如果不使用进取型策略,市场形势可能很快就会发生变化。而均值回复策略倾向于使用更加被动的执行策略,因为该策略的风险在于当前的市场趋势仍将继续,采用被动策略至少可以得到更好的执行价格,从而减缓逆势而为的下行风险。
采取进取型还是被动型执行策略的另一个考虑因素是信号强度和模型关于信号的置信水平。相对于较弱的不太确定的信号,比较强烈的、更具有确定性的信号将会以更加积极的策略加以执行。这一点可以通过一些极端例子比较容易地进行阐述。假如你有内幕消息知道几天内某只股票的价格将会翻番,因为别的公司将会宣布大笔买入该股票。如果根据内幕消息进行交易是合法的(实际上当然不是),你可以很高兴地花一大笔钱到市场上发出进取型订单大肆购进该股票。当上涨幅度以数美元计算时谁还会去计较每股几美分的费用?另一方面,如果你对某只股票没有任何消息,但想卖出该股票的人问你愿意出什么价钱,你很有可能会给出一个达到安全边界的很低价格。
一个常见的折中做法是将限价订单的价格设定在介于最佳买入价和最佳卖出价之间的某个价位(只有最佳买入价和卖出价之间的价差大于最小报价单位时,该方法才具有可行性)。这样,交易者的订单可以跳到等待执行的订单序列的最前面。尽管交易者所支付的价格比被动地等待订单执行要稍高一点,但所带来的好处要超过形势变得更糟糕的情形。同时,订单被执行的概率也比把订单设定成当前最佳买入价或卖出价要高很多。此外,这种情形下交易者也不太可能遭受逆向选择问题。在交易术语中,以最佳买入价或卖出价下单称为跟单(joining),生成新的最优买入价或卖出价的下单称为推单(improving)。
随着宽客对限价指令簿的数据进行搜集和研究,订单执行算法正变得越来越复杂,根据限价指令簿的各种“形态”变化来调整订单执行的主动性。可以通过金融产品合理价格的一个例子加以说明。提及某种金融产品的价格,最传统的做法是指明其最近一笔的成交价格,或最佳卖出价买入价。但最近一笔成交价格只是告诉我们别人刚刚做了什么交易而不是现在你应该怎么做,因此对于交易的指导意义有限。显然最佳买入价和卖出价有用很多,但如果处于最佳买入价的订单有10000单位,而最佳卖出价只有1单位呢?这说明买入价的价位更为关键。因此,考虑到这种不均衡情形,很多算法通过计算合理价格来反映限价指令簿上买入卖出订单间的不均衡。
总的来说,订单执行算法的第一个特征是订单的进取程度,可以通过频谱(spectrum)的概念加以理解。市价订单处于频谱最为进取的一端,最为被动的一端是设定价格远离当前市价的限价订单。订单的进取程度通常取决于所选用交易策略的类型,也依赖于信号强度以及系统关于信号的置信水平,有时也会考虑到订单簿信息,如合理价格等。
其他订单类型
考虑到交易所及其规则的多种多样,试图在这本书中涵盖每一种可能的订单不可能取得太好的效果。由于各个交易所中新的订单类型不断涌现及旧的交易类型不断被淘汰,更加难以做到涵盖每一种订单。但是需要对在各大活跃交易市场上通用的一些订单类型有所了解。本节将列出这样的一些订单类型。
暗订单(hidden orders)是指以牺牲与相同价位的明订单的优先权为代价,让市场其他参与者看不到自身订单信息的交易方式。暗订单的主要目的是,向其他市场参与者隐藏交易者的交易意图同时仍可以进行交易。正如上文所讨论的,如果交易者发出一个明订单(允许其他市场参与者看到)进入市场,他会泄漏一部分信息。如果已经买入很多单位的某金融产品,而有的交易者再次提交了买单,可以想象价格会很快上涨,导致交易所需要的费用上升。换句话说,基于某一时点买卖单的不平衡性,市场可以对市场冲击有着很全面的感应(这一点和我们在之前讨论的合理价格有很大关系)。发出暗订单并不会向市场提供任何信息,有助于降低市场对不均衡性的感知。但同时,暗订单也降低了订单在等待序列中的优先权,导致被执行的概率降低。
使用暗订单的算法类交易策略有很多,冰山算法(iceberging)是其中一种。冰山算法是通过将一个大单拆分成很多小订单,绝大部分小订单以暗订单的形式出现在指令簿上。这样,其他交易者看不到这个订单的大部分交易,就好像只能看到冰山处于海平面以上的部分一样。需要指出的是,只有部分交易所允许暗订单交易。
此外,还有另外一些种类的市场和限价订单,如收盘市价订单(market-on-close orders)、停止限价订单(stop-limit orders)等。收盘市价订单是通知经纪商在交易日的收盘竞价阶段发布的市价订单。停止限价订单要求经纪人必须严格按照订单价格成交或在更好价格水平上成交,否则就要等到订单价格或更好价格重新出现时再执行。还有些订单的修正版本,如立即全部执行或者撤销订单,全部成交或不交易订单和取消前有效订单等。立即全部执行或者撤销订单(fill-or-kill order)是指所下达的订单立即全部成交否则自动撤销。全部成交或不交易订单(all-or-none order)和立即全部执行或者撤销订单类似,但没有撤销机制,所以如果一个订单无法马上全部成交,仍存在于指令簿上而不撤销。取消前有效订单(good-till-canceled)在交易日结束时不自动取消,在几天甚至几周内持续有效,直到交易者明确取消为止。
由于市场和资产种类的差异,还存在着其他很多类型的订单。此外,根据客户需求,不断会有新的订单类型产生,也会有订单类型退出历史舞台。在订单执行过程中,宽客必须决定在各种情况下所使用的订单类型。策略的执行强度越高,宽客对于当前订单类型以及各个交易所规则运作情况的了解程度显得越重要。
有一种订单值得特别留意。由于全国市场系统(Regulation National Market System,NMS)规则的漏洞,美国股票市场上存在着扫架订单(intermarket sweep orders,ISO)。NMS规则中禁止所谓的封闭市场。当某产品的最佳买入价和卖出价相等而两个订单无法完成撮合时,我们称这样的市场状态是封闭的。如果一个买家愿意以100美元的价格买入某只股票,而另一个卖家愿意以100美元卖出同样的股票,理论上你可以预期这两个交易者的订单可以撮合成交。但是,由于交易所在交易完成后才更新指令簿,这种技术处理的落后会导致市场看起来是“封闭的”(实际上并不是)[2]。
例如,交易者发出限价订单,想以100美元的价格买入5000股WXYZ的股票,而此刻的最佳卖出价刚好也是100美元。如果此时的最佳买入价是99.99美元,但市场上卖出价为100美元的WXYZ的股票只有3000股。通常所能想到的成交情况是,5000股买单中的3000股与3000股卖单撮合成交,剩下2000股价格为100美元的限价订单进入限价指令簿,最佳买入价也变为100美元(因为该订单购入WXYZ股票的价格高于之前的最佳买入价99.99美元)。但是,按照NMS规则要求,交易所限价指令簿上的订单进行撮合使用的软件系统反应速度较慢,3000股的卖单并不会马上从指令簿上消失,会存在一定的延迟[3]。由于禁止封闭市场,只有当这个延迟被解决后,剩下的2000股买单(价格为100美元)才可以进入限价指令簿。
问题在于,向合并的指令簿提供订单的各个交易所,直接提供数据给自己的客户公司,这些公司看到最佳卖出价从指令簿中移除时,并没有这种延迟。当看到有个大买单时,这些公司可以进场直接挂出100美元的买入价,因为它们预计WXYZ的价格会上涨。接着,一旦NMS规则允许之前买家的2000股价格为100美元的买单进入指令簿,该订单的优先权会低于看到该订单时才挂出的买单,虽然这个2000股的订单下单时间较早。我们将在第14章详细讨论这为什么会带来麻烦,目前我们只需要知道人为地强制等待一个订单的进入会带来很大麻烦。为了避免这一问题,精明的交易者会要求得到承诺可以使用ISO去执行其交易。
经纪商有权对委托公司自觉遵守NMS规则的能力进行判断,而不需要强制交易者使用公共的合并后的限价指令簿。相反,有些公司可以直接从交易所得到数据,比官方渠道更快地得到相同的限价指令簿。这些公司进行自我合规检查,如果经纪商认可其检查结果,这些公司会被允许使用在其订单上使用ISO标志,从而可以使其订单被发布在订单簿上。在我们之前的例子中,交易者将能得到价格在100美元的3000股卖单,并马上具有最高的优先权以100美元的价格竞价2000股。
ISO的存在仅仅是因为NMS规则中关于封闭市场的禁令,以及交易所为满足NMS规则所采用的落后技术。关于这一点我们将在第16章加以讨论。
大订单和小订单
无论是市价订单还是限价订单,宽客都必须迅速决定订单的交易量。从关于交易成本模型的讨论中我们可以知道,与小订单相比,大订单的交易成本会不成比例地快速上涨,因为随着流动性需求的增加,流动性的供给价格会越来越高。因此,在交易大订单时自动执行订单常用的方法是进行拆分,如将一个100000股的订单拆成1000个100股的小订单,在某个时间窗内分别进行交易。当然,在一段时间内分散出单,交易者会面临价格波动的风险(立即执行订单的价格和分散出单时的价格可能会有很大变化)以及市场冲击带来的额外成本。
但一般来说,人们普遍认为分散出单是降低交易成本的有效途径,这也是执行算法极为常见的特征。拆分后的订单规模取决于根据交易成本模型估计出的所关注的金融产品各种规模订单的交易成本。每个订单规模的大小取决于对订单进取程度的判断。此外,具有较强吸引力的订单执行起来也会更快一些。
否则,订单的进取性可能就不再那么必要,交易可以以另一种方式执行。例如,交易者可能以最优卖出价下单买入某种金融产品,然后等待其他参与者下单后再以相同的价格下单买入,这样可以保证以第一笔订单执行时的最佳卖出价完成交易,而不至于发生滑点造成最终的成交价是更高的平均价格。
何处下单
在一些市场上,对同一种金融产品有不同的流动性分池。例如,BATS和Archipelago是目前交易美股的两个备选流动性分池。关于智能下单方法(smart order routing)已经有颇多研究,其中包括在当前形势下最好选择哪个流动性分池去下单。这种决定通常来说是很直接的。如果某金融产品的价格在一个流动性分池中的价格要优于另一个流动性分池,交易者当然会选择第一个分池。
我们在“其他订单类型”部分描述了和NMS规则有关的一个问题。NMS于2007年通过,其目的是减少同一股票在不同的流动性分池中具有不同最优价格这一现象。这一规则造成的一个后果是,同一只股票在各个有效流动性分池的最优买入价和卖出价必须同时展示在各个流动性分池。这削弱了美国股市上智能下单方法的优势。但是,在很多其他市场中存在着碎片化的结构,在这些结构中智能下单方法仍然很重要。此外,在美国股票市场上不同的流动性分池间也会存在着暂时性或存续较长时间的差异。
市场结构上近来出现的一个新动向是,所谓的暗池在订单执行中的作用日益增强。交易平台可以分为明交易平台和暗交易平台。在明交易平台上,市场参与者可以从限价指令簿看到买单的价格及规模等信息;而暗交易平台不提供这些信息。暗池最为显著的特征在于,它为大订单的执行提供了便利,因为暗池交易中的订单不会公布(而被其他市场参与者看到)。如果有买(卖)家下单买入(卖出)一个大订单,而市场上存在着这样的对应订单,交易就会以买家的出价成交。但是交易双方以外的任何投资者都不知道该笔交易的发生。考虑到我们之前在“进取订单和被动订单”中所描述的指令簿规模对潜在市场参与者交易决策的影响,如果你的订单信息不被其他市场参与者知晓显然是大有裨益的。据估计,在美国股票市场上超过30%的交易量是通过暗池交易完成的[4]。随着暗池交易日益重要,需要对暗池交易中的订单执行方式进行更多的思考。
值得注意的是,暗池流动性包含了所有不是发生在明交易平台的交易。例如,正如我们将在第15章进行详细讨论的那样,绝大部分零散订单是被做市商撮合成交的,这些交易并不真正在交易所发生。再考虑到暗池交易量,暗池流动性在美国股市交易中的比重越来越大。从某种意义上讲,交易所和暗池之间,交易所和做市商之间,做市商和非做市商之间正进行着一场争夺战。
[1] 在资本市场上的逆向选择中,由于买卖方之间的信息不对称而造成通常会发生不好的结果的趋势。在第14章中我们将详细讨论。
[2] 封闭(locked)一词在这里是使用不当的。封闭市场是不存在被冻结这一说法的。这只是个买入卖出价差均为0的指令簿,这应该是想要进行鼓励的结果。
[3] 这种软件通常称为Securities Information Processor(SIP)。很多美国股票交易所使用的特殊SIP,称为UQDF(UTP Quote Data Feed)。UTP是Unlisted Trading Priviledge的缩写,和纳斯达克交易所的股票代码有关。NYSE、AMEX以及美国其他一些区域性交易所的股票所使用的类似软件称为CQS(Consolidated Quote System)。
[4] Matthew Philips,“Where Has All the Stock Trading Gone?”May 10,2012,www.businessweek.com/articles/2012-05-10/where-has-all-the-stock-trading-gone#p1.