APP下载

指数趋势预测的BP-LSTM模型

2020-01-10孙存浩邹雨轩

关键词:时序梯度神经元

孙存浩,胡 兵, 邹雨轩

(四川大学数学学院,成都 610064)

1 引 言

随着计算机计算能力的提升,机器学习及神经网络在越来越多领域得到应用.

神经网络主要包含BP(back propagation)神经网络,卷积神经网络(convolutional neural networks, CNN)和循环神经网络(recurrent neural network, RNN)等.其中,BP神经网络已被应用于搜索引擎、推荐系统优化等方面,CNN被应用于图像识别与目标检测,而RNN在处理自然语言数据等时序信息时也有良好的表现.

近年来,神经网络在金融领域的运用逐渐增加.越来越多的研究者开始使用神经网络进行金融数据处理与预测.谭朵朵[1]使用BP神经网络进行了指数期权定价,说明BP神经网络相比传统BS(black-scholes)公式有更好的适用性,但是没有考虑期权价格数据的时序性.陈佳等[2-4]针对标的价格的时序特征使用LSTM模型进行了价格预测,说明LSTM模型在进行金融时序预测时相比于传统方法具有更高的预测精确度,但其仅使用历史价格作为主要输入特征,特征维度单一,不能全面地反映市场状态.文宇[5]提出了CNN-LSTM模型,对金融二级市场数据进行分析,根据标的的历史价格和成交量信息扩展了更多维度的特征,并用CNN模型进行了空间上的特征提取,但是CNN模型在处理全局性的特征时具有一定的局限性.

考虑到股指数据高时序依赖、多组合特征的特点,本文针对股指数据的时序特征提出了一种基于BP神经网络与长短期记忆(long short-term memory, LSTM)神经网络的BP-LSTM模型.其中,BP神经网络主要负责对日内全局特征进行特征提取与特征组合,将输入数据自适应地组合成特征传入LSTM神经网络;LSTM神经网络提取特征中的时序特征,在处理具有强时序趋势的数据方面有显著的效果;该模型最后通过一层带有sigmoid激活函数的BP神经网络将输出结果非线性地映射到(0,1)区间内,由此对次日股票指数涨跌情况进行预测.实证分析的结果表明,BP-LSTM模型比逻辑回归、梯度提升树[6]等传统预测方法及LSTM模型等神经网络方法具有更高预测准确率.

2.1 人工神经元与BP神经网络

下图是一个从生物神经元中得到启发被设计出的M-P神经元[7]的示意图.

图1 M-P神经元Fig.1 M-P neural cell

神经元正向传播的过程为

(1)

神经元接收n个输入信号(这些输入信号带有一定的权重进行传递),并将接收加权后的总输入与该神经元的阈值进行对比,通过激活函数处理产生输出,把多个这样的神经元按照一定的层次结构连接起来就形成了神经网络.神经网络理论上可以以任意精度自适应非线性逼近连续函数.1989年,Hecht-Nielsen[8]证明了单隐藏层的BP神经网络可以逼近闭区间内的任意连续函数,即万能逼近定理.

严格意义下的激活函数f应为单位阶跃函数,它将我们的输入映为“0”或“1”.然而,由于阶跃函数非连续,我们常用Sigmoid函数作为激活函数,它将实数域内的输入映射到(0,1)区间内.

在训练时,神经网络先输入数据进行正向预测,再结合预测结果与实际结果求误差并进行逆传递,通过不断地以梯度下降的方式调节神经元中的权重与阈值,来提高预测的准确率.

常见的BP神经网络是形如图2所示的层级结构,每层神经元都与下一层的神经元完全互连,神经元之间不存在同层、跨层连接的情况.在图2中,输入层第i个神经元与隐层第h个神经元间的权重与隐层第h个神经元的阈值分别用vih与γh表示,隐层第h个神经元与输出层第j个神经元间的权重与输出层第j个神经元的阈值分别用ωhj与θj表示,神经网络的“学习”过程就是根据输入的训练数据调整神经元之间的权重以及阈值.

图2 单隐层BP神经网络

Fig.2 Back propagation neural network with one hidden layer

2.2 RNN与LSTM神经网络

RNN[9-10]是一种特殊的神经网络,它的算法考虑了数据中存在的时序信息,具有时间维度,因而常于用被对具有时序规律的数据进行建模.一个常见的RNN结构如图3所示:每个RNN cell会做定向循环把某些信息传到下一个时间的隐藏层中,从而保留数据之间的时序关系,有效处理时序数据.

然而,RNN在进行循环的过程中,随着循环次数的增大,反向传播时往往会出现梯度极大(梯度爆炸)或者梯度极小(梯度消失)的情况,因而无法处理过长的时序信息,否则会忘记较长期的信息.

图3 RNN网络结构和展开结构Fig.3 RNN network structure and expansion

在这种情况下,人们基于RNN的设计提出了LSTM神经网络.相比于传统的RNN,LSTN能够处理更长的信息序列.

LSTM神经网络是RNN的一种变体,最早由Hochreiter与Schmidhuber在1997年提出[11],设计初衷是解决神经网络中的长期依赖问题.LSTM神经网络针对很多时序中间隔和延迟较长的问题(例如语音识别、智能问答、机器翻译、视频分类及情感分析等)都有较好的表现,此外它还可用于服务器响应时间预测[12].LSTM神经网络的基本结构与RNN的结构类似,如图4所示.

图4 LSTM网络结构Fig.4 Structure of LSTM network

3 BP-LSTM模型

我们将数据与特征传入一个BP神经网络,通过神经网络进行特征重组合,然后将重组后的特征输出到LSTM网络中来提取数据在时间序列上的特征,最终通过有一个带Sigmoid激活函数的神经元进行分类结果输出.这就是BP-LSTM模型,见图5.

