解读:一种基于时间卷积网络的知识驱动股票趋势预测方法

写在前面

下面这篇文章的内容主要是来自论文《Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network》。这篇文章提出了一种基于知识驱动的时间卷积网络(TCN)的新颖股票趋势预测方法,其中,文中通过对金融财经新闻等非结构化数据进行嵌入处理,然后将嵌入结果以及价格等数据一同输入TCN用于股票趋势预测。实验验证了提出的模型具有较好的预测效果,并且具有更好的模型的可解释性。原论文在文末进行获取。

1

摘要

深度神经网络目前在股票趋势预测中已经取得了良好的理论和实际成果。但是,这些模型大多都具有两个共同的缺点,一是现有的方法对股票趋势的突变不够敏感,二是预测结果不具有可解释性。对此,这篇文章提出了一种知识驱动的时间卷积网络模型,Knowledge-Driven Temporal Convolutional Network (KDTCN) ,用于趋势预测并进行解释。首先,金融新闻等非结构化数据被用于构造知识图结构数据,并对其进行嵌入处理,以得到嵌入事件。然后,嵌入事件和价格数据被一同用于股票价格趋势的预测。

对于第一个问题,股票趋势的突变指的是股票价格在极短的时间内发生剧烈的变动,如下图的道琼斯工业指数在2016/6/23日上涨1.29%,然后6/24日暴跌3.39%。因此,面对这样的突变时,仅仅只通过股票价格数据是不充足的,并且股票价格的变动是随着事件或者新闻而发生的。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第1张图片

针对这个问题,一系列文章展现了对事件进行编码并结合深度学习技术进行特征学习以用于股票趋势预测的有效性,尽管新闻事件能帮助人们迅速捕捉到股市走势的突然变化,但新闻事件往往混乱而稀疏。所以,为了解决这个问题,这篇文章引入派生的知识来表示事件。即通过知识图(Knowledge graphs, KGs)的形式进行数据表示,通过这种方式获取的知识有两个主要优势:一是知识中丰富的语义信息有助于建立离散事件之间的关联,二是知识在知识图中具有结构化和易于参数化的特点。

对于第二个问题,即深度学习模型缺少可解释性的问题。即使深度学习预测模型成功地检测到股市的突变,也很难让不懂机器学习原理的人理解这些变化发生的原因。例如,在事件驱动的股票趋势预测中,人们可能会关注哪些事件对股票波动产生了较大的影响,以及这些事件是如何产生影响的。为了解决这一问题,这篇文章将可解释的知识编码到深度预测模型中,使得预测结果成为可解释的。

这篇文章也是首次将时间卷积网络模型用于股票趋势预测的文章。之所以通过事件驱动的时间卷积网络模型,是因为它在不同范围的任务和数据集上优于标准的RNNs以及LSTMs,同时显示出更长的有效时间。而从直觉上看,许多事件都是股票市场突变的原因,而事件和变化之间的相关分析提供了相应的解释。实验表明,KDTCN可以更快地对突变做出反应,并且在股票数据集上胜过对比方法,更进一步地,KDTCN便于解释预测结果,特别是在突然变化的情况下。

2

模型介绍

这部分将对提出的KDTCN模型各个部分进行介绍,从整体来看,模型主要包括了两个部分,即事件的嵌入以及时间卷积网络模型。模型的整体框架图如下所示:

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第2张图片

事件的嵌入(Event Embedding)

事件嵌入的目标是学习事件元组的低维密集向量表示,我们首先从财经新闻中提取结构化事件元组   ,其中,   表示行动者,   表示行动者的动作,   则表示动作执行到的目标。然后将得到的元组链接到知识图(KG)中。事件元组嵌入是通过对每个条目的KG嵌入和单词向量进行多通道连接来计算的。进一步地,文章中是通过开源库Open IE将非结构化的新闻文本转换为结构化的事件元组,过程是读取一个句子并使用关联短语和由关联短语关联的参数来提取事件元组。例如,“Britain exiting from the EU”这句话就被转换为了元组(s=Britain, p=exiting from, o=EU)。之后,在对得到的事件元组进行一些去重以去除冗余的信息。

得到上面的事件元组之后,文章通过实体链接(Entity Linking)的方式来构造知识图的子图,由于事件元组中的主语s、谓词p和对象o在KG中可能并不总是具有链接。此外,单个事件元组中的信息可能是稀疏的,缺乏多样性。因此,文章中通过一种利用近邻信息的方式来丰富子图。为了实现上面提到的这种方式,文章制定了下面的规则:

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第3张图片

在得到了知识图之后,文章采用了TransE的方法来对知识图进行嵌入处理,因为该方法能在一般情况下保持知识图中的结构信息,且具有很强的鲁棒性。进而,事件特征被参数化处理至不同通道,即   表示KG的链接通道,   表示KG的上下文通道,   表示词向量通道,如下所示:

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第4张图片

最后上面三者通过多信道链接以得到最后的事件嵌入,即表示为:

时间卷积网络模型(Temporal Convolutional Network)

这篇文章中用到的TCN是一种一维的全卷积网络(FCN)架构,其中的隐藏层神经元具有和输入层一样的神经元个数,为了实现后面每层具有相同的神经元个数,zero-padding被加入到每层网络中去。进而,这个网络的输出可以和输入具有相同的长度,具体如前面的TCN网络架构图所示。除此之外,TCN还用到了因果卷积,即t时刻的输出只与t时刻的元素和前一层更早的元素进行卷积,这样就不会引入未来数据。因此简而言之,TCN即是一维FCN+因果卷积。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第5张图片

