AI量化知识树

算法交易的主要类型与策略分析

由ypyu创建,最终由ypyu 被浏览 408 用户

前言

算法交易起源于上世纪中叶的配对交易

历史上最早使用算法交易的例子可以追溯到1949年。对冲基金之父阿尔弗雷德·琼斯,利用空对多3:7的比例进行配对交易,在1955年到1964年间,综合回报率高达28%。到了上世纪60年代早期,投资者开始利用计算机通过分析股票的周线和月线来预测价格运动方向。

配对交易逐渐成熟,发展成后来的算法交易。随后算法交易策略慢慢在华尔街流传开来并被广泛使用,同时也带来了非常可观的盈利。原来在摩根士丹利从事配对交易的研究员,后来逐渐成为如大卫·肖、詹姆斯·西蒙斯这类明星基金经理手下的精英,算法交易的“黑盒子”便由此诞生。

随着计算机的广泛普及,华尔街各大交易平台都开始执行算法交易,对IT技术人员的需求不断攀升。各种数量化研究人才进入到华尔街工作,改变了交易大厅传统的交易习惯,公开喊价的交易员逐渐被算法交易员所取代,算法交易也从此在华尔街开始蓬勃发展。现在,无论是股票、商品、期货以及外汇市场,算法交易已成为市场中不可或缺的组成部分。

市场之所以青睐算法交易,其原因在于其能够快速有效地降低交易成本,控制市场冲击成本和具有较高的执行概率。除此之外,它还能提供隐藏交易意图等传统交易方法不具有的交易方式。

冲击驱动型算法交易

冲击驱动型算法是由简单的指令分割策略演化而来的。通过将大订单分拆成小订单进行发送,试图降低交易对资产价格的影响,达到最小化市场冲击成本的目的。

基于平均价格的算法,代表了第一代冲击驱动型算法。这些算法都是由带有预设目标的算法演化而来的,对价格或成交量等条件无敏感性。它们通常按预定的步骤被执行,在给定的时间内不管市场条件如何,只是单纯执行预先设置的指令。

为了使交易算法更加灵活和适应市场环境,可以对这些静态方法进行改进,或更多地采用动态算法。这就导致了算法逐渐向机会导向算法倾斜。参与率算法(POV) 建立在真实市场成交量上而不是依赖静态模型而形成交易进度,随后逐渐演化成为采用更隐藏的路径以达到零市场冲击的最小冲击算法。

时间加权平均价格(TWAP) 是一种基于时间变化的加权平均价格,被称为TWAP算法,其仅以时间分割为基础,考虑指令的设置或指令的执行,而不受市场价格或成交量等其他方面因素的影响。用这种方法执行一系列指令,其平均执行价格就是各执行时间点市场交易价格的加权平均。

相对于TWAP策略而言,成交量加权平均价格(VWAP) 交易策略是指交易者利用市场成交量来试图实现使平均执行价格等于VWAP基准价格的执行策略。它是最常用的交易策略之一,具有简单易操作等特点,基本思想就是让算法的成交量提交比例与市场成交量比例尽可能匹配,在减少对市场冲击的同时,获得市场成交加权的平均交易价格。因此,VWAP策略一般不直接对交易的冲击成本建模,而是注重日内成交量分布的预测。值得注意的是,如果订单量很大,VWAP策略的冲击成本仍不可忽略。

参与率算法是一种与市场成交量同步的算法,有时它们也被称为目标成交量算法或跟随算法。与VWAP算法一样,参与率算法的表现取决于它们所采用的追踪目标成交量的技术,并且重点目标都是为了最小化市场冲击。在实践中,参与率算法可能会考虑其他的因素,比如流动性等来帮助选择最优的交易时机。

一些参与率算法会包含成交量预测功能。一般来说,这些方法是建立在对历史成交量分布、当前观测到的成交量和数量分析综合考虑基础之上的。另外,也有其他参与率算法允许控制算法追踪目标参与率的进度,甚至可以显示算法能够提前或之后目标参与率的程度。因此可以加快算法的执行度,留下交易的余地,从而避免出现滞后。事实上,这成为目标参与率的一个倾斜机制。对于那些允许对参与率做出更多动态调整的算法来说,还需要附加变量来确定基准和确定参与率如何根据基准或变量来变化的。

由于参与率算法不会对价格产生依赖性,因此必须对其设定严格的价格限制。参与率算法是追踪所有的成交量,但是,一旦应用了限价指令,它必须忽略掉所有超出这个限制的交易,否则每次当价格回落到限制之内时算法的表现就会差强人意。

成本驱动型算法交易