3.1 模型构建

3.1.1 数据收集与特征选择 数据的收集与特征的选择对一个模型的表现至关重要.合适的特征处理不仅可以提高模型的准确率,还可以加快收敛速度.根据金融相关知识,我们将数据特征分为两类:(i)上证指数的交易数据,主要是指数的开、高、低、收与交易量等指标;(ii)相关的技术指标,基于统计学的研究,以数据来论证股票的趋向、买点卖点,较好地量化市场状态.我们所用的指标主要是基于历史数据走势计算出的KDJ、MACD、BIAS、AMA、MOM以及部分根据个人经验设计的指标,共25维,按照时间顺序有序传入模型进行预测.

图5 BP-LSTM模型结构示意图

对收集的数据及数值特征还进行了如下的归一化处理.考虑到部分特征非负的特点,利用特征数据的最大值与最小值,将特征的值缩放到[0,1]区间:

(2)

需要注意的是,此处归一化使用的最大值与最小值均为训练集中数据.在测试集上进行测试时,也根据训练集数据进行归一化,有效防止数据泄露问题(即在当前时间可以获得未来的数据).此类归一化作用不仅可以增强模型在小方差数据集上的稳定性,还可以维持稀疏特征中为0的样本.实验结果也显示带有预先数据归一化的模型预测表现较不带预先归一化的模型更好.

3.1.2 构建用于特征处理的全连接神经网络 全连接神经网络可以全局接收传入模型的n维的数据与特征,通过单层含有m个神经元的全连接神经网络作用输出m维数据,以此来进行特征提取与特征降维(当m

3.1.3 构建处理时序数据的长短期记忆网络 长短期记忆网络将全连接神经网络的输出按日期顺序传入长短期记忆网络中进行训练,有效处理时间序列问题与循环神经网络不同,长短期记忆网络可以学习更长的时间序列数据.我们分别对7天、15天的历史数据集进行了建模预测,证明更长的数据周期对长短期记忆网络模型的预测准确度有较明显的提升.我们主要使用的是带64个cell的长短期记忆网络模型,即经过神经网络处理会输出64维的输出特征.

3.1.4 构建用于数据输出的神经元 数据输出由单个神经元负责.它接收长短期记忆网络输出的64维特征.将其与自带权重及阈值进行线性组合,通过Sigmoid激活函数将结果映射到(0,1)区间内即为对下一日上证指数涨跌的预测结果.

3.2 模型训练与预测

本次实验所用数据为1991年3月4日至2018年12月27日上证指数价量数据(数据来源:Tushare).其中,前80%交易日的数据作为训练集与验证集,后20%交易日的数据作为测试集,以保证测试数据在天级别的连续性.经统计,训练集与测试集中正、反例分布均匀,没有数据倾斜情况.我们选用的Adam优化器[14]比传统的基于梯度下降的SGD优化器具有更快的收敛速度,并且可以根据数据分布自适应调整学习率.模型选用的损失函数为:

(3)

为防止过拟合问题,除了在长短期记忆网络的输出层加入Dropout层[15]之外,我们还在训练过程中加入了Early Stopping[16]处理,使模型仅保留在验证集上最佳表现的参数.

3.3 模型分析与评估

图6为BP-LSTM网络的模型架构.

在特征工程环节我们选取25个维度的技术指标反映市场状态,并用有25个隐藏层的BP神经网络对特征进行自适应组合,然后将原始输入特征进行组合后传入LSTM神经网络进行时序信息学习.LSTM神经网络作为RNN的变体对时序问题同样有好的学习能力,且多个门的设计有效解决了梯度消失与梯度爆炸的问题,对学习长时间序列数据有更好的作用.最后,我们通过单个含有Sigmoid激活函数的神经元对数据进行非线性输出.BP-LSTM模型的训练同样通过反向传播完成,模型中的每个参数都可以通过反向传播计算梯度进行更新.为了防止训练停止在局部最小值点,我们使用Adam优化器代替SGD.这也是一个效果很好的优化算法.

图6 BP-LSTM模型架构图

模型评估使用的指标是预测的准确率与F1值,计算方式如表1所示.

表1 评估指标

其中TP、TN、FP和FN可以通过图7的混淆矩阵得到.

图7 混淆矩阵Fig.7 Confusion matrix

3.4 数值实验

实验主要分为三类,分别为:在相同的数据集上构建传统的逻辑回归模型和梯度决策树模型,普通LSTM模型及带有初始数据归一化(表中以processing标示)的BP-LSTM模型.各模型预测准确率与F1值如表2所示.

表2 不同模型的预测结果

对比各项指标,基于较长期数据的BP-LSTM模型在上证指数趋势预测方面具有更高的准确率.实验表明BP-LSTM模型是一种比较有效的方法.

4 总 结

本文提出了基于BP神经网络与LSTM神经网络的BP-LSTM模型,模型相比于传统的机器学习模型及普通的LSTM神经网络具有更高的预测准确率.当然,鉴于本文所使用的数据及特征全部基于上证指数历史价量数据,缺乏更多维度的特征(如市场情绪、宏观决策等),在后续研究中我们还可以收集互联网上股民留言数据,使用LSTM网络进行市场情绪分析,然后加入本文的特征数据集中,以得到准确率更高的结果.

猜你喜欢

时序梯度神经元
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
磁共振梯度伪影及常见故障排除探讨
基于应变梯度的微尺度金属塑性行为研究
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
你不能把整个春天都搬到冬天来
AI讲座:神经网络的空间对应
一个具梯度项的p-Laplace 方程弱解的存在性
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