基于支持向量机的股票预测与分析
2021-12-09李嘉浩
李嘉浩
(贵州大学经济学院,贵阳 550025)
一、研究背景及目的
股市的变化与国家市场发展动态有着千丝万缕的联系,股票市场对国民经济不断增长有着非常重要的影响。未来股价的行情走势一直是投资者们关注的核心问题,正确的股价走势判断不仅对投资者做出正确的投资决策有利,而且对促进资源有效配置,增强市场的有效性具有重要意义。本文通过借鉴国内外学者在全国层面对证券投资发展的研究经验,结合股票一些基本指标对我国股票市场行情进行预测与分析。选取日收盘价作为股票行情预测的指标,对我国的股票发展趋势进行测度,通过现状分析和行情测度结果对我国的股票发展趋势提出解决对策(陈芳芳[1],2017)。
二、国内外股票预测文献综述
刘庆霞[2](2017)验证了基于主成分分析改进后的BP 网络通过学习和训练可以很好适应股票数据技术,具有较好的预测效果。沈金榕[3](2017)以财务指标作为分析对象,利用改进的CART 决策树与逐步回归进行测度,得出基于决策树的逐步回归模型可以减少影响目标变量的财务指标,提高模型预测准确性。李丹[4](2018)从视角角度研究股票预测问题并进行实证分析,分析了SVFD-BPNN、MVFDIF-BPNN、MVFDIL-BPNN的股票预测最优网络结构及预测结果、实验结果。胡迪、黄巍[5](2019)基于SVM 的组合算法和聚类股票预测算法近邻传播聚类对股票相关性进行实证分析,验证了AP 算法和其他算法结合提高了股票预测的准确率。张晶华、甘宇健[6](2019)提出,深度学习支持向量机对模型参数进行优化配置,利用该模型进行仿真实验,结果得出深度学习SVM 比现有的SVM 在预测精确度方面有明显改善。国外关于股票预测的研究更甚于国内。Charles Dow[7](1902)书写了有关市场观的评论。Sam Nelson 在他市场观的评论的基础上将他的观点进行发展,最终形成了道氏理论。W·D·Gann[8]研究了时间的重要性,提出了“价格- 时间等价”概念。Frank Rosenblatt(1957)发明了称为感知器的线性分类器。Corinna Cortes和Vapnik 于在20 世纪90年代中期提出了基于统计学习的在面对非线性、小样本、高维模式识别问题上具有许多独特优势的SVM。Lerner 和Vapnik[9](1963)介绍了最大区间分类算法。软间隔分类器由Cortes 和Vapnik(1995)引入,在同一年,SVM 被拓展到回归模型上。Gavrishchaka[10]等(2006年)研究了股市的波动性和风险,与现有主流模型相比,利用SVM 构建波动性评价框架可以有效处理高维数据,可以对波动性进行更长期、更大规模的评价,效果优于其他主流评价模型。Funatsu 和Kaneko[11](2013)提出基于时间序列的在线支持向量机来研究自适应软件感知预测模型。此外还研究了窗口大小和适当的超参数设置,得到了回归可靠性预测。
综上所述,虽已对股市预测工作取得了很大进展,但该理论的深度和适用范围还有很多地方可以探索,而目前不仅是国民经济发展的重要时期,也是发展我国证券投资变化的重要时期。因此,如何在上述国内外学者提出的先进理论的基础上,寻找一种能有效改进目前这种缺陷的方法便成为关键。基于以上考虑,本文选择具有较强泛化能力的SVM 中的SVC 作为预测股票价格的核心模型。
三、理论基础
(一)支持向量机的概念
支持向量机(SVM)是Vapnic 等人于1995年提出的基于VC 维理论和结构风险最小化理论的机器学习方法,是一种广义线性分类器,它能根据有监督学习的方法对数据信息进行分类,同时还可以通过核方法研究进行分析非线性分类,突破了基于经验风险最小化理论的传统机器学习中很容易出现的小规模数据过度拟合现象。
1.支持向量机的核函数介绍[12,13]
在特征空间中,我们希望样本线性可分的。但如果在不知道这些特征映射的情况下,我们自己无法明确知道哪个核函数是恰当的。因此,核函数的选择是否正确对于支持向量机模型的优劣显得非常重要。以下是几个常见的核函数。
线性核函数(linear)是最简单的一种核函数,计算方法为:K(Xi,Xj)= XitXj。多项式核函数(poly)是一种非标准的核函数,很适用于正交归一化后的数据集,计算方法为:K(Xi,Xj)=(XitXj)d,d≥1。高斯核函数(rbf),在处理数据的噪音方面有较好的抗干扰能力。计算方法为:
2.支持向量机的参数介绍
SVM 参数的正确选择对分类管理效果有着很大影响。一般来说,需要进行优化的参数分别是C 惩罚参数和σ 内核参数。但就目前来说,还没有一个很好的理论来进行指导参数的优化,常用的方法有实验、网格、梯度下降法等。本文采用网格法对C 进行管理优化,简化了参数选择的操作活动过程,提高了基于所选参数的SVM 的分类工作性能。
四、样本选取
在本文股票预测的实证分析中,考虑股票市场是非常不稳定的动态过程,其未来发展走势还受政府宏观调控的影响,且2020年疫情影响,医药方面可能产生影响较大,因此在数据选择时选取了受影响较大的恒瑞医药和价格运行稳定的宝钢股份作为研究对象,意在将两类股票预测结果做对比验证SVM 的可信度。
五、基于支持向量分类机股票预测的实证分析
(一)数据的预处理
本文选取宝钢股份、恒瑞医药2018.01.01 到2020.03.01 数据,共计523个数据。同时,为了测试python的数据训练,本文对宝钢股份和恒瑞医药建立了一个大样本和一个小样本数据训练集,大样本数据采用全样本数据,小样本数据采用2019.06.01 至2020.01.01 的数据,数据来源于python 爬虫在线抓取。
(二)操作流程
用python 在线抓取两支股票2018.01.01 到2020.03.01历史数据,对两支股票的数据初步整理。具体实施:用value(今天的收盘价减去昨天的收盘价)表示涨跌,差值大于0 为上涨赋值为1,差值小于0 为下跌赋值为0。
进一步标签分类,取数据前80%为训练集,数据后20%为测试集,然后对样本数据进行规范化处理。开始使用核函数进行周期预测,每次向前预测一个值,分别选取'ploy','linear','rbf' 对预测值进行分类,最后计算测试集中的正确率,得出输出value 实际值和预测值的结果如下:
大样本:'ploy':宝钢股份Correct=91.43%,恒瑞医药Correct=93.33%;'linear':宝钢股份Correct=96.19%,恒瑞医药Correct=96.19%;'rbf':宝钢股份Correct=90.48%,恒瑞医药Correct=93.33%。
小样本:'ploy':宝钢股份Correct=93.10%,恒瑞医药Correct=96.55%;'linear':宝钢股份Correct=93.10%,恒瑞医药Correct=93.10%;'rbf':宝钢股份Correct=89.66%,恒瑞医药Correct=96.55%。
以上是基于参数在默认情况下进行的预测分析,由此可得,在三种核函数中,无论是大样本还是小样本,准确率都在90%左右,可见SVM 预测效果是理想的。但由于SVM 参数对模型预测效果有重要影响,且rbf精准度相对较低,因此本文选择大样本的rbf 进行参数寻优:
SVM 参数选优得C=1 000 000.0,于是本文将rbf中的C 参数由默认值1.0 改为最优参数1 000 000.0,得出准确率为Correct=98.10%,比之前90.48%提高了许多,可见修改了参数之后对预测效果有正向效果。打印预测成绩混淆矩阵得:
混淆矩阵是误差矩阵,我们可以使用混淆矩阵来评估有监督学习算法的性能。在混淆矩阵中,二、四象限出现的值越多越好;反之,在一、三象限出现的值越少越好。由上述输出结果可知,在二、四象限出现的值分别为38、42,相较16、9 大很多,可见该模型的预测效果是可观的。
由于混淆矩阵的统计数只是个数,面对大量的数据,仅仅用数字很难衡量其模型优劣。因此,在基本统计结果的基础上又延伸了几个指标:准确度,指模型预测比上模型预测类别是Positive 的所有结果;敏感度,指模型预测比上实际类别是Positive 的所有结果;F1 Score,是综合了精准率与召回率两者的产出结果。它的值范围从0 到1。1 表示最佳预测模型,0 表示最差预测模型;Support 指原数据类别个数。
打印预测成绩报告得:
由表1 可得各指标数据都大于70%以上,距离1 的位置较近,可得出该模型的预测效果是理想的。对恒瑞医药进行同样操作得出其模型预测效果也是理想的。
表1 打印预测成绩报告
六、主要结论及政策建议[14]
(一)主要结论
本文将SVM 应用于我国股票市场的预测。利用SVM 对核函数进行选择和参数优化,进而找出测度股票走势的最优模型。主要结论如下:
1.基于SVM 模型的收敛速度快、精度高,SVM 模型可以很好预测股票数据,使预测结果非常接近实际值。
2.核函数选择和核参数选取对SVM 的学习和预测性能有着非常重要的影响。不同的核函数和核参数直接关系到运算结果的准确性。
3. SVM 对股票价格的预测具有良好的准确性,为广大投资者提供了一个很有意义的分析工具。
(二)政策建议[15]
股票价格波动频繁,且很多时候波动相当剧烈。要想让股市更稳定地发展,就必须降低投资者和筹资者的不确定性,使股票预测能够在投资者与筹资者之间更灵活地运用,以达到最优资源配置市场。本文建议从以下几个方面来粗略地完善我国股票市场,以减少股票市场的不确定性。
第一,通过广泛的社会调研与讨论,确定我国股票市场经济发展的阶段性目标。第二,尽快构建股市质量动态监测体系,以期实现达到及时准确地评估和掌握股市质量。第三,在上述基础上,监管部门应关注市场质量的变化,以期达到股市的稳定,降低投资者和筹资者的风险性。
七、展望
中国股市是一个政策性市场,一旦有坏消息或好消息泄露出去,将对股市造成很大冲击。此外,一些经销商和机构也在经营着股市,因此很难准确预测股票价格。所以,我们在实际操作过程中应该参考一些政策指标或信息,然后根据实际预测的趋势进行相关投资,只是单一的用SVM 预测股票走势,还需要进一步研究和改进。本文中进行股票预测选定的是宝钢股份和恒瑞医药。但如果选择波动性更强的股票,SVM 的预测效果是否还有优势?能否进一步研究和探索选股?9 维输入特征空间是否包括了模型训练和预测所需要的全部信息?如果没有将全部信息包含进去将大大降低预测效果和精度,因此如何找到最具代表性的预测信息属性还需要进一步研究。但总体来说,股市预测虽然具有很大的挑战性,但其现实意义是显而易见的。