APP下载

基于图形相似度的技术分析方法

2018-10-09李大夜李天洋

统计与决策 2018年17期
关键词:收益率分组向量

李大夜,李天洋

(对外经济贸易大学a.国际商学院;b.国际经济贸易学院,北京 100029)

0 引言

技术分析作为经典投资分析工具,在业界使用广泛,但曾因为其缺乏理论依据,判断方法不够客观,技术分析在学术界备受争议。Brock等(1991)[1]提出了一个研究技术分析有效性的方法,并获得了广泛应用[2,3]。该框架也有其不足:技术分析图形数量多,难以穷举;即使确认了某图形能获得超额收益,仍无法回答是否存在未知图形能获得更好的收益;该框架能够验证某个图形的有效性,但无法获得“技术分析是否有效”这个问题的完整图景。因为上述问题的存在,已有的技术分析研究得出了大量的不完全一致的结论。

本文提出一个新的方法,不必先选图形而后验证其有效性,而是在历史市场价格构成的整个图形空间内,采用数据挖掘方法,根据几何相似度对所有图形进行分类,并用历史数据检验每种图形分类的预测能力,最后根据验证结果来判断技术分析图形法的有效性。该方法的前提假设是,如果真的存在某种有效的图形,在样本充足的前提下,该图形将重复出现于历史价格数据中,并已经显示出了其预测能力。如果分类结果中,存在某些图形确实有统计意义上显著的预测能力,则说明市场并非随机游走,基于图形的技术分析方法是有效的。本文提出的方法不需要先确定具体图形(如均线交叉、头肩顶等),因此能一定程度上克服Brock框架的缺点。本文方法最显著的优势就是:该方法是一个基于数据挖掘的自顶向下的全局研究方法,无需制定图形,所以能够为图形法的有效性问题提供一个全景结果。

1 方法介绍

1.1 技术分析有效性问题的形式化描述

Brock等(1991)[1]提出了一种应用广泛的技术分析研究方法,主要包含三个步骤:

(1)选定研究的技术分析图形,并针对图形特征建模,确定图形的识别方法。

(2)在计算机辅助下,通过对大量历史数据模拟交易,获得该图形的预测性能,将之与基准性能进行比较,验证其是否在统计意义上显著地优于基准性能。

(3)计算超额收益。如该图形能够获得超额收益,则证明该技术分析图形有效;如不能获得超额收益,也不能直接得出所有技术分析图形均无效的结论,仍需验证其他技术分析图形的有效性。

该研究框架提供了定量研究技术分析的方法,使技术分析不再被认为是一种主观的、经验性的方法,这推动了学界对技术分析的研究[4-8]。本文主要关注的问题是,在金融市场的价格时间序列中是否存在某些价格图形对市场未来的收益率有预测能力。由于Brock方法必需预先选定研究的图形对象,所以无法穷举所有的图形,在验证技术分析有效性问题时存在限制。本文提出了一种基于数据挖掘的自顶向下的方法来验证这一问题。为说明这一问题,首先形式化描述这一问题。市场价格表示为时间序列可定义m维向量:向量vt包含了时间t到t+m-1时间范围内的价格数据。投资者通过观察一段时间内的价格数据,识别价格走势图形,并据此对未来的收益率做出预测。具体说,技术分析投资者可以通过识别向量vt对应的图形,来推断下一时间市场的走势,即预测t+m时刻的资产收益率rt+m。根据有效市场理论的推断,向量vt中价格信息对随后的收益率rt+m没有预测能力,或者说,基于向量vt的收益率rt+m的条件分布,和收益率rt+m的无条件分布是一致的。投资者的判断过程可以形式化表示如下:f(vt)=rt+m,加入市场噪声后可以表示为为t+m时刻的市场噪声,服从期望为零的正态分布。基于图形的投资决策其实就是投资者试图找到函数f(vt)的形式。从数据挖掘的角度,历史数据中的所有(vt,rt+m)可作为训练样本集,rt+m为向量vt的条件收益率,也称向量vt的演化值。如果确如有效市场理论所推断的那样,市场价格已经反映了所有的历史信息,价格服从马尔科夫过程,的条件分布应是期望为0的正态分布,①为简单起见,此处假设市场漂移率为0。对日度对数收益率而言,这个假设也是接近实际情况的。相对于收益率的波动,日收益率期望值非常小。。如果市场并非完全有效,技术分析方法能够预测市场未来走势,则意味着存在某种具有预测能力的图形,vt中携带了对rt+m有预测能力的信息,rt+m的条件分布可能显著区别于期望为零的正态分布。下面介绍比较方法。

