2024年3月22日发(作者:)

2018年第9期(总第551期)JournalofRegionalFinancialResearch区域金融研究NO.9,2018GeneralNO.551基于财务指标的股价预测模型及实证研究王亚红程希明100192)(北京信息科技大学,北京摘要:为了对股票的选择投资提供一定的建议,本文提出了利用财务指标构建随机森林模型对股价进行模糊预测的方法。将股价的涨跌看作0~1分类问题,在上市公司的年中报表中选取具有一定合理性且能够量化的指标作为特征属性,报表发出后第60天的收盘价与发出日的收盘价对比涨跌为类别。以国内某财经网站股票数据作为数据来源,选取合理财务指标作为特征属性,建立随机森林模型并进行测试。结果显示,该模型具有比较高的准确性,财务指标在股价预测中具有一定的辅助作用。关键词:股票;分类;模糊预测;随机森林中图分类号:F830.91文献标识码:A文章编号:1674-5477(2018)09-0035-04一、引言证券市场是市场经济的重要特征,也是一个高风险高回报的投资场所。由于这些特性,证券市场吸引众多目光,股票分析行业也吸引越来越多的研究者。股票分析市场有考虑经济形势的基本分析法和运用移动平均线MA、KDJ、RSI、MACD等指标的技术分析法以及将股市波动的生命运动特性作为主要研究对象的演化分析法。由于信息技术的快速发展,传统的分析技术已经很难有效地应对现在的局面。在股票交易市场中,每分钟都会产生大量的数据,但券商只利用这些数据进行交易量统计、佣金统计等简单的分析处理,造成大量的数据浪费。这些数据包含许多重要信息,而我们只利用最基础的查询统计功能,没有更深层地发现数据中存在的关联规则,也就没有办法通过历史数据更准确地预测未来的发展趋势。直到20世纪末,计算机技术得到较快发展,开始逐步应用于证券市场。有的学者着手研究数据挖掘技术在股票分析行业的应用(郑文,2012)。有的学者构建的股票预测模型中时间序列模型(方子良,1999)和神经网络模型(龙建成,2005)就是数据挖掘中的知识。但是由于国外股票市场的出现要远远早于国内股票市场,所以国内股票分析行业相比发展更为稚嫩。并且国内数据挖掘技术还未在股票分析行业中得到广泛应用。随着计算机技术的普及和股票交易市场的迫切需求,越来越多的学者着手于利用数据挖掘技术进行股票建模工作。香港科技大学BeatWuthrich开发的股票预测系统通过数据挖掘规则,预测道琼斯等指数的走势。国外也有证券公司基于MATLAB的仿真模拟功能构建有价证券管理系统,专门分析大量数据,研究股票和经济指标的关系,取得的研究成果在证券行业得到认可。随着数据挖掘技术在股票分析研究中越来越深入,例如潘林(2006)的神经网络预测和小波分析系统等越来越复杂的分析系统开始相继出现。与国外相比,现今对于股票分析的信息化程度不高,数据挖掘技术也没有得到广泛应用。数据挖掘中时间序列法、季节变动法、决策树(QuinlanJR,1986)、收稿日期:2018-07-03作者简介:王亚红,女,北京信息科技大学,研究方向为数据分析。程希明,男,博士,北京信息科技大学教授,研究方向为金融工程。-35-
金融理论神经网络法等都可以在股票市场中得以运用。通过经济指数、多空力量、大盘走势、财务指标等属性对股票走势的影响,构建模型,并将模型用于预测大盘走势、股票涨跌等问题。二、随机森林(一)随机森林算法随机森林是随机生成的决策树森林,是Bagging套袋法g)算法加决策树算法的结合。(1)从原始样本集中使用随机有放回的方法随机算法。抽取n个训练样本,共进行k轮抽取,得到k个训练集k个训练集之间相互独立,元素可以有重复)。(2)对于k个训练集,我们训练k个模型。(3)所有模型的权重相同,对于分类问题:由投票表决产生分类结果;对于回归问题:由k个模型预测结果的均值作为最后预测结果。和CART2.决策树算法。常用的决策树算法有三种,只是采用不同的指标。ID3、C4.5以CART算法为例。CART决策树分为分类决策树和回归决策树(BreimanL&FriedmanJ,1984),研究只讨论分类决策树。CART算法(李航,2012)是一种二分递归分割技术,把当前样本划分为两个子样本,CART使得生成的每个非叶结点都有两个分支,因此非连续变量来说属性值的取值只有两个,算法生成的决策树是结构简洁的二叉树。对即等于该值或不等于该值。对于一个变量属性来说,划分点是一对连续变量属性值的中点。输入:训练数据集D,计算停止的条件。输出:CART决策树T。(1)设节点的训练数据集为D,其基尼指数为Gini(D)=1-∑K(Ck)2,其中,Ck是D中属于第k类k=1D的样本子集,K是类的个数。计算现有特征对该数据集的基尼指数。对所有的特征将D分割成两部分D1Gini(D,A)=DD1、GiniD,计算其A,(DGini其可能取的每个值21)+DD2Gini值。(D2)(1)(2)在所有的Gini值中,选择最小的作为最优特征与最优切分点。然后依据此最优特征与最优切分-36-《区域金融研究》2018年第9期点,将训练数据集特征分配到两个子节点中。(3)对两个子节点递归的调用(1)和(2),直至满足停止条件。(4)生成CART决策树。产生的决策树可能对训练数据集分类准确率很高,但是对检测数据集并不适用,需要对决策树进行剪枝操作,分为预剪枝、后剪枝两种方法,比来选择最优特征。ID3算法是利用信息增益,才能得到想要的决策树。C4.5是利用信息增益(二)随机森林构建过程建模过程如下:放回的方式选出1.从样本单元为m个样本,m的原始训练集中使用随机有共进行n次采样,生成n个自助训练集。2.树模型,3.对于这假设原始训练集含有n个训练集,分别训练出每个节点分裂时随机选取A个特征,n个决策树模型。a(a 《区域金融研究》2018年第9期不相同,先对数据进行规范化、离散化等预处理得到准备数据,如表2。表1股票数据统计表统计量平均数最大值最小值众数峰度偏度方差净资产收益率(%)流动比率(%)9.69速动比率(%)2.1158.69.915.290.38.721.853.762.227.1621.61资产负债率(%)存货周转率(%)42.741.6294.889.780.169.871.4735.52.537.281.660.539.921.37应收账款周转率(%)总资产增长率(%)49.592.498068.71117.410.010.011.191.8818.88-0.33341.5815.85286.11399.129.37主营业收入增长33.451851.76-72.5421.916.17302.85172186.45率(%)46.32771.49-83.4120.5312.01149.628889.2541887.8净资产增长率(%)每股收益增长率(%)219.11流动资产增长率(%)-6.4485332.934443.95-8930.77-90.7916.090.1321.55-9.79464.69156.52156517.74股东权益增长率(%)涨跌幅32.560.68912.093.41-1000.93012.040.631.192.175.898.17339948.88087.390.16表20.11部分处理股票数据样例1.2-0.250.061.727.210.02股票代码600338股票名称西藏600230沧州600133东湖600507方大600309万华600690青岛600615丰华珠峰大化高新特钢化学海尔股份净资产收益率流动比率3.5速动比率1.83.10.92.81.32.32.31.51.7资产负债率1.50.80.50.90.70.80.61.10.89.9存货周转率2.8应收账款周转率2.44.44.58.66.55.979.81.2总资产增长率117.60.20.13.92.12.813.30.4主营业收入增长率5.81.31.62.31.95.71.60.20.5净资产增长率8每股收益增长率流动资产增长率11.698.4-1009.55.944.44.76.59.66-0.316.53.218.4633.71921.2100股东权益增长率12.4涨跌是916.69.21.813.21410.1是否53.5是6.8是14.9否21是(二)建立模型随机森林模型即随机生成多个决策树模型构成一片决策森林。实验通过R语言随机森林算法实现(randomForest包)(ff,2016),根据训练数据建立随机森林模型,对验证数据集进行预测。20%练样本,、股票数据样本共有40%除训练样本外的数据集为验证数据集。、60%和80%作为随机森林模型建立的训810条,随机选取其10%、利用随机森林算法,通过对训练数据集建立模型,这里对其训练样本为80%时的建模过程进行举例说明,征集1.详细建模步骤如下:A随机选取630组股票数据为训练数据集D,特取6302.。个样本单元,在训练集中随机有放回的抽取形成500组自助样本集。500次,每次抽金融理论策树的每个节点,3.由500组样本集构建随机选取5003个特征,个决策树模型。在决利用Gini指数选取最优特征点,点的所属类别由节点对应的众数类别决定4.生成所有500不断生长。棵决策树,不进行剪枝,(最小节点终端节为1)个结果,5.。决策树分别对验证集进行分类预测,由众数决定最终结果。得到500(三)模型预测与评价利用训练数据集建立随机森林模型,对检测数据进行预测分类,检验其正确率。对模型进行评价,以训练数据集为80%,测试集为20%为例,可以得到混淆矩阵(ConfusionMatrix)是模式识别领域中一种表达方式,常用于描述数据真实属性和预测属性的关系,是一种评价分类器性能的方法,行标为真实结果,列标为预测结果,如表3。表380%数据的测试集混淆矩阵否是否是6342通过准确率(Accuracy)、识别精确度(111Precision)和反馈率(Recall)对其进行评价。Accuracy=TP+TNTP++FNFP+FN(2)Precision=TPTP+FP(3)Recall=TPTP+FN(4)其中,TP为被预测上涨,真实也上涨的股票样本数。FNTN为被预测下跌,真实也下跌的股票样本数。被预测上涨真实却下跌的股票样本数。可以看到其为被预测下跌,真实却上涨的股票样本数。FP为准确率即所有预测正确的股票样本数占总测试集的比例为70.37%,识别精确度即预测上涨实际也上涨的股票样本数和所有预测为上涨的股票样本数的比例为72.54%,反馈率即预测上涨实际也上涨的股票样本数和所有预测正确的股票样本为97.37%,均说明该模型能达到预测准确度要求。通过R语言进行多次预测,得到平均正确率如表4所示。根据预测结果能够看出,训练集的预测正确率大致保持不变,维持在72%左右。测试数据集的准确率随着数据增多在缓慢增长,最终也可以维持72%左右。-37- 金融理论表4不同训练集模型正确率训练集占比训练集预测正确率%验证集预测正确率%71.4210%72.7620%70.4372.3572.9840%71.9860%80%71.6972.0672.2272.9四、与决策树模型对比研究为验证模型的优缺点,与决策树进行对比分析。决策树(Decisiontree)是一种广泛应用的分类模型。通常有ID3、C4.5和CART三种算法模型。CART只能构建二叉树,ID3和C4.5可以构造多叉树模型。研究采用500CART模型。在某财经网站随机选取2017包(张良均等,组股票数据建立决策树模型。通过2017)建立决策树模型。再次在财经网R语言rpart年站上随机选取288组股票。利用决策树模型与随机森林模型对其进行预测,ing得到ROC式,灵敏度为纵坐标,Characteristic)曲线1-(判断二分类模型的一种方(ReceiverOperat⁃特异性为横坐标),如图1。由AUC(AreaUnderCurve)(ROC曲线下的面积,可以直观判断分类器效果,越接近1效果越好)判断模型优劣,结果明显看出随机森林的AUC远远大于决策树。随机森林AUC=0.9841,决策树AUC=0.7208。决策树的缺点在于容易过拟合,但是相较于别的分类模型更加直观。考虑到消耗时间也是评价模型优劣的一个指标,可以发现决策树建立模型并预测出结果多耗费时间与随机森林时间比值为0.7413,这个时间比值也是可以理解的。从ROC曲线来看,财务指标在决策树模型中也有较好发挥。五、结语近几年,国内外运用数据挖掘对股票数据进行分析建模的研究越来越多。本文将股票涨跌分为两类,选取衡量上市公司投资价值的十二个指标,运用随机森林算法进行建模研究。通过对验证数据集的预测结果发现,将财务数据作为指标在预测股票涨跌这个问题上的准确率较高,具有一定的参考意义。-38-《区域金融研究》2018年第9期图1随机森林与决策树的ROC曲线参考文献RegressionTrees[1]Breiman[M]rth,Friedman,1984.J,ficationandLearning[2],1986QuinlanJR.,1(1):ionofdecisiontrees[J].Machine[3](美)ff著.R语言实战(第2版)[M].王370.小宁,刘撷芯,黄俊文,等译.北京:人民邮电出版社,2016:368-[4]方子良.时序法在股市行情技术分析中的应用[J].南京理工大学学报,1999.23(2):149-153.[5]龙建成,李小平.基于神经网络的股票市场趋势预测J].西安电子科技大学学报,2005(3):460-463.[6]刘建荣,潘和平.基于财务指标体系的中国上市公司投资价值分析[J].管理学家(学术版),2010(5):16-25.2012[:67-73.7]李航.统计学习方法[M].北京:清华大学出版社,[8]潘林.基于小波分析与神经网络的股票市场预测应用研究[D].武汉:武汉理工大学,2006:86.[9]张良均,云伟表,王路,等.R语言数据分析与挖掘实战M].北京:机械工业出版社,2017:73-79.[10]郑文.数据挖掘在股票分析中的应用[D].厦门:复旦大学,2012:60.(责任编辑:刘婵婵)(校对:SHT)[[