法律状态公告日
法律状态信息
法律状态
2022-07-29
公开
发明专利申请公布
技术领域
本发明涉及新闻驱动股票指数预测方法,尤其涉及一种基于TrellisNet和注意力机制的新闻驱动股票指数预测方法。
背景技术
金融市场作为一个非线性、变化频繁的复杂动态,风险与回报并存,股票作为金融市场内最为活跃的投资之一,收到了众多投资者的青睐。然而,由于股票市场本质上是一个动态的、非平稳的、嘈杂和混乱的系统,加之投资者对股价走势的错误判断,常常导致市场出现危机。因此,对于股市是否能预测以及股市怎样预测的问题,学术界与金融业界一直有着极大的兴趣。随着人工智能的发展,将以深度学习方法为例的AI技术与金融业结合,特别是时序神经网络的应用,在模拟对象的具体特征、处理复杂且大量的数据时有着优秀的表现,这一优点十分适合金融大数据领域的研究,也为股票的预测提供了理论支撑和验证方法。
股票市场受多方因素影响,如政治、经济、市场因素以及新闻和投资者行为等。针对这些影响股价变动的各种因素,研究者们希望可以借助科技的力量对股价进行预测,从而最大程度的降低投资的风险。虽然研究人员将深度学习技术和股市预测进行了较好的结合,但在以往的股指预测方法中,常常选用单一的股票技术指标作为影响股价波动的特征参数结合神经网络进行预测,忽视了股价波动存在多种影响因素的特性,造成预测结果不理想。
发明内容
发明目的:本发明的目的是提供一种能实现新闻情感与股指数据的结合,预测股票指数的未来趋势情况的一种基于TrellisNet和注意力机制的新闻驱动股票指数预测方法。
技术方案:本发明的新闻驱动股票指数预测方法,包括步骤如下:
S1,获取相关股票指数的历史新闻数据和交易数据;
S2,通过LSTM-CNN文本情感分析模型,将非结构化新闻数据转换为结构化的情感指数数据;
S3,将获取的结构化的情感指数数据与股票指数交易数据按照交易日期进行相对应的数据融合,并进行归一化处理,构造数据集,并将数据集分为训练数据集和测试数据集;
S4,构建TrellisNet和注意力机制神经网络预测模型,将训练数据按照时间序列输入到预测模型中进行训练,并利用测试数据集对预测模型进行测试修正;
S5,将待预测日的新闻情感指数数据和待预测日前一日的股票指数数据作为输入,用步骤S4中训练好的预测模型进行预测,得到待预测股票指数的涨跌情况。
进一步,所述步骤S1中,获取的新闻数据特征包括:新闻日期、新闻标题和新闻主要内容;获取的交易数据特征包括:交易日期、最低价、最高价、收盘价、开盘价和交易量。
进一步,所述步骤S2中,对获取的新闻数据进行情感分析,具体过程如下:
S21,使用word2vec将文本中每个词映射成词向量,这些词向量组成了一个词向量矩阵M∈R
M={w
其中,w
S22,采用基于负采样的CBOW模型为基础训练词向量,通过词w
其中,X
对应的损失函数计算公式如下:
其中,w
S23,基于LSTM-CNN的情感分析模型包括文本词汇向量化、特征提取和情感分类:文本词汇的向量化通过word2vec方法进行预处理;特征提取部分,利用LSTM的强大序列处理能力对词向量进行重新编码,编码后的词向量拥有更为丰富的上下文表达,再利用CNN来进一步提取局部语义特征;情感分类通过使用softmax分类器得到不同新闻情感倾向的分类;
S24,通过LSTM-CNN模型对选取的新闻文本进行情感分析,分别得到文本对应的正向情感值P、负向情感值N和中性情感值M,则得到每一条文本的正向情感指数V=P-N。
进一步,所述步骤S3中,对交易数据全部使用归一化操作,把取值范围限定在[0,1]区间,交易数据x归一化处理的公式为:
其中,y为转换后的交易数据,x
进一步,所述步骤S4中,将获取到的结构化的新闻情感指数和归一化后的股票交易值进行融合,形成的数据样本分为训练样本和测试样本,训练样本用于训练预测模型,测试样本用于检验预测模型;
使用LSTM作为TrellisNet的激活函数,同时加入注意力机制;当神经网络预测模型训练至预设的Epoch次数或损失函数小于预设值时,预测模型停止训练;
构建TrellisNet和注意力机制神经网络预测模型的实现过程如下:
输入经过前馈线性变换后和前一层t时刻的隐藏状态一起传给非线性激活函数f:
其中,输入经过前馈线性变换的计算公式如下:
其中,t表示时刻,i表示网络层,W
输入序列的线性变换:
将TrellisNet的每一层,都视为对隐藏状态序列进行一维卷积运算,然后将卷积输出传给激活函数,则TrellisNet的网络层i的运算为:
每个时间步长的计算公式如下:
c
o
h
其中,c
将LSTM内核作为TrellisNet的非线性激活函数的数学实现:
由此,TrellisNet每一层的线性变换都会产生一个带有r=4q的特征通道的预激活特征
最后,通过元素变换和Hadamard乘积产生这一层的最终输出为:
将TrellisNet网络的隐藏层作为注意力机制的输入,与注意力机制生成的权重相乘,生成权重矩阵,计算公式如下:
e
其中,x
本发明与现有技术相比,其显著效果如下:
1、本发明通过对相关指数新闻的情感进行量化分析,实现新闻情感与股指数据的结合,提高股票指数的预测准确度,来预测股票指数的未来趋势情况;
2、通过自然语言处理技术对非结构化新闻文本进行情感分析,用LSTM-CNN的复合神经网络提高了情感分析的准确率,同时引入了最新的时序神经网络并结合注意力机制来进行预测,提高了神经网络对数据的敏感度和重要数据的关注度,从而提高神经网络的预测能力。
附图说明
图1为本发明的整体流程示意图;
图2为本发明的模型LSTM-CNN神经网络示意图;
图3为本发明的注意力机制结构图;
图4为本发明的TrellisNet模型的单元结构图;
图5为本发明的TrellisNet模型的序列平铺图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
本发明基于TrellisNet(Trellis Networks网格网络)和注意力机制的新闻驱动股票指数预测方法,通过对相关股票指数的新闻进行情感分析,获取对应的情感指数,再结合股票指数的基本特征数据,利用时间序列神经网络和注意力机制进行模型训练,从而达到对股票指数的预测效果。
如图1所示,本发明的新闻驱动的股票指数预测方法,包括如下步骤:
步骤一,获取相关股票指数的历史新闻数据和交易数据
通过爬虫从财经网站采集股票指数的新闻数据和交易数据,获取的新闻数据特征包括:新闻日期、新闻标题和新闻主要内容;获取的交易数据特征包括:交易日期、最低价、最高价、收盘价、开盘价和交易量。具体数据如下表1所示:
表1
步骤二,通过LSTM-CNN文本情感分析模型,将非结构化新闻数据转换为结构化的情感指数数据;对获取的新闻文本数据进行情感分析,具体过程如下:
(i)使用word2vec将文本中(即新闻数据)每个词映射成词向量的形式,这些词向量组成了一个词向量矩阵M∈R
M={w
(ii)采用基于负采样的CBOW模型为基础训练词向量,主要是通过词w
其中,X
对应的损失函数计算公式如下:
其中,w
(iii)如图2所示,基于LSTM-CNN的情感分析模型主要分为文本词汇向量化、特征提取和情感分类三个步骤。文本词汇的向量化通过word2vec方法进行预处理。特征提取部分,利用LSTM的强大序列处理能力对词向量进行重新编码,编码后的词向量拥有更为丰富的上下文表达,再利用CNN来进一步提取局部语义特征。情感分类通过使用softmax分类器得到不同新闻情感倾向的分类;
(iv)通过LSTM-CNN模型对选取的新闻文本进行情感分析,分别得到文本对应的正向情感值P、负向情感值N和中性情感值M,再通过计算得到每一条文本的正向情感指数V=P-N,V值可以为正数,也可以为负数,也可以为0。
步骤三,将获取的结构化的新闻情感指数数据与股票指数交易数据按照交易日期进行相对应的数据融合,并进行归一化处理,构造数据集,并将数据集分为训练数据集和测试数据集。
(3)由于交易数据包含开盘价、收盘价、最高价、最低价和交易量,不同维度的数据有不同的取值范围,全部使用归一化操作,把取值范围限定在[0,1]区间,交易数据x归一化处理的公式为:
其中,y为转换后的值,x
步骤四,构建TrellisNet和注意力机制神经网络预测模型,将训练数据按照时间序列输入到预测模型中进行训练,并利用测试数据集对预测模型进行测试修正。
将获取到的新闻情感指数和归一化后的股票交易值进行融合,形成的数据样本分为训练样本和测试样本,训练样本用于训练预测模型,测试样本用于检验预测模型。使用LSTM作为TrellisNet的激活函数,同时为了提高TrellisNet网络的准确率,加入了图3所示的注意力机制。当神经网络预测模型训练至预设的Epoch次数或损失函数小于预设值时,预测模型停止训练。
如图4、图5所示,TrellisNet的结构融合了CNN和RNN,因此可以直接吸收许多为CNN和RNN设计的技术,从而在多项序列建模问题上要优于当前的CNN、RNN和自注意力模型,因此为了提取股票序列之间的关系,采用基于注意力机制的TrellisNet网络。
如图4中所示,t表示时刻,i表示网络层,W表示权重,x表示序列输入,z表示隐藏状态。可以看到,这一基本构件的输入是前一层i在t、t+1时刻的隐藏状态,以及t、t+1时刻的输入向量。这些输入经过前馈线性变换(省略了偏置)的计算公式如下:
和前一层t时刻的隐藏状态一起传给非线性激活函数f:
由于TrellisNet每层都接受相同的输入序列x
从图5可以看出,其实TrellisNet的每一层,都可以视为对隐藏状态序列进行一维卷积(Conv1D)运算,然后将卷积输出传给激活函数。则TrellisNet的网络层i的运算可以总结为:
TrellisNet的激活函数f可以是任何非线性函数,本发明采用的是LSTM这种非线性激活单元。LSTM单元主要由遗忘门、输入门和输出门组成。三个门更新存储单元并控制单元的状态。细胞状态贯穿整个链条的信息传递,门结构控制着信息的选择。每个时间步长的计算公式如下:
c
o
h
其中,c
下面是将LSTM内核作为TrellisNet的非线性激活函数的数学实现:
TrellisNet每一层的线性变换都会产生一个带有r=4q的特征通道的预激活特征
最后,通过元素变换和Hadamard乘积产生这一层的最终输出为:
为了更好地捕捉时间序列中的有效信息,从股票时间序列中学习到每个输入特征的重要程度,然后按重要程度将输入特征赋予不同的权重,在模型引入了注意力机制。
注意力机制对输入特征进行加权,对影响股价变化较大的特征赋予较大权重。权重参数就是一个注意力分配的系数,来权衡特征的重要性。将TrellisNet网络的隐藏层作为注意力机制的输入,与注意力机制生成的权重相乘,生成权重矩阵。计算公式如下所示:
e
其中,x
步骤五,将待预测日的新闻情感指数数据和待预测日前一日的股票指数数据作为输入,用S4中训练好的模型进行预测,得到待预测股票指数的涨跌情况。
(5)实验结果分析
本发明采用均方误差(MSE)、平均绝对误差(MAE)、均方根误差(RMSE)、平均绝对百分比误差(MAPE)和R
表2
通过对比实验可以发现,本发明提出的TrellisNet和注意力机制的神经网络预测模型相对于其他模型来说,在准确度、稳定性上可以获得更好的效果。
机译: 基于人工神经网络模型的新闻分析预测股票指数的方法
机译: 方法,系统和装置,利用现场学习将趋势曲线升级为基于用户驱动的反馈机制的预测性维护可视化的燃油表
机译: 方法,系统和装置,利用现场学习将趋势曲线升级为基于用户驱动的反馈机制的预测性维护可视化的燃油表