APP下载

基于金融高频数据与互联网资讯的股价预测研究

2021-02-08内江师范学院数学与信息科学学院李沁林尹福成

内江科技 2021年1期
关键词:资讯增长率股价

◇内江师范学院数学与信息科学学院 李沁林 尹福成 陈 雪 康 倩

本文选取上证50成分股中的一部分股票作为对象,统计了日内金融高频数据以及各交易时间段互联网资讯数量。将这些数据作为自变量,股价当日与后一日的收盘价是否上涨作为因变量,采用BP神经网络进行训练,然后收集当天的自变量带入网络对明天的股价股价是否上涨作出预测。通过五天的实验,模型平均准确率为70%。

1 引言

随着人工智能技术的不断发展,各大券商、基金公司等推出了各种各样的股价预测系统,乃至炒股机器人。有的是利用α对冲来构建可以套利的投资组合,有的是依靠收盘价、开盘价、最高价、最低价等历史数据从统计的角度来预测股价[1]。本文构建也是从统计的角度来预测股票价格,不同之处是加入了股票的新闻与股票的其它高频数据一起来预测股价,实现了一个自动收集数据并作出预测的器人。

2 模型假设

假设互联网资讯对投资者的决策是有影响的,并且由于不同的投资者看到新闻的时间不同,新闻发出后的五分钟内一小部分人看到新闻的人所作出的买卖决定,可以代表随后大多数投资者看到这条新闻后的想法。通过新闻发出后的五分钟内那少部分看到新闻的人作出的反应来近似替代新闻对股价的影响。这样做避免了逐条对新闻的本文内容的挖掘。采用文本挖掘既无法得到投资者对于这条新闻真正的反应,实现起来也异常麻烦。

3 数据获取

3.1 股价历史数据收集模块

这里用python3.6.8+requests3.1.4.0接入新浪股票的API,提交请求后可以获得最近五天内该股票的五分钟高频数据,包括开盘价,收盘价,最高价,最低价,成交量这几个属性。后面要对这些数据进行训练,不同股票间的价格相差很大,会对训练造成不好的影响,所以这里对这几个属性计算它们的增长率,其结果一般都在-1到1之间。除了个股的价格数据外,还可以获取股票所在版块的指数的价格数据,然后做同样的处理。最后制成一个csv文件用来保存某只股票在某一天的这些属性,如表1所示。

表1 所得csv文件示例

从表的第一列开始,每一列依次表示:大盘五分钟内最高价增长率、个股五分钟内最高价增长率、大盘五分钟内最低价增长率'、个股五分钟内最低价增长率、大盘五分钟内开盘价增长率、个股五分钟内开盘价增长率、个股五分钟内的新发新闻数量、大盘五分钟内收盘价增长率、个股五分钟内收盘价增长率、大盘五分钟内交易量增长率、个股五分钟内交易增长率。每一行代表不同的时间段。第一行到最后一行依次表示从早上八点开始每5分钟的数据。

3.2 互联网资讯自动收集模块

引言提到的,要加入新闻预测股价,必然要构建一个可以获取新闻的模块。考虑到百度的大蜘蛛系统每五分钟可以爬取一次全网资讯,本文就直接爬取百度关于股票的搜索结果,免去了从各大网站分别爬取资讯的苦恼。用python3.6.8+selenium来制作新闻爬虫,可以绕开反爬机制。爬虫模块运行后得到的结果如图1所示。

图1 爬虫模块爬取百度京东方搜索结果

爬虫返回的结果与网页直接搜索得到的没有差别,统计交易时间内的各五分钟时间段的新闻发布数量,与股价数据一起作为我们最终使用的数据,如表1所示。

3.3 数据集的制作

选取上证50的部分股票作为对象,运行程序,得到的每一个csv文件代表了某只股票某一天的股价高频数据与新闻数据。将文件名命名为日期加股票名称,若第二天上涨则放在文件名为“1”的文件夹下,若第二天没有上涨则放在文件名为“0”的文件夹下。运行程序当天的数据放在“待判断”文件夹下,模型训练后用这些文件对其第二天做预测。

4 股价预测模型

股价的涨跌与其因素显然是非线性的,还具有复杂的非线性关系。Universal approximation theorem(Hornik et al.,1989;Cybenko,1989)定理表明:前馈神经网络,只需具备单层隐含层和有限个神经单元,就能以任意精度拟合任意复杂度的函数[2]。这里我们选择BP神经网络对股价做预测,模型的结构如图2所示。

图2 网络结构

网络从上到下依次为64个神经元的全连接层,relu激活层,16个神经元的全连接层,relu激活层,2个神经元的全连接层,sigmoid激活层。损失函数为sparse categorical crossentropy。

5 结果分析

按照上述模型用keras搭建好之后,进行300轮训练,然后将当天的数据输入网络,得到第二天股票的的预测涨跌,然后与真实值做对比,重复5天实验每一天准确率如图3所示。

图3 每天实验的准确率

图4 五天预测的混淆矩阵

预测的准确率都大于50%,效果较为理想,混淆矩阵如图4所示。由图4知,网络的精确度度都在70%左右,说明神经网络确实学习到了一些规律。对下跌的预测灵敏度高达84.96%说明数据中的下跌样本很多,导致模型预测下跌的频率大。

6 结语

互联网资讯与股价高频数据联合预测股价的准确率每日稳定高于50%,说明了这套方法有很强的实用性。目前已经实现了自动数据收集和预测部分的代码,相关代码已上传到GitHub,后续可以开发交易模块得到一个基于此方法的全自动炒股机器人。

猜你喜欢

资讯增长率股价
资讯Information①
盘中股价升跌引起持股者情绪变化
牛股盘中冲高回落尾市拉涨停行为解读
台2016GDP“成功保1”
股价创股灾以来新低的股票
美拭目以待的潜力城市
资讯
资讯
资讯
种群增长率与增长速率的区别