本文的研究基于如下假设:一组图形如果其拓扑形状足够相似,他们对应的价格向量之间的距离足够小,则可以认为它们属于同一种类型图形。这样,在预测条件收益率rt+m这个问题上,它们携带了同样的信息。更进一步,某个图形对应的价格向量为v*,其对应的条件收益率r*的分布可以用训练集中与向量v*距离最近的K个向量{v1,v2,...,vK} 对应条件收益率 {r1,r2,...,rK} 来估计,可以通过检验{r1,r2,...,rK}是否服从市场收益率的无条件分布来判断该图形是否具有预测能力。如果该图形确实对市场价格运动方向有预测能力,那么图形对应的条件收益率的概率分布将显著地不同于无条件收益率的概率分布。如果条件收益率分布的期望值显著为正(负),那么投资者可以将该图形作为一个有效的买入(卖出)信号。如果在股票价格时间序列中出现了该图形,股票未来价格将倾向于上涨(下跌)。

1.2 经典的K近邻预测方法

近年来随着数据挖掘和人工智能等学科的发展,如神经网络等新的工具被跨界应用到了金融领域[9,10]。技术分析作为一个基于历史价格信息的经验方法,与人工智能和数据挖掘等通过训练样本实现分类和预测的思想有诸多共通之处。将技术分析与这些先进的数学工具相结合,使技术分析成为一种定量的研究方法,这吸引了相关学者的广泛关注[11,12]。本文采用K近邻法(K nearest neighbor method)估计指定图形的条件收益率分布,对收益率做出预测。为适应本文所研究问题的需要,将对K近邻预测方法做必要调整。经典的K近邻预测方法可以通过以下几个步骤完成。

第一步:给定时间序列{pt},t=1,2,...T,构建矩阵:

χT-m+1,m被称为投影矩阵,其每一行都是一个m维向量,m被称为嵌入维度。

第二步:将向量vi及其的演化值pi+m对应起来,构造演化矩阵:

第三步:找到未知的待预测值pT+1对应向量v*=vT-m+1在投影矩阵中距离它最近的K个向量vNN1,vNN2,...vNNK,称这些向量为向量v*的K近邻。pT+1的值可以通过K近邻对应的演化值pNN1,pNN2,...,pNNK计算得出。本文采用了等权重加权演化值来计算预测值。如果直接使用经典的K近邻方法检验价格序列技术分析图形的预测能力,仍存在以下问题:

(1)样本不足。基于单个股票的时间序列并不能为技术分析图形提供足够多的训练样本。单个股票即使能提供数十年的历史日度数据,样本量仍显不足,仍存在这种可能,某图形在该股票历史价格数据中从未出现或极少出现。如果历史数据中不存在相应的训练样本,K近邻法无法表现出其应有的预测能力。

(2)信噪比。在日度或更高频的数据中,噪声大量存在于收益率和价格序列中,信噪比低,使得确定向量v所对应的真实技术分析图形的难度增大,需要采取方法降噪。

(3)特征提取。技术分析理论认为,相同或高度相似的图形对未来市场走势有相同的预测(条件收益率分布相同)。这里提到的相似是指拓扑相似,而并不是价格向量的欧几里德距离意义上的相似,需要对向量v做适当的预处理,使其图形拓扑特征更加明显,易于提取。

(4)过度拟合。绝大多数情况下,股票市场是有效的,历史价格对未来市场运动方向并无预测能力,向量v只是市场随机游走产生的轨迹而已。但经典K近邻法总能找到K个近邻向量并会据此做出预测,每时每刻都会为投资者产生买入或者卖出信号,而并不核实向量v是否真的有预测能力。这种对向量v不加区分的做法会降低K近邻法整体的预测性能,并在实践中非常显著地增加了投资者的交易次数和成本。

