算法交易策略

Author: 小小梦, Created: 2017-01-11 13:52:19, Updated:

算法交易策略

算法交易的核心在于交易策略的构建,好的算法交易能够有效控制交易成本,实现交易价格的最优化。接下来,我们就简单介绍一下市场上最常见的一些算法交易策略。

  • (一)TWAP策略

    TWAP(Time Weighted Average Price),时间加权平均价格算法,是最为简单的一种传统算法交易策略。该模型将交易时间进行均匀分割,并在每个分割节点上将均匀拆分的订单进行提交。

    例如,A股市场一个交易日的交易时间为4小时,即240分钟。首先将这240分钟均匀分为N份(或将240分钟中的某一部分均匀分割),如240份。TWAP策略会将该交易日需要执行的订单均匀分配在这240个节点上去执行,从而使得交易均价跟踪TWAP。

    img

    TWAP策略设计的目的是在使交易对市场影响最小化的同时提供一个较低的平均成交价格,从而达到减小交易成本的目的。在分时成交量无法准确估计的情况下,该模型还是较好地实现了算法交易的基本目标。

    但TWAP遇到比较大的问题是,在订单规模很大的情况下,均匀分配到每个节点上的下单量仍然较为可观,仍有可能对市场造成一定的冲击。

    另一方面,真实市场的成交量是在波动变化的,将所有的订单均匀分配到每个节点上显然是不够合理的。因为,人们很快建立了基于成交量变动预测的VWAP模型。不过,由于TWAP操作和理解起来非常简单,因此其对于流动性较好的市场和订单规模较小的交易仍然较为适用。

  • (二)VWAP策略

    VWAP(Volume Weighted Average Price),成交量加权平均价格算法,是目前市场上最为流行的算法交易策略之一,也是很多其它算法交易模型的原型。首先定义VWAP,它是一段时间内证券价格按成交量加权的平均值

    img

    其中Pricet和Volumet分别是某个时点上证券的成交价格和成交量。

    VWAP算法交易策略的目的就是尽可能地使订单拆分所成交的VWAP成交盯住市场的VWAP市场。从VWAP的定义公式来看,若希望能够跟住VWAP市场,则需要将拆分订单按照市场真实的分时成交量按比例进行提交,这就需要对市场分时成交量进行预测。

    通常来说,VWAP策略会使用过去M个交易日分段成交量的加权平均值作为预测成交量,这里就要涉及到M和权数的确定。假设需要在某段时间买入一定数量的股票,采用算法交易将这段时间分为N部分,并预测每部分时间的成交比例(占所需成交量)为VPi,而市场真实的分段成交比例(占市场真实成交量)为VPm,市场在每个时点的真实成交价格为Pi,则可以定义跟踪误差

    img

    从TE的定义公式式可以看出两点:

    (1)跟踪误差与成交量预测的关系非常紧密,预测结果的好坏直接影响到VWAP算法交易的结果。

    (2)当某段时间的VPt超过市场真实VMt时,有可能造成订单无法全部成交,这样就会造成算法交易执行效率的下降,因此,更为常用的是被称为“带反馈的”VWAP算法交易策略。

    所谓带反馈的VWAP算法交易策略,是指在原有VWAP跟踪的基础之上,将每个时段未成交的订单按比例分摊至后面的时间段中,这样可以有效提高成交比率。之前所讨论的TWAP策略也可以采用该类反馈技术,使执行效率大幅提升。

  • (三)MVWAP策略

    MVWAP(Modified Volume Weighted Average Price),成交量加权平均价格优化算法。其实VWAP有很多优化和改进的算法,但是最为常见的一种策略是根据市场实时价格和VWAP市场的关系,对下单量的大小进行调整与控制,因此我们统一将这一类算法称为MVWAP。

    当市场实时价格小于此时的VWAP市场时,在原有计划交易量的基础上进行放大,如果能够将放大的部分成交或部分成交,则有助于降低VWAP成交;反之,当市场实时价格大于此时的VWAP市场时,在原有计划交易量的基础上进行缩减,也有助于降低VWAP成交,从而达到控制交易成本的目的。

    在MVWAP策略中,除了成交量的预测方式之外(通常也是按照历史成交量加权平均进行预测),同样很重要的是对于交易量放大或减小的定量控制。一种简单的办法是在市场实时价格低于或高于VWAP市场时,将下一时段的下单量按固定比例放大或缩小,那么这个比例参数就存在一个最优解的问题。如果考虑得更为复杂和细致,这个比例还可以是一个随价格偏差(市场实时价格与VWAP市场之差)变化的函数。

  • (四)VP策略

    VP(Volume Participation),成交量固定百分比策略,与VWAP策略类似,都是跟踪市场真实成交量的变化,从而制定相应的下单策略。所不同的是,VWAP是在确定某个交易日需要成交数量或成交金额的基础上,对该订单进行拆分交易;而VP则是确定一个固定的跟踪比例,根据市场真实的分段成交量,按照该固定比例进行下单。

    例如,将某个交易日均分为48段,每段5分钟。根据预测成交量,按照10%的固定比例进行下单。这样的策略所带来的结果是,当所需要成交的订单金额较小时,可能会在交易时间结束之前就完成所有交易,从而造成对市场均价跟踪偏离的风险。

    因此我们认为,该策略适用于规模较大、计划多个交易日完成的订单交易,此时若能选择合适的固定百分比,使得成交能够有效完成,则VP是一种可以较好跟踪市场均价的算法交易策略。

  • (五)IS策略

    IS(Implementation Shortfall),执行落差交易策略,是以执行落差为决策基础的一种算法交易策略。执行落差被定义为目标交易资产组合与实际成交资产组合在交易金额上的差异。IS策略的目标是执行落差最小化,或者说是在综合考虑冲击成本和市场风险后,通过需找寻找最优解来跟踪价格基准的一种策略。假设目标交易价格为P0,实际交易价格为P,则IS策略的最终目标为

    img

    为了达到这个目的,IS的基本流程如下:

    (1)确定目标交易价格P0,作为交易基准,这个价格可以是到达价、开盘价、一日收盘价等。再设定一个容忍价格Pr,作为交易的边界条件。

    (2)当市场实际价格低于或高于P0时,按一定的策略下单进行买入或卖出交易。

    (3)当市场实际价格高于或低于Pr时,不进行买入或卖出交易。

    (4)当市场实际价格处于P0和Pr之间时,可以按照介于积极和消极交易策略之的策略进行交易。

    使用IS的优点包括:

    (1)IS策略较为全面地分析了交易成本的各个部分,在冲击成本、时间风险、价格增长等因素之间取得了较好的平衡,更加符合最优交易操作的目标。

    (2)IS策略根据目标价格对交易过程的优化,更加符合投资决策的过程。

    (3)IS策略多用于组合交易,而对于组合交易来说该算法能够利用交易清单上股票间的相关性更好地控制风险。

  • (六)Step策略

    Step策略实际是一种对价格进行分层成交的策略,目标是在买入(卖出)交易中尽可能地压低(提升)成交均价。简单来讲,Step就是在不同的价格区间进行不同成交量比例的配臵。例如在VWAP或TWAP策略中,通常按照预测成交量的一定比例k进行实际下单。假设在开市前预计要买入某支前收盘价为20元的股票,则对其进行成交量分层设定:

    img

    开盘后在VWAP或TWAP的基础之上,当价格在19至21元浮动时,按预测成交量的10%进行成交;当价格超过21元时则不做任何交易;当价格小于等于19元时,按预测成交量的30%买入。

    更为激进的一种是称为Aggressive Step的策略,这种策略在价格低于最优交易区域边界时会将所有市场上的订单统统吃掉。

    具体来说,Aggressive Step策略同样在买入(卖出)交易中进行分层,例如在上述交易方案中,前两个区域的策略不变,当价格小于等于19元时,不管市价跌到多少,都按19元的限价报单成交,直至价格回升至19元以上或拟交易订单全部完成。不过这种策略不容易对交易量进行控制,并且容易造成价格异动,增加证券交易的隐性成本。

  • (七)Sniffers策略

    Sniffers搜寻者策略是一类策略的统称。通常该策略会开发一些较为复杂的算法去监控盘口和成交数据,以发现市场参与者中是否存在其他的算法交易者。

    例如通过少量的试探性下单,结合一定的算法和成交情况去判断有没有订单是通过算法交易而成交的。如果有其他的算法交易参与者,则通过计算判断,跟随这些算法交易或通过相反的操作,能否以较大的概率获取绝对收益。如果获利概率较大,则通过有针对性的算法交易策略进行下单。

    该策略与传统的算法交易不同,不以执行订单为主要目的,而是以获利为主,属于算法交易中较为高级的一种策略,适用于算法交易已经大规模普及的市场。我国市场无论是从交易制度,还是从算法交易的普及程度来看,目前都还暂时难以运用该类策略。

  • (八)盘口策略

    国外目前很多较为高级的算法交易策略对数据的要求都已不仅仅限于成交量和成交价两个指标,而更多关注的是市场微观结构,特别是盘口中出现的一些重要信息。

    举一个最简单的算法例子,称之为盯住盘口策略(PEG),该策略随时根据目标股票的盘口情况进行下单。PEG首先会实时监测盘口中的最低卖出价格或最高买入价格,并按照一定的策略(或比例)下达买入限价指令或卖出限价指令。

    如果交易指令未能完成,并且市场价格开始偏离限价指令的价格,则对上述订单进行撤单,并且根据最新的盘口信息重新发出相应的限价指令;如果交易指令全部完成,继续按照上述策略(比例)发出买入限价指令或卖出限价指令,直至订单全部完成或交易时间结束。

    该策略的优点在于对市场的冲击可以做出较好的定量控制,而缺点在于跟踪市场均价容易出现偏离,并且每个交易日的成交量不可控。

  • (九)W&P策略

    Workand Pounce策略,简称W&P策略,是在一般算法交易策略的基础之上,通过市场盘口及流动性情况对算法交易进行进一步优化的一种策略。

    具体来讲,当执行某种算法交易策略时,系统会将拆分后的订单在一定的时间按一定的价格进行挂单。此时如果跟踪盘口数据,会发现所提交的下单价格有可能是主动成交(例如在VWAP策略中就有出现这种机会)。

    在这种情况下,可以观察相应价格的盘口是否具有较大数额的挂单,即观察市场在一定的价格范围内是否有多余的流动性存在。如果存在这种流动性,则可以放大交易数量,将市场流动性横扫一空,或仅留存少量残余流动性。

    W&P策略适合于有大量订单需要在短期内完成的情况,使用该策略能够有效提高执行效率,但同样对于价格的跟踪可能将产生相对较大的偏差,增加了交易成本的不确定性。

  • (十)Hidden策略

    Hidden隐藏交易策略实际上是一种主动成交型算法交易策略。对于传统的TWAP、VWAP等策略,由于下单时往往是按市价下单,因此可能会夹杂有主动成交和被动成交两种交易。

    但是当被动挂单和撤单次数较多的时候,特别是在较为发达的金融市场中,算法交易者甚至算法交易策略本身容易被其他竞争对手观察和监测到,从而使得竞争对手可以针对算法本身开发出具有针对性的策略。

    Hidden策略就是这样一种反侦察的算法交易策略——当市场盘口中出现了希望成交价位的委托单,并且达到一定数量时,则主动出击将委托单吃掉;否则伺机而动,直到满足条件的机会出现为止。

    总体上来说,Hidden策略也是一种对原有算法交易策略进行再优化的策略,其主要运用在欧美等较为发达的金融市场上,在隐藏自己的行动的同时也付出一部分跟踪市场均价准确性的代价。

  • (十一)Guerrilla策略

    Guerrilla游击队策略也是在一些原有算法交易策略的基础之上进行进一步优化的一种策略,其目的同 Hidden策略一样,都是为了隐藏自己的策略和交易行为。

    不同的是,Hidden是在主、被动成交及下单数量方面进行考虑,而Guerrilla的出发点仅仅是下单数量。通过一定的随机算法,Guerrilla策略会将每个时段应该提交的订单数量进一步打散成为不同尺寸的部分,从而使得其他竞争对手在交易明细中不容易看出算法交易者和相应算法的存在。

  • (十二)其他策略

    除了上述介绍的一些常用算法交易策略以外,在国外市场上目前还存在非常多的策略,例如仅VWAP一种基础的算法交易策略就可以衍生出几十种甚至上百种策略;再例如在国外做市商制度的存在下,市场上还有一批基于该交易制度的常用算法交易策略,如Guaranteed VWAP、SOR策略等。

    总而言之,很多算法交易策略在使用一段时间后往往由于信息的泄露或者市场微观结构的改变而不再适用,投资者就需要继续开发新的策略。因此,各种算法交易策略总是如雨后春笋一般在市场上出现,然后消失,轮回。

    但无论如何,各类算法交易策略的出现都是为了对交易成本进行有效控制,因此,这类交易策略在计算机和网络技术突飞猛进的今天,将会越来越多地占领整个市场的交易份额,目前来看这是一个不会改变的大趋势。

    在国内,随着金融行业的不断发展和国际化的提高,以及股指期货、融资融券规则的推出,我国证券市场单边交易和相对封闭、发展滞后的情况等到改善,并逐渐赶上世界先进的证券市场。

    因此,算法交易策略在未来一定会呈现出快速发展的趋势。它不但有利于投资者减少交易成本,投资手段和策略的丰富和创新,而且能够促使市场更加的规范和高效。

转载自 超简交易


More

bamsmen VWAP好像还不支持直接调用吧,是需要自己写函数计算吗?

akkk 这些交易算法 botvs 有人实现过么?