除此之外,考虑到网络的深层结构以及长期依赖关系,常用于卷积结构中的技术像空洞卷积(dilated convolutions)和残差连接(residual connections)。其中,对于一个一维输入序列   和一个滤波器   来说,对序列中的   个元素的空洞卷积操作即是:

进而,残差连接技术也被加入到网络当中,其中,作者定义了一系列的残差块,其中每个块包含了   个卷积层,其中第   层和第   个块之间的激活值表示为   ,即:

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第6张图片

其中,由于因果卷积只作用域两个时间戳,所以滤波器的权重可通过两个权重矩阵表示,即上式中的   和   ,   和   分别表示残差块之间的权重矩阵和偏置项。

最后,得到TCN的序列输出之后,由于这是一个二分类问题,所以一个判别式函数被引入以将预测结果进行输出,其中   表示事件,   则是从训练数据中学习得到的参数。

3

实验验证

实验验证部分主要包括两个部分,一是模型的预测效果的评估,二是预测结果的解释。实验数据用到了道琼斯工业指数从2008/08/08到2016/01/01的日线数据,新闻文本数据用到了Reddit WorldNews Channel网站每个交易日前25的头条新闻。对比方法用到了下表中的方法,用于比较对于下一日涨跌的预测。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第7张图片

首先,是将TCN模型和一般的模型的预测准确性的比较,可以看出TCN模型相较于其他的回归模型以及LSTM要有更高的预测准确性。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第8张图片

进一步地,不同输入形式的TCN模型被用于进行比较,可以看到提出的KDTCN模型实现了最高的预测准确性。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第9张图片

除此之外,模型对于股价突变的应对能力也进行了比较。其中,为了衡量价格的剧烈变化程度,下面的指标被用来进行评估:

其中   表示t时刻的股价,C表示股价的变化程度,它的值越大说明越可能发生了价格的突变,当它的绝对值大于某个阈值的时候,就可以说明在这个时段发生了突变。从下图中可以看出,模型的预测效果和C之间的关系:

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第10张图片

其中,当C位于0.015到0.036这个区间中时,模型可以实现最高的准确率。因此,下表统计了当C处于这个区间时的预测准确性和F1 Score指标。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第11张图片

从上表中可以看到提出的模型对于突变的预测准确性具有最好的效果。下面,从直观的角度来对模型预测结果进行解释,解释主要从两个角度展开,即可视化知识驱动事件对突变预测结果的影响,和通过将知识驱动事件与知识图进行联系,即对应知识驱动事件的背景事实。

不同事件作用对股价的影响是通过下面的方法进行衡量的。首先,其中,股价趋势预测可以看作是一个二分类问题,为了让其表示地更简单些,可以表示为:

即每个事件e,和其对应的权重系数的加权求和的结果,y表示其分类的类别。之后,计算使得这个判别式取得最大值的类别作为输出的预测结果。

这样,每个事件e对于预测值都会有一个贡献值,即下面的表示:

下面则从一个例子,直观地可视化了这个结果。其中,相同颜色的柱状图具有相同的作用,柱状图的高低表示了作用的不同大小程度。下面的图中,则可以看出第一个事件对于预测的预测结果起到了最重要的作用。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第12张图片

下图展示了将事件元组链接到知识图的可视化的一个例子。图中解释了知识驱动事件如何作用于股票的波动,以及为什么知识驱动模型是有效的。此外,通过结合对事件效应的解释,文章证明了知识驱动的事件是突变的常见来源。

解读:一种基于时间卷积网络的知识驱动股票趋势预测方法_第13张图片

4

总结

本文提出了一种新的知识驱动的时间卷积网络(KDTCN)来解决股票趋势预测和突变解释的问题。文中,先从财经新闻中提取结构化事件元组,进而利用知识图将离散事件元组相互关联。通过对事件元组和知识图三元组的训练,我们可以得到知识事件的嵌入。在此基础上,再采用多通道连接的方法,将价格向量和事件嵌入作为预测模型的输入。利用TCN对股票走势进行预测,并基于知识对预测结果进行解释。在股票数据集上的实验表明,将结构化知识与TCN相结合,可以在预测股票突变趋势时大大优于深度模型,并可以对突变预测结果进行解释。除此之外,通过事件效应可视化和增强知识的事件元组可视化,解释了知识对股票突变趋势的影响。

在本文的研究基础上,作者还确定了几个本研究的潜在改进方向,主要包括不同事件对股票走势影响的一般性评价,对事件长期依赖性的研究,以及对预测结果解释的更具体的实验。在股票交易日,会有各种各样的事件影响股票的走势。我们将找出它们的不同影响,并根据影响对这些事件进行分类,例如,哪些类型的事件会在很大程度上影响股票走势。此外,事件的影响可能会随着时间的推移而改变,因此捕捉事件的动态影响也是很有价值的。此外,在本文中,作者只给出了一个案例的实验来解释知识如何帮助建立稀疏事件之间的关联。在未来,提出一些定量指标来评价其有效性的知识,并给出更具体的解释是值得进一步研究的。

参考文献:

Deng S ,  Zhang N ,  Zhang W , et al. Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network[C]// KGTA-WWW-19. 2019.

关注《人工智能量化实验室》公众号,后台发送042可获取原论文。

了解更多人工智能与
量化金融知识

<-请扫码关注

让我知道你在看

你可能感兴趣的:(大数据,算法,python,计算机视觉,机器学习)