为了解决样本不足问题,需要增加训练样本。本文采取的方法是,在计算某只股票的价格向量v时,将所有股票的历史数据作为训练样本,而不是仅在这只股票自身的历史数据中寻找近邻向量。为方便起见,本文的实证部分将确定一个时间点,将该时间点之前和之后的所有股票样本分别作为训练样本和测试样本。这样,即便需要考虑金融市场的时变性,仅使用最近二十年的日度数据,仍然可以将训练样本的数量增加到百万级别。K近邻法将在这数百万样本中寻找图形最相似的K个向量,与基于个股时间序列的方法相比,如此处理可以大大增加K近邻法找到向量v同类图形的机会。

1.3 价格向量的预处理

由于收益率序列信噪比低,噪声与信号难以有效分离。并且,技术分析图形的相似,是指图形的拓扑相似,这并不完全等同于图形对应的向量之间的欧几里德距离小。为了解决信噪比和特征提取问题,需要对价格向量v=(p1,p2,...,pm)做预处理和降维。本文分别对向量 v在时间序列和价格这两个维度上做预处理,将v映射到一个10×10 的网格中,表示成w=(n1,n2,...,n10)的形式,w为一个维度为10的整型向量,ni是整数,取值范围是[0,9]。10×10网格的横坐标为时间坐标,纵坐标为价格坐标。下面介绍预处理的具体步骤。

考虑到操作方便,本文对价格向量v的特征维度m做一定限制,其取值均采用10的整数倍。向量v中价格数据是时间序列数据,预处理将在时间序列上把v分成宽度相等的10个连续的分块。如果m=10,则无需处理;如果m>10,则在时间序列上均分成10个无重叠的分块,每块包含m/10个价格数据。然后求出块i内价格的平均值,得到一个由平均值组成的维度为 10 的新的向量,其中是向量v中时间上最早10%的价格数据的平均值。

其中,w是一个维度为10的整型向量,相当于单位化的向量u;INT[x]表示对x取整。w可以理解为是一个10×10的网格,网格横轴为时间轴,纵轴为价格轴,纵轴最高点对应B集合中最大值9,最低点对应的B集合最小值0。A 集合中元素对应 B 集合元素ni的值为 10×(-pmin)/(pmax-pmin)的整数部分,或者说,ni是单位化之后网格的高度值。

在预处理中,对块内价格求平均值,起到了降低噪声的效果;向量w的10×10网格形式,不再受价格基数和波动率差异的影响,可以更好地提取向量图形的拓扑特征,一定程度上减轻了信噪比和特征提取问题的负面影响;预处理后,向量w的维度与向量v相比大大降低,整个图形空间内可能的图形个数大大降低,为每种图形找到拓扑类似或相同的近邻的概率也大大增加,提升了K近邻法的性能。

1.4 检验某价格向量是否具备预测能力的方法

为解决上文提到的过度拟合,需要对有无预测能力的两种价格向量加以区别。采用经典的K近邻法时,不论当前的价格向量是否具有预测能力,K近邻法总会找到距离当前向量最近的K个向量并做出涨跌预测。可能这K个向量对应的图形不过是随机游走的轨迹,当样本足够多,几乎能充满整个图形空间时,总是能找到图形上足够接近的向量,可以推断此时K近邻的预测和扔骰子并无差别。

为解决上述问题,本文引入如下检验。某图形的价格向量为v,训练集中与向量v距离最近的K个向量为{v1,v2,...,vK},这些向量对应条件收益率为{r1,r2,...,rK},向量v的条件收益率r的分布可以用有限样本集合{r1,r2,...,rK}来估计。如果向量v有预测能力,其条件收益率r的分布则会显著不同于市场收益率的无条件分布。考虑到投资者更关心的问题是该向量是否能作为上涨或者下跌的信号。本文采用下面的单样本t检验的方式来验证零假设“向量v没有预测能力”:

其中是{r1,r2,...,rK}的平均值,rm是无条件收益率的期望值。σr为条件收益率集合{r1,r2,...,rK}的样本标准差,K为近邻的个数。t值偏离零的程度可用来衡量向量v对未来收益率预测能力的强弱。如果t值是一个比较大的正数(负数),则意味着向量v对应的条件收益率r的期望将显著高(低)于市场收益率。反之,如果t值接近零,则无法在可靠的置信度下否定原假设,向量v中所包含的价格时间序列可能只是随机游走的轨迹,并无预测能力。

