随机森林在股票趋势预测中的应用

2018-03-23 12:23张潇韦增欣
中国管理信息化 2018年3期
关键词:随机森林

张潇 韦增欣

[摘 要] 对于股票投资过程中的趋势预测问题,采用随机森林算法建立基于历史价量信息的股票模型。文章首先介绍了股票技术指标,然后利用随机森林算法实现了对沪深股票的趋势预测。通过对算法分类精度和股票回测结果进行分析,证实集成学习算法在股票趋势预测中具有一定的作用。

[关键词] 集成学习算法;随机森林;股票预测

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 03. 048

[中图分类号] F832.48 [文献标识码] A [文章编号] 1673 - 0194(2018)03- 0120- 04

1 引 言

股票市场的快速发展,使得其逐渐成为国民经济的重要支撑。股票市场可以带来高收益率,如何准确预测股票价格走势,如何规避股票投资风险,如何获得最大投资收益是绕不开的问题。股票价格作为非线性时变系统,预测难度较大。本文为了保证稳定的投资收益,降低投资风险,采用股市中常用的技术指标作为分析基础,利用随机森林(RF)作为算法,旨在实现对股票涨跌的预测。

算法交易降低了投资者情绪的作用,减少了长期经验的积累,被广泛应用于股票市场。例如:张健等[1]研究了人工神经网络在股票分析预测中的应用,并试图设计新的网络;张晨希等[2]使用支持向量机预测上市公司股票走势,并证明优于传统神经网络;邹阿金等[3]构建了新型的Legender神经网络,并证明可以很好地逼近非线性系统;张燕平等[4]改进原有的覆盖算法,给出新的覆盖学习算法SLA,并将其应用于股票预测;何芳等[5]研究了基于扩展Kalman滤波的神经网络学习算法,并证明在股票预测中具有可行性。

本文基于集成学习算法,旨在帮助初入股市的人判断股票的未来涨跌趋势。具体研究内容如下:第一,本文首先从常用的技术指标出发,阐明了技术指标在股票预测中的作用。第二,介绍RF算法,并与技术指标结合进行建模。第三,在实证中发现RF在预测股票涨跌上还是有一定的帮助的。实验的同时也验证了本文提出的方法对股票交易具有一定意义的预测指导作用。

2 技术指标

1896年Charles H.Dow提出股价平均指数,这是第一个股票技术指标。随后技术指标就开始在股票预测中占有一席之地。技术指标具有三个方面的优势:第一,直观性,即使专业知识缺乏,仍可通过技术指标对股票趋势进行判断;第二,多样性,技术指标几乎涵盖了每一种策略;第三,统一性,所有的股票可以放同一框架比较。

2.1 本文选取的技术指标

本文的技术指标主要是在分析、归纳、总结大量文献和证券报告后,结合价值成长投资策略(GARP)[6,7]选取的。GARP结合了价值型策略和成长性策略,目的是找到价值可能被低估,实际却在持续增长的股票。

本文选取的股票技术指标见表1。

上述16个股票技术指标涵盖了评价上市企业盈利、偿债、成长、运营等能力的技术指标,符合GARP。技术指标不止16种,以上16种是投资者最普遍使用的。虽然只选用16个指标具有后验性、片面性、欺骗性,但集成学习算法较好的弥补了这些缺点和不足。

3 随机森林算法

随机森林(Random Forest,RF)[8],是基于Bagging算法的一种集成学习算法。训练集通过自助重抽样得到,分裂规则为CART算法,特征选择采用随机的方法。RF包含了Bagging、CART、随机特征选择等几个算法,噪声容忍能力强,分类效果突出。

3.1 Bagging算法

Bagging算法[9]的原理是:设原始的样本集为S,有放回的抽样得到的训练集为T-set,其中T-set和S的元素个数相同。

若选用的抽样方法为Bootstrap,则S中没被抽取到的样本概率是(1-)N,其中N为S的样本总数。已知(1-)N≈0.368,所以S中的样本大约有37%不会被抽到。没抽到的数据成为袋外数据;袋外数据一般用来估算模型的性能,即OOB估计[10]。使用OOB能够得到泛化误差的大小和单个特征的重要程度。设T轮训练之后,分类器序列为{f1,f2,…,fT},该序列构成了多分类器的模型,分类结果的获取对于分类模型来说可以采用简单多数投票法或平均法。

Bagging处理多分类问题的预测准确率是由元学习算法的稳定性决定的,见图1。

已知Bagging方法适用于对于不稳定的元学习算法,因为Bagging通过降低方差减小泛化误差,处理不稳定的元学习算法,预测函数的偏差偏小,方差偏大。CART作为元学习算法是不稳定,故RF算法通過自助重抽样法得到不同训练集的方法,不仅降低了方差,还降低了的泛化误差。

3.2 随机森林

RF由{h(x,θk),k=1,…}组成,其中元分类器h(x,θk)表示CART。首先通过随机有放回的方式得到每棵单棵树的训练集,然后利用随机特征选择进行分裂;最后针对每棵树的输出结果来确定最终RF的输出结果。确定最终输出结果的方式有两种,一种是用于分类的简单多数表决法,一种是用于回归的简单平均法。

在RF模型条件下的单棵树构造过程:(1)使用Bagging的方法产生训练数据集。(2)内部节点的分裂采用随机选择特征的方法。(3)每棵树在生长过程中不实行剪枝操作。

3.2.1 随机森林的泛化误差

没有通过自助重抽样成为训练集的样本常估计模型的泛化误差。泛化误差以大数定律作为基础,通过定义间隔函数得到。RF中泛化误差与每棵树的分类情况及树之间的相关度密切相关,随着树的数目增多,泛化误差会增大并收敛于一个有限的上界。

