《译文—使用机器学习算法进行股市预测》由会员分享,可在线阅读,更多相关《译文—使用机器学习算法进行股市预测(13页珍藏版)》请在金锄头文库上搜索。
1、外 文 译 文使用机器学习算法进行股市预测摘 要股市预测是一个吸引来自不同领域的研究人员的长期话题。特别是,许多研究已进行了预测,如支持向量机(SVM)和利用机器学习算法强化学习股市的行动。在这个项目中,我们提出了一个新的预测算法,在SVM的帮助下利用全球股市和各种金融产品的时间相关性来预测第二天的股票走势。计算预测的准确度可以达到在纳斯达克指数下的74.4%,和在S&P500指数下的76%与在道琼斯工业平均指数下的77.6%。同样的算法也被施加在不同的回归算法中来跟踪在市场上的实际增量。最后,我们建立了一个简单的交易模式来研究与其他标准所提出的预测算法的性能。一 引言股票走势预测一直是一个有
2、趣的话题,被来自不同领域的研究人员所广泛研究。机器学习作为一个在宽范围应用的完善算法,已被在金融市场广泛地研究其预测潜能。一些流行的算法,包括支持向量机(SVM)和强化学习,有报道是在跟踪股市和帮助股票期权转让利润最大化方面是相当有效的,同时保持低风险。然而,在许多这些文献中,被选择用于输入到机器学习的算法大多来源于关注同一市场内的功能数据。这种隔离漏掉了由其他对象携带的重要信息,使预测结果更容易受到局部扰动。我们已经做了很多努力来通过最新的财经新闻或个人社交网络(如Twitter)来整合外部信息,打破界限。这些方法,在一般投资者的心中回答在市场中的几个关键人物或成功分析师的态度,被称为情感分
3、析。尽管在某些情况下是成功的,但是当一些人存在偏见时,或积极的意见只是遵循以往出色的表现,而不能预测有前途的未来市场时,情感分析可能会失败。在这个项目中,我们提出将全球股市数据的使用与其他金融产品的数据联系起来作为机器学习算法例如SVM的输入特征。特别是,我们感兴趣的是市场的收盘价格之间的相关性,从而在美国市场开始之前或刚开始的时候停止买卖。随着全球化发展,世界经济之间的联系变得更加紧密,金融市场的外部扰动不再是国内的。我们相信海外股市和其他金融市场,特别是与即将到来的美国交易日的相关性强的数据,应该是对机器学习基础预测有用的,而我们的猜测是通过数值结果验证的。该报告的其余部分安排如下。第二部
4、分介绍了详细的算法,包括我们的算法,数据的收集和特征选择的基本原则。数值结果示于第三节随后的分析和讨论。在第四节中,我们建立了一个简单的交易模式来演示在纳斯达克增加利润的算法的能力。第五节总结了整个报告。二 算法2.1 基本原则全球化加深世界各地的金融市场之间的相互作用。美国金融危机的冲击波几乎袭击了每一个国家的经济,起源于希腊的债务危机打倒了所有主要的股票指数。如今,没有金融市场是独立的。经济数据,政治扰动和其他海外事务,都可能在国内市场引起剧烈的波动。因此,在这个项目中,我们建议使用全球主要的股票指数作为我们基于机器学习预测的输入特征。特别的,在美国市场交易之前或刚开始时关闭的海外市场应提
5、供有关美国未来交易日走势的有价值的信息,因为他们的动作在最新的经济新闻上已经引起了市场情绪,或是反应了世界主要事务的进展。图2-1世界金融市场除了股市,大宗商品价格和外汇数据也被列为潜在的特征,因为不同的金融市场相互连接。例如,放缓的美国经济必然会导致美国股市下跌。但在同一时间,随着人们寻求资产避风港,美元和日元将相对于同行上涨。这种相互作用意味着这些金融产品之间存在潜在的关系,并且使用其中一个或几个就可以预测的其他产品的变化。2.2 数据采集在这个项目中所使用的数据集包含了如表一所列的16个源,涵盖从2000年01月04日到2012年10月25日的每日价格:由于市场封闭上的假期因国家而异,我
6、们用纳斯达克指数作为数据对齐的依据,在其它数据源丢失的数据被替换为线性内插值。表2-1数据源股票NASDAQ,DJIA,S&P 500,Nikkei 225,Hang Seng index,FTSE100,DAX,ASX货币欧元,澳元,日元,美元商品银,铂,石油,GoldC:DropboxCS229 Project2.3 特征选择在这个项目中,我们着眼于股市(增加或减少)趋势预测。因此,特征随时间的变化比各要素的绝对值更重要。我们定义xi(t),其中i1,2,.,16,特征i随时间t变化。特征矩阵由下式给出: 式(2-1)当: 式(2-2)两日价格之间的差异计算为新的特征量: 式(2-3) 式
7、(2-4) 式(2-5)由于在市场价值和各市场的基础的差异,上述的计算出的差值可以在很宽的范围内变化。为了让他们可比较,将该特征值归一化如下: 式(2-6) 式(2-7) 式(2-8)归一化公式为: 式(2-9)如以上所讨论的,一个股票市场预测的性能在很大程度上取决于用于训练和当前输入预测数据之间的相关性。直观地说,如果股票价格的走势始终是昨日的延伸,预测的准确度应该是相当高的。为了选择具有高的时间相关性的输入特征,我们计算出其自相关性和不同的市场趋势(增加或减少)之间的互相关性。如图2-2中所示,该结果使用纳斯达克指数作为基准的市场。纵坐标为关于NASDAQ的相关性,横坐标为延时。图2-2使
8、用纳斯达克指数作为基础的市场趋势的自相关性和互相关性从该图表上可以看出,纳斯达克每日趋势的自相关仅在基于原点上非零,由此我们可以得出这样的结论,纳斯达克股票每日指数的趋势是一个近似Markov过程。因此,过去纳斯达克的数据将不会对其未来的运动提供过多的影响。同样的结论可以在许多其他的数据源得出,其互相关性与纳斯达克接近于零。尽管在同一天,道琼斯工业平均指数和S&P500的走势与纳斯达克给出的数据有很强的相关性,但是等到他们需要预测的时候,他们是不可用的。然而,数据源,如DAX澳元和其他一些市场,是有望成为我们由机器学习算法建立的预测的特征,因为他们与纳斯达克的数据在原点上有较高的相关性,他们的
9、数据在美国市场交易时间的开始之前或开始时是可用的。这个观察所得实际上印证了我们的预测原则,在前面的章节中讨论过,关于全球市场的相互连接,以及如何通过他们数据的变动反映信息,可以有利于对美国股市的预测。除了日常的市场走势的相关性,长期来看市场趋势的相关性也是值得研究的,这也可能对预测未来股票价格提供有价值的信息。为了研究这一点,在公式(3)中从1天到50天变化,结果的一部分绘制在图2-3中。从图像中可以看出,市场之间的时间相关性随着时间窗增加,在时间窗上该股票指数的走势被计算出来。一种对这种现象的解释是,在公式(3)的计算中,使输出的时间跨度彼此重叠,因此,增加了时间相关性。而且,该操作也间接的
10、在区间上对数据作了平均,它有效地消除了噪声,使市场之间的潜在相关性变得更加清晰。三维坐标分别是归一化相关性,时间窗大小,相对时延。图2-3不同时间跨度下市场趋势的自相关性和互相关性考虑到所有可能的特征,我们实施特征选择算法来选择对使用不同的机器学习算法预测准确性贡献最大的特征。详细结果列于下一部分。正如预期的那样,每日市场趋势和长期走势的组合提供了最好的结果。三 实验结果与讨论3.1 趋势预测1、单特征预测在第2节中,我们使用互相关性来估计每个特征的重要性。为了核实相关分析给出的信息,我们使用单个的特征来预测纳斯达克每日指数走势。每个单个特征的预测精度示于图3-1。图3-1利用单一特征的预测精
11、度从图中,我们可以看到,DAX得到最好的结果,预测准确率70.8%。澳元,FTSE和石油价格的预测准确率也比较高,分别达到67.2%,66.4%和65.2%。该实验的结果支持互相关的分析。因此,我们相信,其他的股市和大宗商品价格指数值可以在预测过程中提供有用的信息。2、长期预测除了每日的走势变化,有时我们还考虑长期来看的预测结果。在这里,我们把我们的问题定义为预测明天和几天前的指数值之间的差值符号。我们使用SVM作为训练模板,在不同的时间跨度预测精度如图3-2。图3-2长期预测的准确性从图中,我们可以看到,预测准确性随着时间跨度延长而增加。这是因为,时间越长,我们得到的信息越多,对噪声预测的阻
12、力越高。最后,当时间跨度超过30天时,我们可以达到85的准确率。实际上,我们可以重新套用此问题作为当时,的估算,其中。这对应于提到的每日股市走势的回归问题。3、多特征预测使用2节中描述的特征,我们比较SVM算法和MART(基于提升的决策树算法)的预测精度。该预测结果示于表3-1中。表3-1一天的预测精度从表2中,我们可以看到,SVM和MART学习算法精度可高达74。这每天趋势预测的准确度比大多数的模型和财务分析报告网站的价值更高。此外,我们注意到,SVM算法对训练数据的大小非常敏感。当训练集的大小不够大时,由SVM算法建立的超平面可能无法正确地分割所述数据。因此,使用支持向量机时对特征的选择是
13、必不可少的。与此相反,多元回归树(MART)算法需要的训练数据较少,需要更高维的特征集。为了测试我们的模型的通用性,我们使用相同的算法来预测的另外两个美国股市。结果示于下表3-2。表3-2所有美国股票市场的预测精度如表中可以看到的,在表中的所有条目都很高。这表明我们的模型可以应用到所有的美国股票市场。实际上,采用不同的股市之间的时间延迟的思想也可以用于预测其它指标。3.2 回归相对于股票走势,股票指数确切的增量可为投资策略提供更多信息。这意味着分类问题现在发展到一个回归问题。为判断我们的模型的性能,我们使用的均方误差(RMSE)为标准,其定义为: 式(3-1)我们用线性回归,广义线性模型(GL
14、M)和SVM算法来预测每日纳斯达克走势的精确值。对于不同的算法的均方误差值列于下表3-3中。表3-3不同算法的均方误差在表中的基准预测器是由零阶保持滤波器构成。从表中我们可以看到,SVM给出了最准确的预测。通过SVM给出的均方误差为21.6,只有平均波动的一半,47.66。3.3 多类分类在先前的部分中,我们探索了多种方法来提高预测精度,并尽量减少均方误差。这些努力,可以直接使用来最大化营业利润。然而,除了利润最大化,我们任务的另一个方面是,尽量减少交易风险。在这一部分,我们将使用SVM回归模型,并从SVM算法的基本直觉开始。在SVM中,点和超平面之间的距离越远,我们对所作的预测结果越确信,而
15、当点接近超平面时,我们的预测不能非常准确。为了尽量减少交易风险,我们可以挑选出这些风险点并忽略他们的预测标签。因此,我们需要将原始数据分成至少三种类型,负的,中性的和正的。这便产生了我们多类分类模型的原型。为了建立多类分类器,我们首先需要定义中央区域的宽度。为了评估我们的分类器如何,我们推出了精确度和召回的概念,它被定义为: 式(3-2) 式(3-3)在上述方程中,tp,fp和fn分别表示真阳性,假阳性和假阴性。针对不同的中央区域宽度的精度和召回值绘于图3-3中,该图中,召回的正类反映了预期上升的天数在所有上涨天数中的比例,而精确度表明对上升的预测的命中率。因此,召回直接影响交易的频率而精确度影响每次的得失。取这两者的结果,我们计算F1的得分,定义为: 式(3-4)图3-3不同中央区域宽度的精度和召回值F1的得分的正类和负类值示于图3-4。从图中