2 验证市场中是否存在有预测能力的图形

2.1 数据说明

为验证上述问题,本文选取了道琼斯指数和纳斯达克指数成分股的日度数据进行测试,价格采用日收盘价,收益率为对数收益率,数据来自雅虎金融。因为K近邻法要求价格数据在时间序列上是连续的,所以只选取了这期间能提供不间断收盘价的所有108只成分股作为研究对象,共计528800个价格样本。表1为样本数据的描述性统计表。受限于数据可得性,本文将时间范围限制在1994年1月2日到2014年12月31日之间,样本被分为两个部分,1994年1月2日至2002年12月31日,约占总样本个数40%的数据作为训练集;其余数据,约占总样本个数60%的数据作为测试集。由表1波动率统计值可以看出,不同股票的波动率差别较大,波动最强烈的股票其收益率标准差是波动最小的股票的4倍,因此,为了让所有股票的图形可以放在一起比较,对价格图形做预处理使其波动单位化,这是十分必要的。

表1 样本数据的描述性统计表

2.2 实证方法

样本经过预处理后,股票价格图形被格式化成了10×10网格形式,不同股票的图形可以直接通过向量距离来衡量图形的相似程度,且所有样本可以集中使用,不必担心不同股票价格的基数差别和波动聚类的影响。实证中,每个图形均可以采用全体训练样本进行训练,在全样本中寻找K个近邻,所以近邻间平均距离远远小于传统的基于时间序列的K近邻方法中近邻间距离。更小的平均距离,意味着图形更加类似,分类更准确。这里采用训练样本总数约20万个,如果采用经典的基于时间序列的K近邻法,即使能提供40年市场日收盘价价格信息的股票也只能提供约8000个数据,其训练效果更差。在求出训练集中每个价格向量的K个近邻之后,计算该向量对市场价格的预测值,同时根据上文的方法,计算该图形对应的条件收益率的分布以及公式(6)得到的t值,根据t值可用来判断该图形是否有预测能力。

完成上述步骤后,训练集部分的计算完成,进入对测试集的验证。将测试集中每一个向量预处理后,与训练集中的向量进行比较。这里认为,测试集中的待测向量v0和训练集中与v0距离最近的向量是同一种图形,v0和的条件收益率服从同一分布,的演化值就是v0条件收益率的预测值。如果的t值小,显示向量的条件收益率并不显著区别于市场无条件收益率的分布,向量很可能并无预测能力,其对v0的预测也是不可靠的;反之,则认为向量有预测能力。

为验证市场中是否存在某些图形对市场价格有预测能力,将上文提到的训练集中的图形根据t值绝对值的大小,按照其分位数分成十组q1,q2,...,q10。其中q1分组中的图形对应的t值绝对值最小,其预测能力最不显著;q10分组中的图形对应的t值绝对值最大,其预测能力最强。如果市场确如有效市场理论所预测的那样,价格序列服从随机游走,那么q10组中的图形并非真的有预测能力,其t值较大也只是有限样本下的统计偏误造成的,在采用测试集进行样本外预测时,10个分组的预测能力没有显著差别。反之,如果确实存在着少数的、市场不完全有效的情况,存在着某些图形对市场有预测能力,那么q10中图形的样本外预测能力应该显著高于其他分组。本文研究的问题将通过上述验证得出结论。

2.3 结果分析

根据t值分位数大小构建的10个分组,表2中列出了这些分组的样本外预测的准确率。K近邻法中近邻个数K=100。为了验证不同时间标度下图形预测的有效性,提供了多个投资时间的结果,m=20,40。m取20时,图形将在连续二十个交易日(一个月)的价格数据中提取;m取40时,图形将在连续40个交易日,即2个月的时间标度下提取。表2数据部分包含10列,对应根据图形预测能力,即t值绝对值的分位数分成的10个分组。其中q1分组包含的图形的预测能力最差,其对应的t值绝对值最小;q10中包含的图形预测能力最强,t值的绝对值最大。预测准确率根据选定的嵌入维度m的不同,分成了两组,每一组对应了不同的时间标度。对具有不同投资期限的投资者而言,这代表了图形在不同时间标度下的有效程度。表2准确率数据包含了固定嵌入维度下某分组中图形预测的准确率、准确率的p值①零假设为市场有效,向量并无预测能力,每一次预测命中概率为50%,根据二项分布计算公式得出p值。及该分组中图形的个数,共计包含了20组准确率数据。根据其p值判断,预测能力较低的q1至q6分组(两个时间标度共12个分组),其中8个分组的准确率在76%的置信度(一个标准差)下不显著,11个分组在99%的置信度下都不显著(12组中仅m=40,q5例外),准确率的值也非常接近随机游走对应的理论值0.5。在两个时间标度下,准确率随t值增加,都呈现出了上升的趋势,大t值的后4个分组共8组,其准确率均在99%的置信度下显著超过了50%,其中最大值为52.72%,在m=40的q9分组中获得。