定理[11] 树的个数在达到一定程度后,在所有序列集θ1…上,PE*会处处收敛于:

其中,θ表示每棵树对应的随机向量,h(x,θ)表示x和θ的分类器输出。随着森林中树的数目增多,森林不会出现过拟合现象,而是趋向于一个有界的泛化误差值。

证明 对于分类器{h1(x),h2(x),…,hN(x)},x为输入向量,y为输出变量,定义(x,y)的间隔函数为:

其中,I(·)为示性函数,avk(·)为取平均值。函数间的差值越大,分类器在分类过程中效果越好。分类器的泛化误差为:PE*=pX,Y(mg(x,y)<0),X,Y表明概率由X,Y空间得出。

3.2.2 随机森林的优缺点

RF拥有组合分类器的性能,使用Bagging随机抽取训练样本且随机选择特征。RF的优点:(1)OOB估计可以很好的估计模型的泛化误差和每个特征重要度。(2)能够处理所有属性取值的情况。(3)对数据噪声有很好的容忍能力。(4)RF在处理规模较大的数据时有较高的预测准确率且可以解决过度拟合。RF的缺点在于对部分特征确实不敏感。

4 预测模型

4.1 数据的预处理

股票数据是有噪声而且有缺失的,不能够直接进行数据分析,需要将原始数据进行标准化,清除、纠正有问题的数据。

对于股票中的噪声,利用数据平滑法进行处理。由于随机森林善于处理离散值,所以需要对数据进行规范化,本文将所有数值映射到[-1,1]。以MACD为例,为了使得算法能够识别拐点,设定当快速线(DIF)向上突破慢速线(DEA)为1,当快速线(DIF)向下突破慢速线(DEA)为-1,其他为0。

图2 展示了2015年1月1日至2015年3月21日沪深300的MACD,处理后数据更容易被算法所识别,所有指标数据都会做类似处理,此处不再赘述。

4.2 随机森林算法预测准确率

将上文中的16个技术指标作为训练因子,获取2015年1月1日-2017年1月1日的技术指标数据和股票收益。以5天为一个周期进行计算。

通过测试得到,每个周期随机森林对股票涨跌的预测精度如图3所示。

取预测精度的平均值0.41,方差0.07,可以看出股票的预测精度较高,能够很好的预测股票的涨跌情况。

4.3 股票回测

本文选取2015年1月1日至2017年1月1日对沪深300股票進行回测。选择沪深300是因为(1)它包含了300只A股,是我国A股市场的核心指数,具有较高的代表性;(2)反映了股票价格变动的主要趋势,包含13个行业,占股票市场70%左右的市值,具有很好地投资性。

回测结果如图4所示。

从图4中可以看出,该策略的年化收益率高于基准年化收益率35.3%,夏普比率为1,贝塔为0.65,表示策略风险回报较高。最大回撤为21.5%,反映了组合与最高点的亏损率较低。收益波动率为28.6%,资产收益的不确定性较弱。阿尔法为33%,实际回报比预期回报存在较大差异。总的来说该策略具有不错的超额收益。

5 结 语

本文通过价值成长投资策略选取股票技术指标,然后利用随机森林预测股票的涨跌趋势,最后进行回测。结果表明随机森林在股票涨跌预测中具有一定的作用,策略回测具有不错的收益。随机森林作为集成学习算法,能够处理规模较大的数据,预测准确度高,噪声容忍度强,非常适合股票数据处理。

主要参考文献

[1]张健, 陈勇. 人工神经网络之股票预测[J]. 计算机工程, 1997(2):52-55.

[2]张晨希, 张燕平, 张迎春,等. 基于支持向量机的股票预测[J]. 计算机技术与发展, 2006, 16(6):35-37.

[3]邹阿金, 罗移祥. Legender神经网络建模及股票预测[J]. 计算机仿真, 2005,22(11):241-242.

[4]张燕平, 张铃, 吴涛,等. 基于覆盖的构造性学习算法SLA及在股票预测中的应用[J]. 计算机研究与发展, 2004, 41(6):979-984.

[5]何芳, 陈收. 基于扩展Kalman滤波的神经网络学习算法在股票预测中的应用[J]. 系统工程,2003,21(6):75-79.

[6]陈光兴, 张一明. 浅谈价值成长投资策略在中国股市的适用性[J]. 经营管理者, 2010(24):8-8.

[7]王丽. 我国A股市场价值成长投资策略及其有效性实证研究[D].无锡:江南大学, 2016.

[8]Breiman L. Random Forests[J]. Machine Learning, 2001,45(1):5-32.

[9]Breiman L, Last M, Rice J. Random Forests: Finding Quasars[M]// Statistical Challenges in Astronomy.NewYork,NY:Springer,2003:243-254.

[10]李毓, 张春霞. 基于out-of-bag样本的随机森林算法的超参数估计[J]. 系统工程学报, 2011, 26(4):566-572.

[11]康雅文. 基于随机森林的医疗行业供应商的等级评估模型[D].合肥:安徽大学, 2017.

猜你喜欢
随机森林
随机森林算法在中药指纹图谱中的应用:以不同品牌夏桑菊颗粒指纹图谱分析为例
基于随机森林的登革热时空扩散影响因子等级体系挖掘
基于随机森林的HTTP异常检测
个人信用评分模型比较数据挖掘分析
随机森林在棉蚜虫害等级预测中的应用
基于二次随机森林的不平衡数据分类算法
拱坝变形监测预报的随机森林模型及应用
基于随机森林算法的飞机发动机故障诊断方法的研究
基于奇异熵和随机森林的人脸识别
基于随机森林算法的B2B客户分级系统的设计