成本驱动型算法的主要目的是降低总体交易成本, 除了佣金和价差之外,冲击成本和时机风险等隐性成本都是成本的重要组成部分。虽然将大订单进行分割并将其分散到相当长的一段时间内进行交易可以最小化市场冲击,然而这样做会把订单暴露在更大的时机风险下,对波动性大的资产尤其如此。因此,成本驱动型算法也需要同时降低时机成本。

过于主动的交易会导致相当大的市场冲击,而过于被动的交易会引起时机风险。 为了最小化总的交易成本,我们需要在冲击成本和时机风险这两者之间寻找一个平衡点。为了找到这样一个平衡点需要考虑到投资者的风险厌恶程度。早期的成本驱动型算法是由冲击驱动算法吸收了时机风险等要素演化而来的,现在成本驱动型算法越来越多地使用复杂市场模型,去预测潜在的交易成本和决定指令的最优交易策略,主要的类型包括:

执行落差算法代表了纯粹的成本驱动型算法。它试图最小化平均交易价格和反映投资者决定价格的分配基准之间的落差。适应性落差算法是执行落差的一个机会导向型的版本,一般来说对价格更加敏感。

执行落差指投资者决定交易的价格与实际实现的平均执行价格之间的差额。投资者决定的价格相当于算法的参考基准,一般用指令到达交易商时的中间价格作为替代。而执行落差算法的目的是实现一个能够最小化缺口的平均执行价格。实现这类算法的关键就是在市场影响和时机风险这两者之间寻找一个平衡点。通常这意味着算法只能在不产生显著市场冲击的时间范围内执行。

由于实现这个目的的过程很复杂,于是许多情况下人们选择利用更简单的算法去实现。这些算法中有一部分实际上是成交量加权平均价格算法或参与率算法的增强版。它们使用成本模型去决定最优交易周期,这个交易周期应该包含由模型决定的结束时间或最优参与率。

适应性落差是从执行缺口算法中演化而来的新算法。该算法所具有的适应性特点主要体现在对市场价格的适应或反应。价格适应性落差算法实际上是一种更加倾向于机会导向的算法。

一个主动实值策略(AIM) 是指当价格有利时交易更加主动,而当价格变得不利时交易变得被动。对于一个买入指令,有利的价格条件等价于市场价格下降到基准价格以下;而对于卖出指令情况则是相反。因此只有当市场价格显著下降到基准价格以下,主动实值策略的交易率才会上升。而被动实值策略(PIM) 则是相反的,且当价格有利时它会变得更加被动,而当价格不利时它会变得更加主动。因此,交易率只有当市场价格显著地高于基准时,才会上升。

收盘价格通常用作盯市,以便计算每日的资产净值和盈亏状况。因此不少机构会把收市价作为一个参考基准。一般来说,在收市前进行交易会增加交易成本,而且交易价格对于指令会变得更加敏感。同时,流动性溢价在收市前也会更明显。

收盘算法(MOC) 的主要问题在于,其基准只有在市场收盘价格确定下来后才能得知。所以,该算法并不能把交易日内的交易进行平均,然后把订单进行简单切割去匹配基准。若执行交易的时间较早,收盘价的波动性会给交易者带来时机风险;若交易时间较晚,则会对市场产生较大的冲击。

机会导向型算法交易

机会导向型算法是从一系列交易算法中演化而来的,其本质都是利用有利的市场条件,包括价格、流动性或其他因素。其中盯住价格算法是以成交量加权平均价格算法、参与率算法等策略为基础,与它们所不同的是添加了对价格的敏感指标,并且能够基于当前市场价格是否有利来修正算法的交易风格。因此许多看重市场冲击成本的算法都会更多采用机会导向型策略。

对于每一类机会导向算法,价格都是一个重要的变量。目标基准提供了一个允许算法去判断市场条件是否有利的基准线。由于具有动态性特征,机会导向型算法比其他类型的算法能更精确地执行目标策略。

盯住价格算法是把交易与市场价格联系在一起的方式,与参与率算法根据市场成交量进行调整的方式类似,先定义一个基准价格,然后用市场价格与其比较的结果调整成交量。如果事先没有设定基准价格,那么通常就会使用指令下达时的中间价格。所以,对于买入而言,低于基准价格即为有利的买入价格;对于卖出而言,高于基准价格即为有利的卖出价格。

盯住价格算法包括一个基本的交易机制,同时附加价格调整的功能。因此,它可以建立在静态成交量加权平均价格算法或更动态的成交量百分比方法的基础上,实际的价格调整策略可以直接追踪市场价格和其基准的差异,或者包含其他的变量。


来源:开拓者金融网

标签

算法交易配对交易对冲基金股票价格预测投资策略
{link}