背景
随着互联网金融以及股票市场的不断发展,产生了蕴含丰富信息的海量股票数据。数据资源丰富但难以利用已成为当今社会的一种普遍现象,成为了人们高效使用信息的障碍。人们往往难以理解存放的海量数据,不能从这些数据得出准确而有效的结论。因为人们缺乏有效的方法和实用的技术来从海量数据中提取有价值的信息。如何利用一定的算法或处理数据技术,有效的挖掘出蕴藏在股票海量数据中的规律,找出股票的价格走势成为一个热点问题。
面对海量和非线性变化的股票行情数据,传统的分析方法操作难度大且预测准确性较低。利用人工智能算法结合大数据平台对海量股票行情数据的非线性关系具有很强的逼近能力,由于股票的成交价、成交量等数据中含有大量影响股票价格变化的信息,人工智能算法可以通过学习股票的历史数据,从而找出股票价格规律。本文在人工智能算法的基础上,利用东方金信分布式大数据挖掘系统分析股票的潜在走势,帮助投资者在短时间内把握股价的估值水平,从而对投资者进行价值投资建议。
股票预测模型的仿真
数据来源
本案例选取市场流通的某支股票作为分析对象,从2016年03月01日到2018年03月01日间的价格作为原始数据,利用东方金信大数据挖掘系统将原始数据接入分布式存储系统。根据道氏理论,收盘价的波动在一定情况下能够反映短期内的股市波动状况,预测市场的基本趋势。因此,选取收盘价格作为股票价格分析的依据。其中,选取 2016 年 3 月 1 日到 2017 年 3月 1 日的价格数据作为训练样本,2017 年 3 月 1 日到 2018 年 3 月 1 日的价格数据作为模型测试数据。原始股票价格波动如下图所示:
图1 原始股票价格波动曲线
数据处理
从分布式存储系统中将原始数据导入大数据挖掘系统的过程中,平台提供了丰富的数据预处理工具,包括数据解析和拆分等操作。
图2 数据导入
图3 数据拆分
本案例中由于股票价格数值变化范围并不大,为了保证预测结果的准确性,神经网络训练前不再进行归一化。
建立模型
东方金信大数据挖掘系统提供大量预配置模型,同时用户可以配置参数定制化模型,系统提供模型管理功能,方便用户灵活调用。本案例中股票价格在长时间序列中的波动趋势呈现典型的非线性特点,利用大数据挖掘系统提供的Gradient Boosting Method算法模型训练股票数据。运用Gradient Boosting Method模型,对样本数据进行训练,用反复试验法确定决定树的数量ntrees = 100,设定最大树高max_depth = 10,节点划分最小样本数量min_rows = 10,学习速率learn_rate = 0.1。
图4 配置模型基本参数
图5 配置模型高级参数
股票投资小常识:道琼斯指数是一种算术平均股价指数。道琼斯指数是世界上历史最为悠久的股票指数,它的全称为股价平均指数。
配置模型参数后,在大数据挖掘系统界面点击建立模型,开始利用分布式计算引擎快速生成训练模型,并可通过界面查看模型对象。
图6 建立和查看模型
点击大数据挖掘系统查看模型功能按钮即可方便地查看模型训练过程的各项指标参数。图7为股票数据训练过程中训练数据和验证数据损失变化情况。
图7 训练过程损失参数变化
利用大数据挖掘系统模型预测功能对测试数据集进行预测,系统提供了预测结果展示、下载和导出到分布式存储系统的功能。如图8为系统模型预测功能界面。
图8 模型预测功能界面
模型预测功能提供的股票价格预测结果如图9所示,用户可在界面中下载和导出结果集。
图9 预测结果
将训练得到的预测值和实际值进行对比,结果如下图所示:
图10 预测值与实际值对比
通过对比,可以看出预测值与实际值相差较小,二者走势基本相同,预测值变化略早于实际值,能达到预测的实际效果。此外,预测结果显示模型均方误差MSE=0.950172,从预测数据来看,该模型预测性能较好,相对误差较小,模型较为准确。
东方金信大数据挖掘系统拥有统计库并行化的高性能统计算法库,用于对数据进行预处理、建模和预测,是一个机器学习和数据挖掘平台,支持海量数据的深度挖掘功能。本文使用东方金信大数据挖掘系统分析了股票行情随时间序列的变化,训练获得的模型准确度较高,该系统的特点是方便快捷且适用于海量股票价格数据的处理,具有一定的实用性、有效性和可推广性。
股票投资小常识:风险越大的交易,就越要把仓位控制的越低。满仓对于任何人来说,都是在把风险提高到最大。
股票投资小常识:股票投资的核心要素是在好生意(行业)中选出最有竞争力(龙头)的企业,而往往好生意的产品和服务都是能用一句话说的清楚。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186