Local EPUB Text
实施策略
无论是否使用量化方法,谋求阿尔法收益的交易者盈利的手段并不太多。但手段选择的有限性并不意味着所有的宽客与其他交易者完全相同,只能选择几种现象之一。实际上,量化交易模型千差万别,非常丰富,远远多于我们所想象的。
这种多样性源于宽客实施其策略的方式多种多样。现在我们将注意力转向实施方式。一套实施策略值得深入探讨的有很多方面,包括预测目标、投资期限、投注结构、投资范围、模型设定和运行频率等。
预测目标
策略实施的第一关键要素是准确理解模型所要预测的目标。模型可用于预测方向、幅度、运动的持续时间,进一步可以包括预测目标的概率或置信度。很多模型只预测波动方向,期货市场上绝大部分趋势跟随策略便是如此。这些策略只试图去预测资产价格是上升还是下降。有一些其他模型可以具体预测期望收益或目标价格的波动幅度大小。还有一些模型,尽管并不常见,试图对运动持续的时间长短进行预测。
信号强度(signal strength)是量化模型中一个重要(但未普及)的指标。信号强度以期望收益或置信度进行定义。如果保持置信水平不变,期望收益越高(如相对于现价未来价格越高),信号强度越强。类似地,如果保持期望收益不变,信号的置信度越高,信号强度越强。虽然并不总是如此,但通常情况下,信号强度水平越高,收益或损失就会越大。这是很合理的。假设你认为埃克森美孚(XOM)和雪佛龙(CVX)两只股票的价格会上涨,但是你对埃克森美孚股价的预测置信度更高或期望收益更大。合理的选择是,你更愿意把赌注压在埃克森美孚上,因为埃克森美孚可以提供更加确定的和(或)更大的潜在收益。量化模型也是如此,一般会给置信度高或期望收益高的预测更多的信任。当交易的信号强度不是固定不变时,这一概念也将影响交易策略所使用的方法,我们将在第7章对此进行详细讨论。但是,使用信号强度需要注意一些问题。极强的信号是不正常的,因此基于极强信号的预测和实际情况间的关系的置信度往往要低于弱信号情形。
投资期限
阿尔法模型实施的第二关键因素是投资期限。一些量化模型甚至要对微秒内的情形进行预测,另一些模型则试图预测一年或更久时间之后的情形。绝大部分量化策略所预测的时间范围介于几天到几个月之间。特别地,应用于短线交易策略和长线交易策略看起来大为不同,尽管它们的交易思想相同,如图3-6所示。可以看出,在2008年的4月和5月期间,如果使用基于中期的移动平均的趋势跟随策略,会卖空标准普尔500指数,因为从2007年10月开始市场呈下降趋势。与之相反,如果使用短期移动平均线策略,除了4月中旬的3天和5月末的几天外,其他时间都会建立标准普尔500指数的多头头寸,如图3-6的下图所示。这个例子很好地说明了,在不同的投资期限上采用相同的策略,会产生截然不同甚至完全相反的结果。
图3-6 基于不同投资期限对同一策略的分析
一般地,分钟策略与小时策略间收益的差异要大于3月期策略和6月期策略间收益的差别,即使后一组(3个月、6个月)间的时间差异明显要长于前面一组(分钟、小时)。我们发现,较短投资期限上收益的差别通常要大于较长投资期限情形。在风险较高的环境中这一普遍规律也是成立的。这是因为,如果策略内容相同,与长期交易策略相比,短期交易策略交易的频率很高。如果运行频率很高,同一个策略在投资期限上的微小差别每运行一天会被放大上万倍,运行一年会被放大几百万倍。反之,相同策略的3月期版和6月期版交易的次数就会少很多,所以投资期限上的差别不会被放大很多。例如,在2008年4月和5月期间,基于150天和300天移动平均线的趋势跟随策略与采用60日、100日移动平均线所得到的结果基本上完全相同,都会建立标准普尔500指数的空头头寸。反之,根据使用5日、20日移动平均线的趋势跟随策略,在2008年4月和5月的43个交易日中,有8个交易日应该做空标准普尔500指数;如果不用20日移动平均而使用10日滑动平均线,根据5日、10日移动平均线的趋势跟随策略,会有15个交易日应该选择卖空。
投资期限有无穷多种选择,例如你可以预测两周后的情形,也可以预测两周零30秒,或者两周零31秒后的情形,尽管在两周的基础上增加30秒或31秒对预测结果并没有太大影响。顺着这个思路,对策略进行分类有助于理解不同投资期限上的量化交易策略间的差异。高频交易策略(high-frequency strategy)是最快的,预测期限不超过当前交易日。第二类是短线交易策略(short-term strategy),倾向于持仓一天到两周。中线策略(medium-term strategy)预测的期限是几周到几个月。长线策略(long-term strategy)通常是持仓几个月或更长时间。不同类别策略间的差异具有一定的随意性,但这种粗略划分有助于理解各种量化交易策略相互间的差别。
投注结构
阿尔法模型的下一个关键要素是投注结构,依赖于模型进行预测。模型既可以预测金融产品自身的信息,也可以预测其相对于其他金融产品的信息。例如,模型可以预测金价处于低位未来会上涨,或金价相对于银价较为便宜,未来会比白银有更强的走势。在进行相对预测时,我们可以选择预测小类的(例如,配对金融产品)表现或者大类的(例如,一个门类)表现。相对而言,小类更易于理解和分析。特别地,配对交易是比较受欢迎的做法,因为理论上我们可以选择能直接进行比较的两种产品。
配对法当然也有不足之处。很少有资产可以精确地直接进行比较,这削弱了配对法的主要优势。两个互联网公司可能都是主要依靠搜索引擎的收益来盈利,但它们在其他方面可能大有不同。一个可能具有较多的内容驱动型业务,另一个可能通过广告业务来补充搜索引擎的收入。同时,我们也可以找到具有很强的广告业务或内容型业务的公司,但每一个都与前面两个公司具有一些相同的特征。这样交易者就面临一个困境:应该使用哪一个组合?或者说,怎么样才是最好的配对结构?
另一种方法是在大类中投注。研究人员把证券进行分类,主要是为了隔离和消除类内的共同因素。例如,依据市场板块对股票进行分组,很大程度上就是为了消除整个板块波动的影响而专注于板块内部股票价格的相对变化情况。事实证明,将只有两个元素的组群的共同因素分离出来是极其困难的。另一方面,在大类中很容易区分类的行为和个体行为,很多量化交易策略会从中受益。因此,以组群进行交易的绝大部分宽客,在进行投注时倾向于使用较大规模的分组而不是两两配对。
研究人员还必须选择如何分组,或者使用统计学方法,或者依靠直觉(例如按照基本面的产业门类)。有很多统计方法可以识别出对象是否彼此相似或是否可以属于同一类别。但是,统计模型可能会因为数据原因而不适用,造成错误的分组。例如,可能会有一段时间,互联网股票的走势和粮食的价格走势一样,由此统计模型可能会把它们分成一组。但实际上互联网股票和粮食类之间的差异性远远多于共性,绝大部分基本面分组方法根本不可能把它们分成一组。此外,随着市场体制的变化,金融产品间的关系也会频繁变化,这会导致系统错误地进行分组,即便它们的表现不再彼此相像。
另一种方法是根据直觉分组。资产种类、部门、行业等都是直觉分组法的常见例子。这种方法听起来很有道理,也有站得住脚的理论优势,但直觉分组通常是不准确的(例如,通用电气这种大型综合企业属于什么行业),也可能过于僵化。僵化是个很大的问题,因为随着时间的推移,产品之间的相似性也在变化。例如,股票和债券价格有时反向变动,有时同向变动。由于两类资产间的相关性在不同时段会不断变化,从理论上分析二者间的关系并就二者属于同一组还是不同组别,想给出一个静态的结论,这是难以办到的。因此,大部分分组方法(可推广到绝大部分基于相对预测的策略),无论使用统计技术还是依靠直觉,都会面临着因为市场机制的变化而导致产品间关系发生重大变化的风险。
在评估阿尔法型策略时,不同投注结构间的差别是很重要的,特别是对于方向性投注(单个产品)和相对投注(多产品)。相同的阿尔法模型,用在单一的金融产品上和用在彼此相关的一组金融产品上,表现不同。对于各式各样的分组方法,平衡分组方法的风险和收益都是极为重要的。一般地,通常时间段内,与绝对阿尔法策略相比,相对阿尔法策略倾向于得到更加平稳的收益。但在极端行情下,它们都会遇到由于错误分组带来的各种自身的问题。一些宽客试图通过同时使用几种分组技术来减弱单一分组带来的风险。例如,首先利用板块对股票进行分组,然后利用动态的统计学方法来改进这些分组,以更好地反映股票间近期的相关关系。
我们需要对相对价值(relative value)做一些澄清。这是个在对冲基金行业很常见却没有特殊用处的术语。在使用相对投注结构的策略中会用到这个术语,但是价值在这里用得不是很合适。当然,基于产品相对价值进行预测的策略很常见,但绝大部分称为相对价值的策略和价值投资并没有什么关系。相对均值回复策略、相对趋势策略和其他相对基本面策略,都是使用相对价值的。
投资范围
一个策略可以被用在各种金融产品上,宽客必须决定其适用于哪些金融产品。宽客对投资范围做出的第一个重要选择是地理范围(geography)。一个适用于美国股市的相对均值回复短线策略用到中国香港股市时,可能表现会差别很大。分析人员必须做出判断,在哪里使用这个策略。关于投资范围,宽客必须做出的第二个重要选择是资产种类(asset class)。外汇市场上的成长型策略用到股指上去,表现可能会大为不同。宽客必须决定每个策略所适用的资产种类。第三个重要决定是产品类别(instrument class)。股指类产品一般在期货市场交易,完全不同于单只股票,尽管它们都属于股票类资产。此外,在市场上,不同产品类别的参与者性质和流动性特征都各不相同,因此交易什么类型的产品也是宽客必须认真研究的内容。税务因素也必须考虑在内。最后,在某些情形下,由于种种原因,宽客可能会包含或排除某一类产品。
投资范围的选择很大程度上取决于宽客的个人偏好。第一,宽客倾向于流动性好的产品,因为其交易成本是可以预计的。第二,宽客一般需要大量的优质数据。通常这种数据在具有高流动性的比较成熟的市场上更易获取。第三,宽客更喜欢那些易于使用体系化的模型进行预测的金融产品。返回到生物科技公司股票的例子,一些宽客根本不考虑它们,因为政府部门批准或拒绝了其研发的新药之类的事件会造成其股价快速而剧烈的波动,这具有很强的偶发性因而难以系统地加以预测。尽管具有生物科技专业背景的医师们对此会有一些直觉,但这并非大部分宽客可以进行建模的事情。由于这些偏好,宽客参与的典型资产类别和产品主要集中在股票市场、期货市场(尤其是债券和股指)和外汇市场。一些策略在20世纪90年代后期很流行,现在已经比较少见,这些策略主要用在固定收益类资产(如互换和现金债券)而不是在期货市场上。从地域上看,在美国、欧洲和日本都有大量宽客,在北美其他地区以及亚洲发达地区也有一些。对于缺乏流动性的金融产品市场,或者交易公司债券或可转债的场外市场,基本看不到宽客的身影,在新兴市场上也较为少见。
随着对场外交易市场管理的不断完善以及电子交易技术的改进,场外市场的量化交易正在增多。但这也意味着这些市场的流动性将会得以改善。正因为如此,流动性指标可以作为一个衡量策略交易范围的重要维度。毕竟,相对而言流动性高的产品可以提供高质量的数据且更有利于预测。
模型设定
对一个交易策略而言,如果要投入使用,仅有核心概念是远远不够的。在正式使用前,宽客必须对策略的方方面面给出详细的定义。此外,宽客如何选择或定义策略中的某一个概念,可能会导致策略的结果与使用其他定义方法的结果截然不同。例如,定义趋势有很多种方法。有的策略只是简单计算过去一段时间该产品的收益总和,大于零就认为处于上行趋势(小于零则认为处于下行趋势)。另一些分析师则使用移动平均线的方法(如图3-1、图3-3、图3-4所示),判断价格是高于还是低于近期平均价格,进而来判断趋势的走向。还存在一种趋势跟随策略,试图在趋势形成的早期就将其识别出来,使用他们认为在该关键阶段应该出现的价格模式去进行匹配,但是他们对价格是否已经形成一个长期趋势并不进行判断。
以上提及的不过是一些定义趋势的常用方法。即便如此,每一种阿尔法策略也可以有多种定义方式。使用数学语言精确地给出策略的具体表达,是宽客工作中很重要的一部分内容。这是值得从事量化交易的投资者认真研究的领域,因为对宽客而言,这是体现差异性和潜在比较优势的根源所在。在本章“投资期限”部分,我们提到在股市上的交易时机选择,即便是相同策略所使用的投资期限上略有不同,也会对在给定时点的投资决策(做多还是做空)产生重大的影响。考虑到投资期限的重要性,有助于理解投资策略中使用不同的定义会产生不同的交易行为。但是,让宽客告诉外界他所构建的交易策略的所有细节,可能是非常困难的。对非量化交易者而言,模型设定仍然是“黑箱”中很模糊的层面,但是实际上,尽可能地深入研究宽客的模型设定,有助于深入理解宽客群体和普通人的投资收益差别很大的原因所在。
模型设定很重要的一个方面是模型参数设定。返回之前关于趋势的例子,移动平均方法中天数的选择(如5日/10日移动平均线交叉法和5日/20日移动平均线交叉法)便是一个重要参数。很多宽客在设定参数时借助于机器学习或数据挖掘类的方法。在“数据驱动型阿尔法模型”中,我们已经提到选择模型拟合数据和参数设定问题。对于这类问题,机器学习方法更加适合并且被广泛使用。本质上,机器学习方法可用于判断量化交易模型中参数的最优设定。机器学习类算法旨在提供一种理论上可行的智能化途径,在不出现过度拟合的前提下去测试参数的许多潜在组合(以选择最优组合)。
参数设定问题中,有一类问题涉及模型调整的频率。为了使用更近期的数据,通常需要对模型进行调整。这一过程称为重拟合(refitting),因为需要在目前的交易中,重复进行策略开发过程中完全一样的一部分工作,以更新模型使其更加适用于目前的市场环境。这是个计算密集型工作,有时会涉及百万甚至数十亿的计算量,很多宽客极少重新拟合他们的模型或压根不更新。重拟合也可能导致出现过度拟合的风险。过度拟合也是个很危险的问题,会导致一些虚假的、短暂的关系被错认为是有效的、具有持续性的。
条件变量
很多宽客(以制定交易策略为生)在其策略中使用条件变量。条件变量的引入会使策略更加复杂,但也会提高策略的预测效率。有两类基本的条件变量。一种是修正型条件变量(modifying conditioner)。这类变量通常是基于某种给定的信号,根据该信号的特征(或相应结果)而发生变化。例如,单纯使用一个趋势指标不足以正确地捕捉到趋势信号。毕竟,趋势跟随策略中有很多趋势显现的错误信号。很多有经验的操盘手都承认,如果没有“资金管理”或“风险管理”规则,他们的策略基本上不具有可投资性。这些规则,以及下文所要讨论的其他规则,在一定程度上可以看作趋势跟随策略的条件变量。
例如,止损是伴随着趋势跟随策略的常用条件变量,基本思路是跟随趋势,直到趋势开始反转并导致足够多的损失而触发止损规则。停止规则有很多种:止损、止盈和时间停止等。止损,通常是在策略中使用了大量“错误”信号时使用,而不是在“好的”信号带来很多收益时使用。即便如此,很多方向型趋势跟随策略只在很少数交易中能够盈利(通常少于40%),但是它们在盈利的交易中所获得的收益要远远高于在亏损时付出的损失(由于止损规则的存在)。
当宽客认为尽管当前价位还处于盈利中但风险已经越来越大时,就会使用止盈策略。这是个很合理的概念:市场几乎不可能沿着同一个方向无限期走下去,所以在同一方向上交易策略已经获得足够多的盈利时应该见好就收。此外,时间停止规则可用于避免持仓过久触发某些信号而被认为交易失效的情况出现,这是一种对投资组合进行更新的途径。
另一种条件变量是辅助条件变量(secondary conditioner),要求多种信号达成一致从而触发交易。例如,很多分析股票基本面的分析师都是GARP(Growth at a Reasonable Price)策略的拥趸,信奉“在较低价位买入成长性高的股票”。如果一家公司处于成长期并且股价不高,该公司的股票就可以列入买入的候选股票。但绝对价格的便宜并不能说明值得购买。在价格驱动型策略中,不同投资期限上的趋势,或趋势法和均值回复法,会被组合使用。例如,均值回复策略可以作为买入价格已经下跌的金融产品的条件,但是交易的方向应该和长期趋势的方向保持一致(例如,在上行市场上买入价格下跌的产品,在下行市场时卖出价格上涨的产品)。
大部分基于规则的模式识别策略在设计时都会使用条件变量。像数据驱动型策略一样,这类模式识别策略也是寻找市场行为中重复的模式(通常会比“买涨卖跌”或“买跌卖涨”模式要复杂),但是理论驱动型模式识别模型都是从预先设定的规则开始。而数据驱动型交易者更依赖于算法来判断哪种“模式”最重要(尽管也是在给定的范围内,就像是在“数据驱动型阿尔法模型”章节所讨论的那样)。
运行频率
创建阿尔法模型的最后一个要素是给出运行频率(run frequency),即模型寻找新的交易机会的频率。一些宽客运行模型的频率相对较低,如每月一次;另一些则走了另一个极端,模型几乎处于连续运行之中。宽客必须找到一个平衡点。具体来说,提高模型运行频率通常会带来更多的交易机会,这也意味着要付给经纪商更多的佣金,交易成本也就更高。此外,模型运行频率高,投资组合是基于并不包含有用信息的噪声数据进行决策的可能性会更大。这反过来意味着交易成本的增加并没有带来交易策略的阿尔法收益显著增加,从而降低了策略的总体盈利水平。
另一方面,运行频率低的模型会导致数量小但规模较大的交易发生。这样的交易会对整个市场造成较大的影响,从这一层面看这样的交易代价很高。如果模型运行过于不频繁,当模型运行时会对目前所持有的投资组合造成很大的变动。这也意味着大宗交易会对市场既有结构造成很大冲击。运行频率低的模型容易错失市场机会。如果一个策略每月运行一次,可能会在模型休眠期错失以更有利的价格进行交易的机会。另外,如果在模型运行前后出现一些偏差,就有可能错过以稍纵即逝却更具吸引力的价格进行交易的机会。
运行频率的高低取决于策略的很多其他因素,特别是预测的投资期限、输入变量的类型等。最后,绝大部分宽客运行他们的模型不少于一周一次,很多甚至是整天连续运行。显然地,策略运行频率越低,留有的余地越大,但短期策略倾向于以连续实时的方式运行。
策略的多样性
我们已经描述了在构建阿尔法模型过程中宽客必须考虑的几个重要方面。为了在量化交易中取得成功,宽客需要在这些方面都做出良好的判断。总之,成功的宽客都具有以下特征:令人难以置信地注重细节,不知疲倦地提出恰当的问题并找到最佳解决方案。然而,对于那些不需要构建量化交易系统却对这些很感兴趣的人而言,本节所讨论的这些问题都很容易理解,并且足以提供一种有效区分不同宽客的方式。
策略实施过程中的诸多细节导致了实际中存在的量化交易策略多种多样。例如,如果考虑策略的类型、投资期限、投注结构、投资范围、模型设定、条件变量和运行频率的不同,价值型策略有很多种类。只是用这里所列的前4种实施细节以及我们上文所描述的最简单分类,这里有两种预测目标(方向和振幅),四种投资期限(高频、短线、中线和长线)、两种投注结构(绝对型和相对型),四种资产类型(股票、债券、货币和商品),这样就可以得到64种不同的价值型模型(2×4×2×4=64种组合)。这还不包括定义价值的方法,如何利用其他变量上定义价值以及寻找到价值的频率等方面。乍看起来似乎有无穷无尽的策略,但是我们这里所建立的框架,可以帮助感兴趣的人对黑箱的内部有所理解。图3-7重述了阿尔法模型的分类,并对其进行了扩展。
图3-7 理论驱动型阿尔法模型的框架图