英语原文共 20 页
基于随机森林的股票市场价格走向预测
摘要
股票市场价格走势预测由于其复杂性和动态性,多年来一直是研究人员感兴趣的领域。全球股市的内在波动使得预测任务具有挑战性。尽管有效的预测和扩散模型不能解决预测中遇到的各种各样的问题,无论是短期的还是其他的。市场风险与预测误差具有很强的相关性,需要将其最小化,以确保投资风险最小化。本文提出将预测问题作为分类问题来处理,使预测误差最小化,分类问题是机器学习中常用的一套算法。在本文中,我们提出了一种新的方法来最小化投资股票市场的风险,通过预测股票的回报使用一类强大的机器学习算法称为集成学习。采用相对强度指数(RSI)、随机振荡器等技术指标作为训练模型的输入。所使用的学习模型是一个多决策树的集合。结果表明,该算法优于已有的算法。
关键词:随机森林分类器,股票价格预测,指数平滑,特征提取,OOB误差和收敛
目录
1 绪论
预测股票市场价格走势是一项非常具有挑战性的任务,因为它涉及到许多不确定性,以及影响某一天市场价值的许多变量,如经济状况、投资者对某家公司的情绪、政治事件等。正因为如此,股票市场易受快速变化的影响,导致股票价格的随机波动。股票市场序列本质上通常是动态的、非参数的、混沌的、有噪声的,因此股票市场价格运动被认为是一个具有波动的随机过程,在短时间窗口内波动更为明显。然而,一些股票通常倾向于在长期窗口内形成线性趋势。由于股票行为的混沌性和高度波动性,股票市场投资具有高风险。为了将所涉及的风险降到最低,需要掌握未来股价走势的先进知识。交易员更有可能购买价值预计将在未来上涨的股票。另一方面,交易员可能会避免购买价值预计将在未来下跌的股票。因此,有必要准确预测股票市场价格的走势,以实现资本收益最大化和损失最小化。在预测股价行为的主要方法中,有以下几点特别值得注意:(1)技术分析,(2)时间序列预测,(3)机器学习和数据挖掘(Hellstrom and Holmstromm(1998)),(4)利用微分方程建模和预测股票波动(Saha, Routh and Goswami(2014))。本文主要研究第三种方法,因为与股市预测问题相关的数据集太大,非数据挖掘方法无法处理。(Widom教授(1995))
机器学习模型在股票市场行为中的应用是一个比较新的现象。该方法有别于传统的预测和扩散方法。早期用于股票预测的模型包括统计方法,如时间序列模型和多元分析(Gencay (1999),Timmermann and Granger (2004),Bao and Yang(2008))。将股价运动作为时间序列的函数,并将其作为回归问题求解。然而,由于股票价格的混沌性和高波动性,准确预测其价值是非常困难的。当股票预测被视为分类问题而不是回归问题时,它表现得更好。其目标是设计一个智能模型,利用机器学习技术从市场数据中学习,预测未来股价走势。我们模型的预测输出可用于支持股票市场投资者的决策。研究人员已经使用了多种算法,如SVM、神经网络、朴素贝叶斯分类器等。我们将在下一节讨论其他作者所做的工作。
2 相关工作
使用预测算法来确定股票市场价格的未来趋势与金融中称为有效市场假说的基本规则相矛盾(Fama和Malkiel(1970))。它指出,目前的股票价格充分反映了所有有关资料。这意味着,如果有人通过分析历史股票数据来获得优势,那么整个市场就会意识到这一优势,从而纠正股票价格。这是一个极具争议的理论,而且经常引起争议。尽管这一理论已被普遍接受,但仍有许多研究人员拒绝接受这一理论,他们使用的算法可以对金融系统的更复杂动态进行建模(Malkiel(2003))。
支持向量机、神经网络、线性判别分析、线性回归、KNN和朴素贝叶斯分类器等算法在股票预测中得到了广泛的应用。文献调查显示,支持向量机在股票预测研究中应用最多。Li, Li and Yang(2014)考虑了股价对外部条件的敏感性。考虑的外部条件包括黄金、原油、天然气、玉米和棉花等大宗商品价格的日报价(欧元、日元)。此外,他们还收集了2666家美国公司的每日交易数据。该数据集包括每只股票的每日开盘价、收盘价、最高价、最低价和成交量。特征是使用历史库存数据以及本节前面提到的外部变量的信息派生出来的。结果表明,logistic回归模型的成功率最高,为55.65%。在Dai和Zhang(2013)的研究中,他们使用的训练数据是3M Stock data。数据包含了从2008年9月1日到2013年8月11日的每日股票信息(1471个数据点)。选择多种算法对预测系统进行训练。这些算法包括逻辑回归、二次判别分析和支持向量机。这些算法分别应用于预测第二天股价走势的第二天模型和预测未来n天股价走势的长期模型。第二天预测模型的准确率为44.52% ~ 58.2%。Dai和Zhang(2013)证明了他们的研究结果是正确的,他们认为美国股市是半强有效的,这意味着无论是基本面分析还是技术分析都不能获得更高的收益。但长期预测模型的预测效果较好,在时间窗为44时达到峰值。SVM的准确率最高,为79.3%。在另外一篇文章(2014)中,作者使用了3只股票(AAPL, MSFT, AMZN),时间跨度从2010年01月04日到2014年12月10日。采用RSI、On balance Volume、Williams %R等多种技术指标作为特征。在84个特征中,采用了Geurts和Louppe(2011)中描述的极端随机化树算法来选择最相关的特征。然后将这些特征输入rbf核支持向量机进行训练。Devi、Bhaskaran和Kumar(2015)提出了一种混合布谷鸟搜索和支持向量机(高斯核)的模型。布谷鸟搜索法是一种用于支持向量机参数优化的优化技术。该模型采用了RSI、资金流指数、均线、随机振荡和MACD等技术指标。该系统使用的数据包括2013年1月至2014年7月期间雅虎财经BSE-Sensex和CNX - Nifty的日收盘价。Giacomel、Galante和Pareira(2015)提出了一种基于神经网络集成的交易代理,可以预测一只股票的涨跌。他们在两个数据库中评估了他们的模型:北美和巴西股市。Boonpeng和Jeatrakul(2016)采用One vs All和One vs One神经网络对买入、持有或卖出数据进行分类,并与传统神经网络进行性能比较。选取泰国证券交易所(SET) 7年历史数据(date 03/01/2007 ~ 29/08/2014)。结果表明,oaa神经网络比oao神经网络和传统神经网络模型具有更好的性能,平均准确率为72.50%。
文献综述有助于我们得出结论,集成学习算法在股票市场预测问题中尚未得到充分的应用。我们将使用一种称为随机森林的集成学习方法来建立我们的预测模型。随机森林是大量的决策树,其输出是各个决策树的输出模式。
本文的其余部分组织如下。第3节讨论数据和对数据执行的操作,包括清洗、预处理、特征提取、线性可分性测试和通过随机森林集成学习数据。第4节使用图形描述语言对算法进行了跟踪,并计算了OOB误差。第5节简要介绍了OOB误差和收敛估计。下一节对所得到的结果进行文档化,然后对所提出算法的优越性进行了对比研究。最后,我们在第7.1节中总结了我们的工作。
3 方法分析
本文采用的学习算法是随机森林算法。采集时间序列数据,进行平滑处理,提取技术指标。技术指标是对未来预期股价行为提供洞察的参数。然后利用这些技术指标对随机森林进行训练。本节将讨论每个步骤的细节。
3.1数据预处理
时间序列历史股票数据首先进行指数平滑。指数平滑更多地应用于最近的观测,而指数下降的权重则应用于过去的观测。级数Y的指数平滑统计量可递归计算为:
(1)
For (2)
其中,a是平滑系数,范围0 lt; a lt; 1。系数a减少平滑的水平。当a = 1时,平滑数据就等于实际的观察。只要有两个观测值,就可以计算出平滑统计量St。这种平滑消除了历史数据中的随机变化或噪声,使模型能够容易地识别股票价格行为中的长期价格趋势。然后根据指数平滑时间序列数据计算技术指标,并将其组织成特征矩阵。第i天预测的目标计算如下:
(3)
其中d为预测完成后的天数。targeti值为 1时,表示d天后价格有正的变动,-1表示d天后价格有负的变动。targeti值作为标签分配给特征矩阵中的第i行。
3.2特征提取
技术指标是由时间序列股票数据计算出来的重要参数,其目的是预测金融市场走向。它们是投资者广泛用来检查熊市或牛市信号的工具。我们使用的技术指标如下:
(1)相对强弱指标
RSI的计算公式为:
(4)
(5)
RSI是一个流行的动量指标,它决定股票是超买还是超卖。当需求不合理地推动价格上涨时,股票被称为超买。这种情况通常被解释为股票估值过高,价格可能下跌的信号。当股价急剧下跌到低于其真实价值的水平时,股票就被称为超卖。这是恐慌性抛售造成的结果。RSI的范围从0到100,一般来说,当RSI高于70时,它可能表明股票被超买,当RSI低于30时,它可能表明股票被超卖。
(2)随机振荡系数
随机振荡系数的计算公式为:
(6)
其中,C = 当前收盘价,L14 = 过去14天最低值,H14 = 过去14天最高值,随机振荡器跟随价格的速度或动量。通常,动量在价格变化之前就会发生变化。它衡量的是一段时间内收盘价相对于低-高区间的水平。
(3)Williams %R
Williams %R的计算方法如下:
(7)
其中,C = 当前收盘价,L14 =过去14天最低值,H14 = 过去14天最高值,Williams %R的范围是从-100到0。当其值大于-20时,表示卖出信号,当其值低于-80时,表示买入信号。
(4)移动平均收敛发散系数
MACD计算公式为:
(8)
(9)
其中,MACD = 移动平均收敛散度,C = 收盘价系列,EMAn = n天指数移动平均,EMA代表指数移动平均线。当MACD低于单线时,它表示卖出信号。当它超过信号线时,表示买入信号。
(5)价格变化率
计算方法如下:
(10)
其中,PROC(t) = t时刻的价格变化率,C(t) = t时刻
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。