APP下载

数据挖掘技术在股票数据分析中的应用研究

2021-11-29王颖颖晁绪耀

科技创新与生产力 2021年10期
关键词:决策树数据挖掘股票

王颖颖,晁绪耀

(1.郑州升达经贸管理学院,河南 新郑 450001;2.郑州职业技术学院,河南 郑州 450007)

作为一门新兴的数据分析技术,数据挖掘适用于拥有海量相关数据的领域,以及基于某一知识决策的领域。股票市场每天都会产生大量实时数据,这些数据看似没有关联,但是数据背后隐藏着很多有价值的信息及数据规律,因此从这个意义上讲非常适合采用数据挖掘技术进行股票数据分析。此外,股票分析预测过程本身就是基于一定知识的决策过程[1],所以从这个层面上讲,其又与数据挖掘的适用领域相符,因此在股票数据分析过程中应用数据挖掘技术是可行的、必要的。

1 股票数据分析预测的特点

相比数据挖掘技术应用的其他领域,股票数据分析体现出一定的特殊性。首先,单一性。股票数据的类型是单一的,即都是实数型,这无形中降低了数据处理难度,且股票数据分析的对象具有单一性,虽然个股数据存在较大差异,但是股票的属性信息是相同的[2]。其次,多样性。每个专家对股票数据的分析有着不同的目的,自然会使用不同的分析方法,有着不同的侧重点、分析角度及提取数据的时间,且每种方法都有对应的理论支持,因此基于某种目的而言,无法评判每种分析方法的好坏。最后,隐蔽性。由于多种因素都会对股票数据变化产生影响,不同指标受不同影响因子的作用,因此各个指标之间会表现出特定的发展规律及特征,但是这些规律及特征并不能立即作为决策的依据,因此要应用数据挖掘技术对股票数据信息的变化进行集成分析,挖掘出数据背后隐含的信息及知识[3]。

2 数据挖掘的基本流程

数据挖掘使用机器学习技术分析数据,挖掘过程需要根据规范程序一步步完成,因此一个完整的数据挖掘过程包括以下环节。

1)确定挖掘对象。虽然数据挖掘结果具有不可预测性,但是在开始挖掘时选择一个明确的目标非常重要,因此挖掘目标的选择对于挖掘结果具有指向性。数据挖掘是一个涉及面非常广的过程,有时候需要技术人员提供经验知识,这种经验知识可能来自于用户的业务领域,也可能来自于之前数据挖掘的成果。无论基于哪种经验知识,数据挖掘过程中随时都有可能出现新问题[4]。

2)收集数据。收集数据时要对无效数据进行筛选,以保证数据挖掘结果的有效性,提高数据信息的价值。通常收集相关数据后需要确定与目标信息相关的属性。

3)数据预处理。完成数据采集后需要对数据信息进行预处理,即将数据由高维空间转换到低维空间。预处理主要是剔除错误数据并转换数据,所谓错误数据就是异常值,剔除异常值可以减少数据挖掘过程中的负担,找到更多数据特征。

4)数据挖掘。挖掘过程中应用各种数据挖掘算法及技术并根据数据建模,在特定的时候选择特定的算法解决特定的问题。

5)信息解释。数据挖掘完成后会呈现出一堆毫无意义的数字,只有对直接挖掘出的结果进行解释,才能将挖掘结果真正应用于实践中。不过在结果呈现过程中,用户往往很难看懂一些繁琐的指标,因此需要通过简单、明了的图表将挖掘结果直观地展示出来。可视化展示数据及信息可以大大提高结果的可读性。

3 股票数据分析中应用数据挖掘的关键技术

股票趋势分析涉及非常多的指标,多数指标是企业的财务指标,包括成长能力、经营能力、偿还能力、营运能力、盈利能力、现金流等,在数据挖掘之前要选择股票指标[5]。

3.1 应用关联规则确定关键指标

上市公司的数据都是连续性的变量,无法直接挖掘关联规则,因此需要对收集的数据进行离散化处理,最终挖掘出财务指标的频繁项集及规则数目。本研究利用东方财富Choice资讯获取股票数据,利用软件收集到的数据都是无法直接分析的原始数据,包含了很多噪声数据、重复数据以及不完整数据。因此,要对原始数据进行基本预处理,包括将缺失股票数据的股票去除,如股票名称前带有ST、*ST的经过处理的股票以及股票名称中带有S的未改股股票等均要去除,新加入的股票由于数据较少不具有分析价值,因此也要去除[6]。股票数据经过预处理后再进行深层处理,先计算出各个指标的平均值,再用指标均值对比每个股票的数据,大于均值的股票为A,小于等于均值的股票为B,实现股票数据由数值型向字母型转化,避免因股票数据数量级不同而影响分析结果的准确性。