表2 分组的样本外预测的准确率

由表2结果可以推断,确实可以通过历史价格的图形来对未来市场走势进行判断,技术分析的图形法不仅仅是一个经验方法,某些图形带有对未来市场走势的预测信息,这个结论从统计学上说是显著的。同时,大多数图形仅仅是随机游走的轨迹,并无预测能力,表2显示,小t值的占总数大约60%的图形(q1至q6分组)几乎没有任何预测能力;大t值图形虽然预测能力的置信度很高,但预测能力不强。结果显示测试期的市场不是弱式有效市场,未能达到“信息有效”。大t值的后四个分组(q7至q10分组)中的图形均表现出了统计学意义上显著的预测能力,说明历史信息并未能完全的在当前价格中体现,价格序列并非遵从随机游走,技术分析对预测市场未来趋势确实有一定效果。但考虑预测准确率的最大值仅为52.72%,个人投资者如果以此作为买入卖出的信号,其收益可能难以抵补其交易成本。如果从无套利原理的角度,市场仍然是有效的。这个结果也和大多数研究一致,市场更像是处于有效市场理论所描述的理想状态和技术分析所描述的可预测状态之间,一定程度上可以预测,但对大多数人而言,无法通过这种预测能力而获得超额收益。

表2结果可见,本文方法不需要对图形做任何假设,通过数据挖掘的方法,对整个图形空间内所有的可能有预测能力的图形进行考察,挖掘出其中预测能力强的图形,考察其预测能力。技术分析的支持者采用前沿数学方法来捕捉某些被认为有预测能力的图形,并提供基于历史数据的模拟交易的实证结果,以此证明技术分析图形法的有效性;技术分析的反对者多是针对这些方法,采用更大规模的样本,更为精细的计量工具剔除统计偏差,得出了很多技术分析图形无效的结论。因为研究者很难确保实证数据和图形识别的数学方法在各种实现细节上精确一致,当出现分歧时,并不容易断定结论分歧究竟是哪个原因产生的。技术分析图形多种多样,更是大大增加了验证分歧的难度。本文为对技术分析感兴趣的研究者提供一个全景式的方法,本文结果在一定程度上覆盖了各类基于图形距离的研究结果。

最后,该结果对K近邻及类似方法有一定启示。一般的基于K近邻的投资策略,虽然会在训练期间对样本数据进行编辑和过滤,但在基于测试集数据做样本外预测时,每次都会生成买入或卖出信号,并不区分当前图形是否有预测能力,这个做法不必要地增加了策略的交易成本。本文的结论显示,首先判断当前图形是否有预测能力,如果图形无预测能力,则投资者不做任何操作,既不买入也不卖出,这样可以避免在预测得不到置信度支持的时候进行无谓的操作。

3 结束语

本文提出了一种基于数据挖掘的方法来验证“技术分析图形是否有预测能力”这个问题。该方法采用了K近邻法,在整个图形空间内对所有图形的预测能力进行考察,并根据拓扑相似度对图形进行区分,用该图形K近邻对应的条件收益率来估计该图形所对应的条件收益率的分布。样本外预测的结果显示,60%以上的图形几乎完全没有预测能力;基于训练样本得到的相对预测能力最强的10%的图形,其预测准确率达到了52.72%,且在99%的置信度下显著。这说明,金融市场的价格图形并非完全如有效市场理论所假设的那样信息有效,价格图形并非全部是随机游走的轨迹,少数图形确实有统计学意义上显著的预测能力。

猜你喜欢

收益率分组向量
向量的分解
聚焦“向量与三角”创新题
分组搭配
怎么分组
分组
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线