【论文解读】一种基于时间卷积网络的知识驱动股票趋势预测方法
下面这篇文章的内容主要是来自论文《Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network》。这篇文章提出了一种基于知识驱动的时间卷积网络(TCN)的新颖股票趋势预测方法,其中,文中通过对金融财经新闻等非结构化数据进行嵌入处理,然后将嵌入结果以及价格等数据一同输入TCN用于股票趋势预测。实验验证了提出的模型具有较好的预测效果,并且具有更好的模型的可解释性。原论文在文末进行获取。
深度神经网络目前在股票趋势预测中已经取得了良好的理论和实际成果。但是,这些模型大多都具有两个共同的缺点,一是现有的方法对股票趋势的突变不够敏感,二是预测结果不具有可解释性。对此,这篇文章提出了一种知识驱动的时间卷积网络模型,Knowledge-Driven Temporal Convolutional Network (KDTCN) ,用于趋势预测并进行解释。首先,金融新闻等非结构化数据被用于构造知识图结构数据,并对其进行嵌入处理,以得到嵌入事件。然后,嵌入事件和价格数据被一同用于股票价格趋势的预测。
对于第一个问题,股票趋势的突变指的是股票价格在极短的时间内发生剧烈的变动,如下图的道琼斯工业指数在2016/6/23日上涨1.29%,然后6/24日暴跌3.39%。因此,面对这样的突变时,仅仅只通过股票价格数据是不充足的,并且股票价格的变动是随着事件或者新闻而发生的。
针对这个问题,一系列文章展现了对事件进行编码并结合深度学习技术进行特征学习以用于股票趋势预测的有效性,尽管新闻事件能帮助人们迅速捕捉到股市走势的突然变化,但新闻事件往往混乱而稀疏。所以,为了解决这个问题,这篇文章引入派生的知识来表示事件。即通过知识图(Knowledge graphs, KGs)的形式进行数据表示,通过这种方式获取的知识有两个主要优势:一是知识中丰富的语义信息有助于建立离散事件之间的关联,二是知识在知识图中具有结构化和易于参数化的特点。
对于第二个问题,即深度学习模型缺少可解释性的问题。即使深度学习预测模型成功地检测到股市的突变,也很难让不懂机器学习原理的人理解这些变化发生的原因。例如,在事件驱动的股票趋势预测中,人们可能会关注哪些事件对股票波动产生了较大的影响,以及这些事件是如何产生影响的。为了解决这一问题,这篇文章将可解释的知识编码到深度预测模型中,使得预测结果成为可解释的。
这篇文章也是首次将时间卷积网络模型用于股票趋势预测的文章。之所以通过事件驱动的时间卷积网络模型,是因为它在不同范围的任务和数据集上优于标准的RNNs以及LSTMs,同时显示出更长的有效时间。而从直觉上看,许多事件都是股票市场突变的原因,而事件和变化之间的相关分析提供了相应的解释。实验表明,KDTCN可以更快地对突变做出反应,并且在股票数据集上胜过对比方法,更进一步地,KDTCN便于解释预测结果,特别是在突然变化的情况下。
这部分将对提出的KDTCN模型各个部分进行介绍,从整体来看,模型主要包括了两个部分,即事件的嵌入以及时间卷积网络模型。模型的整体框架图如下所示:
事件的嵌入(Event Embedding)
事件嵌入的目标是学习事件元组的低维密集向量表示,我们首先从财经新闻中提取结构化事件元组
得到上面的事件元组之后,文章通过实体链接(Entity Linking)的方式来构造知识图的子图,由于事件元组中的主语s、谓词p和对象o在KG中可能并不总是具有链接。此外,单个事件元组中的信息可能是稀疏的,缺乏多样性。因此,文章中通过一种利用近邻信息的方式来丰富子图。为了实现上面提到的这种方式,文章制定了下面的规则:
在得到了知识图之后,文章采用了TransE的方法来对知识图进行嵌入处理,因为该方法能在一般情况下保持知识图中的结构信息,且具有很强的鲁棒性。进而,事件特征被参数化处理至不同通道,即
最后上面三者通过多信道链接以得到最后的事件嵌入,即表示为:
时间卷积网络模型(Temporal Convolutional Network)
这篇文章中用到的TCN是一种一维的全卷积网络(FCN)架构,其中的隐藏层神经元具有和输入层一样的神经元个数,为了实现后面每层具有相同的神经元个数,zero-padding被加入到每层网络中去。进而,这个网络的输出可以和输入具有相同的长度,具体如前面的TCN网络架构图所示。除此之外,TCN还用到了因果卷积,即t时刻的输出只与t时刻的元素和前一层更早的元素进行卷积,这样就不会引入未来数据。因此简而言之,TCN即是一维FCN+因果卷积。
除此之外,考虑到网络的深层结构以及长期依赖关系,常用于卷积结构中的技术像空洞卷积(dilated convolutions)和残差连接(residual connections)。其中,对于一个一维输入序列
进而,残差连接技术也被加入到网络当中,其中,作者定义了一系列的残差块,其中每个块包含了
其中,由于因果卷积只作用域两个时间戳,所以滤波器的权重可通过两个权重矩阵表示,即上式中的
最后,得到TCN的序列输出之后,由于这是一个二分类问题,所以一个判别式函数被引入以将预测结果进行输出,其中
这样,每个事件e对于预测值都会有一个贡献值,即下面的表示:
本文提出了一种新的知识驱动的时间卷积网络(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可获取原论文。
或者在:
https://www.researchgate.net/publication/331545500_Knowledge-Driven_Stock_Trend_Prediction_and_Explanation_via_Temporal_Convolutional_Network 下载
往期精彩回顾