根据筛选结果可知,与股票上涨概率成正比的相关指标包括股票上市公司营业总收入同比增长率、股票上市公司总资产净利率、股票上市公司归属母公司股东的权益/负债合计、股票上市公司销售期间费用率、股票经营活动净收益/利润总额、净资产收益率同比增长率、总资产周转率以及经营活动产生的现金流量净额/营业收入等。

3.2 利用决策树确定最佳投资股票

利用关联分析算法可以确定与股票上涨关联度较高的指标,接下来应用决策树中ID3算法对股票进行分类,确定涨跌值高于平均值的股票,即优质股票池。利用决策树进行分析时要先删除与股票涨跌值无关或者相关程度较小的指标,以此来提高股票分类效果。应用决策树ID3算法对所研究的股票进行分类,从股票数据集中找出每个指标对应的股票数目,进而计算信息增益。ID3算法的具体分类过程如下。

先计算股票数据集合信息熵,计算公式为

计算出每个指标的信息熵后再计算每个指标的信息增益值,然后进行对比,信息增益值最大的指标为决策树根节点。

接下来对决策树上每个叶子节点重复上述过程,直到产生一个完整的决策树。由计算结果可知,在所有股票属性指标中,信息增益值最大的为总资产净利率,其包含最多信息量,因此决策树根节点就选择“总资产净利率”。在股票数据集合中“总资产净利率”取值有两种,可以将其分为两个子集,对应决策树两个叶子节点,其余股票指标为树的分枝。

3.3 应用BP神经网络预测股票价格变化

利用神经网络技术分析和预测股票数据主要是学习股票的历史价格,存储其非线性变化趋势,再根据这个趋势对未来股票的变化趋势进行预测,帮助投资者了解股票价格变化趋势,为其投资决策提供依据[7]。本研究选择的神经网络输入元包括开盘价、最高价、最低价、收盘价、成交量、成交额、5日移动平均线、10日移动平均线、20日移动平均线等,神经网络输出元为股票收盘价。由于分析过程中股票指标很多,每个指标数据的数量级存在较大差异,神经网络无法利用原始数据进行分析,因此需要对数据进行归一化处理。股票分析预测中BP神经网络的应用如下。

首先设计BP神经网络,其包括隐含层数、隐含层单元数及其他参数的设定等几个环节。包含1个隐含层的BP神经网络可以将所有非线性函数映射出来,因此本研究中隐含层数目设为1。采用试凑法同时结合经验公式确定隐含层单元数,经验公式为

式中:M为隐含层单元数;N为输入层单元数;L为输出层单元数;ɑ的取值为1~10。

采用式(4)计算隐含层单元数。为提高神经网络训练速度,降低误差,最终确定隐含层节点数为3~15。变动隐含层节点数,测试每个股票样本,根据预测误差最小、预测效果最好的训练目标确定最佳隐含层节点数,本研究中隐含层单元数为9。

其次设定学习率、目标误差及训练次数等其他重要目标,此处着重强调学习率的设定。学习率表示权重变化量,学习率过高会导致网络振荡,降低计算效率,因此设定范围为0.01~0.8,本研究中的学习率为0.1。

最后对BP神经网络结果进行分析。将股票数据带入MATLAB系统,通过系统计算可得出股票价格的预测结果,再对比其实际股票价格。需要注意一点,神经网络初始值带有显著的随机性特点,因此预测结果也是随机的,需要通过多次试验将随机性的影响降至最低[8]。本研究进行10次重复试验,平均10次预测结果得出的数值即为最终结果。对比股票的实际价格可知,系统预测曲线与实际股票价格曲线基本重合,因此利用BP神经网络预测股票价格走势可以获得较为理想的预测效果,可以作为股票投资决策时的重要依据。然而,个别预测值还存在较大误差,因此后续需要进一步改进,以提高预测精度。

4 结束语

利用数据挖掘技术可以从大量股票数据中挖掘出隐含的信息价值,投资者参考这些有价值的信息可以提高投资决策的科学性与准确性。在股票数据信息分析过程中,投资者可以先利用关联规则算法挖掘出影响股票涨跌值的指标,再利用决策树算法找出最具有投资价值的股票池,最后应用神经网络算法预测股票价格的变化。当然,股票市场是一个影响因素众多、环境复杂的非线性系统,国家政策、经济环境、投资心理等均会对其发展产生影响。因此,在未考虑这些因素的基础上进行预测可能会导致一定的预测误差,并且神经网络预测初始值是随机选择的,反复试验后才确定神经网络隐含层节点数目,这些均会影响到预测结果的准确性,后续需要加强研究,进一步优化。

猜你喜欢

决策树数据挖掘股票
改进支持向量机在特征数据挖掘中的智能应用
探讨人工智能与数据挖掘发展趋势
基于事故数据挖掘的AEB路口测试场景
决策树和随机森林方法在管理决策中的应用
决策树学习的剪枝方法
软件工程领域中的异常数据挖掘算法
决策树多元分类模型预测森林植被覆盖
本周创出今年以来新高的股票
本周创出今年以来新高的股票
本周连续上涨3天以上的股票