字幕组双语原文:
英语原文:
翻译:雷锋字幕组(、、)
声明:本文假定读者具备lstm神经网络模型直觉和结构背后的初步基础知识。
1.深度学习在fts中的应用背景
2.值得关注的fts数据预处理实践
3.时间卷积网络结构
4.时间卷积网络在fts中的实例应用
基于tcn进行知识驱动下的股票走势预测与可解释性
1.背景
金融时间序列(fts)建模是一种具有悠久历史的实践,它最早在20世纪70年代初掀起了算法交易的革命。金融时间序列的分析分为两类:基本面分析和技术分析。这两种做法都受到了有效市场假说(emh)的质疑。自1970年emh首次发表以来备受争议,该假说假设股票价格最终是不可预测的。但这并没有限制试图通过使用线性、非线性和基于ml的模型来模拟fts的研究,我们在下文中会提到。
由于金融时间序列具有非稳定、非线性、高噪声的特点,传统的统计模型难以对其进行高精度的预测。因此,近年来越来越多地尝试将深度学习应用于股市预测,尽管远未达到完美的程度。下面会举出几个例子。
2013
lin 等。 提出了一种使用支持向量机建立两部分特征选择和预测模型的股票预测方法,证明了该方法具有比常规方法更好的泛化能力。
2014
wanjawa 等。 提出了一种人工神经网络,该网络使用具有误差反向传播的前馈多层感知器来预测股票价格。结果表明,该模型可以预测典型的股票市场。
2017
输入lstm-有关将lstm神经网络应用于时间序列数据的研究激增。
zhao 等。将时间加权函数添加到lstm神经网络,结果超过了其他模型。
2018
zhang 等。 后来结合了卷积神经网络(cnn)和递归神经网络(rnn)提出了一种新的体系结构,即广域神经网络(dwnn)。结果表明,与常规rnn模型相比,dwnn模型可以将预测的均方误差降低30%。
ha 等。cnn被用于开发定量股票选择策略,以确定股票趋势,然后使用lstm预测股票价格,以推广用于定量计时策略的混合神经网络模型,以增加利润。
jiang 等。 使用lstm神经网络和rnn构建模型,发现lstm可以更好地应用于库存预测。
2019
jin 等。 在模型分析中增加了投资者的情绪趋势,并引入经验模态分解(emd)与lstm相结合,以获得更准确的股票预测。基于注意力机制的lstm模型在语音和图像识别中很常见,但在金融领域却很少使用。
radford 等。 目前 流行的gpt-3的前身,gpt-2的目标是设计一个多任务学习器,它结合了预训练和监督式微调,以实现更灵活的传输形式。因此,它具有1542m参数,比其他比较模型大得多。
shumin 等。一种使用时间卷积网络( kdtcn)进行知识趋势预测和解释的知识驱动方法 。他们首先从财经新闻中提取结构化事件,然后利用知识图获得事件嵌入。然后,将事件嵌入和价格值结合在一起以预测库存趋势。实验表明,该方法可以(i)更快地应对突然的变化,并且可以胜过股票数据集上的最新方法。(这将是本文的重点。)
2020
jiayu等人和thomas等人提出了基于近期新闻序列的混合注意力网络来预测股票趋势。带有注意力机制的lstms由于其独特的存储单元结构,防止了长期依赖性,因此表现优于传统的lstms。
hongyan等人提出了一种探索性的架构,称为时空卷积注意力网络temporal convolutional attention-based network(tcan),它结合了时空卷积网络和注意力机制。tcan包括两个部分,一个是时间注意力temporal attention(ta),捕捉序列内部的相关特征,另一个是增强残差enhanced residual(er),提取浅层的重要信息并传输到深层。
上面的时间线只是为了让大家了解fts在深度学习中的历史背景,但并不是淡化序列模型学术界其他成员在类似时间段所贡献的重要工作。
不过,这里有一点值得一提。可能的情况是,fts预测领域的学术出版物往往具有误导性。由于大量使用模拟器,许多快车道预测论文往往夸大其性能以获得认可,并对其模型进行过度拟合。这些论文中宣称的许多业绩难以复制,因为它们未能针对所预测的特定财务交易系统的未来变化进行概括。
金融时间序列数据--尤其是股票价格,会随着季节性、噪声和自动修正而不断波动。传统的预测方法采用移动平均线和差分法来减少预测的噪声。然而,fts是传统的非稳态,并且表现出有用信号和噪声的重叠,这使得传统的去噪效果不佳。
小波分析在图像和信号处理等领域取得了显著的成就。由于其能够弥补傅里叶分析的不足,开始逐渐被引入经济和金融领域。小波变换在解决传统的时间序列分析问题上具有独特的优势,它可以从不同的时域和频域尺度对金融时间序列数据进行分解和重构。
小波变换实质上是利用多尺度特征对数据集进行去噪,有效地将有用信号从噪声中分离出来。在jiayu qiu, bin wang, changjun zhou的论文中,作者们利用coif3小波函数的三个分解层,通过其信噪比(snr)和均方根误差(rmse)来评价小波变换的效果。snr越高,rmse越小,小波变换的去噪效果越好。
在fts中,选择使用哪项数据作为验证集并不是一件小事。事实上,有无数种方法可以做到这一点,对于不同波动性的股票指数,必须仔细考虑。
固定点方法是最天真、最常用的方法。给定一定的拆分大小,数据的起点是训练集,终点是验证集。但是,这种方法选择起来特别生疏,尤其是对于亚马逊这样的高成长性股票。之所以会这样,是因为亚马逊的股价一开始的波动性很低,随着股票的增长,会出现越来越大的波动行为。
amzn年初到现在的价格(来源:谷歌财经)
因此,我们将在低波动率动态上训练一个模型,并期望它在预测中处理未见的高波动率动态。事实上,这对于这些类型的股票来说,确实是很困难的,而且是以性能损失为代价的。因此,如果我们只考虑这一点,我们的验证损失和业绩基准可能会产生误差。但是,对于像英特尔这样波动性比较恒定的股票(covid危机前),这种方法却是合理的。
滚动原点重新校准法比固定原点法的不稳定性稍小,因为它允许通过取各种不同分割数据的平均值来计算验证损失,以避免遇到高波动率时间段的不代表性问题。
最后,滚动窗口法通常是最有用的方法之一,因为它特别适用于长时间段运行的fts算法。事实上,这个模型输出的是多个滚动窗口数据的平均验证误差。这意味着我们得到的最终值更能代表近期的模型性能,因为我们较少受到远期性能强或差的偏见。
数据清洗技术可视化 (, 2018)
thomas hollis、antoine viscardi、seung eun yi所做的一项研究表明,滚动窗口(rw)和滚动原点重新校准(ror)所描述的性能都比简单的固定原点法略好(58%和60%)。这表明,对于亚马逊这样的波动性股票,使用这些数据清洗方法将是不可避免的。
性能比较
时序卷积网络,或者简称tcn, 是一种处理序列建模任务的卷积神经网络的变体, 它混合了rcnn与cnn架构. 对tcn的初步实验评估表明, 简单的卷积结构在不同任务和数据集上的性能优于标准递归网络(如lstms), 同时表现出更加长期的高效的记忆.
tcn的显著特点是:
架构中的卷积是因果关系,这意味着从未来到过去没有信息“泄漏”。
同rcnn一样, 这个架构可以获取任意长度的序列,并将它们映射为一个相同长度的序列. tcn采用非常深的网络(增强的残差网络)和扩张卷积的混合,来处理非常长且有效的历史规模(例如, 网络可以看到过去很远并且作出预测的能力)。
如上所述,tcn基于两个原则:一是网络产生的输出与输入长度相同,二是从将来到过去都不会泄漏的事实。为了实现第一点,tcn采用一维全卷积网络(fcn)架构,每个隐藏层的长度与输入层相同,并加入长度为零的填充(内核大小-1),以保持后续层与前几层的长度相同。为了实现第二点,tcn使用了因果卷积,即在时间t的输出只与时间t及之前层中的元素进行卷积。
简单来说。tcn = 1d fcn 因果卷积。
一个简单的因果卷积只能回顾一个大小与网络深度线性的历史。这使得在序列任务上应用上述的因果卷积具有挑战性,尤其是那些需要较长历史的任务。bai,kolter和koltun(2020)实现的亚博电竞网的解决方案,是采用膨胀卷积,以实现指数级大的接收场。更正式地说,对于一个一维序列输入x∈rⁿ和一个滤波器f:{0,...,k-1}→r,对该序列中元素s上的空洞卷积操作f被定义为:
其中d是膨胀系数,k是滤波器大小,s - d - i 表示过去的方向。因此,膨胀相当于在每两个相邻的滤波器抽头之间引入一个固定的步长。当d=1时,膨胀卷积减小为常规卷积。使用较大的膨胀使顶层的输出能够代表更大范围的输入,从而有效地扩大了convnet的接受场。
扩张因果卷积,扩张因数d = 1、2、4,滤波器大小k =3。接收场能够覆盖输入序列中的所有值。
3.1.3 残差连接
残差块有效地允许各层学习对恒等映射更改,而不是整个转换,这已被反复证明对非常深的网络有利。
由于tcn的接受场取决于网络深度n以及滤波器大小k和扩张因子d,因此稳定更深更大的tcn就变得非常重要。
使用tcns进行序列建模的几个优点。
并行性。在rnns中,后面的时间步的预测必须等待其前面的时间步完成,而tcns则不同,由于每层都使用了相同的滤波器,因此卷积可以并行完成。因此,在训练和评估中,一个长的输入序列可以在tcn中作为一个整体进行处理,而不是像rnn那样按顺序处理。
灵活的接受场大小。tcn可以通过多种方式改变其接受字段大小。例如,堆叠更多的扩张(因果)卷积层,使用更大的膨胀因子,或者增加滤波器的尺寸大小都是可行的选择。因此,tcns可以更好地控制模型的内存大小,并且容易适应不同的域。
稳定的梯度。与循环架构不同的是,tcn的反传播路径与序列的时间方向不同。因此,tcn避免了爆炸/消失梯度的问题,这是rnn的一个主要问题(这也导致了lstm和gru的发展)。
训练时对内存要求低。特别是在输入序列较长的情况下,lstms和gru很容易占用大量内存来存储其多单元门的部分结果。然而,在tcn中,滤波器是跨层共享的,反向传播路径只取决于网络深度。因此在实践中发现,门控rnns比tcns可能要多使用高达倍数的内存。
可变长度输入。就像rnns以递归的方式对可变长度的输入进行建模一样,tcns也可以通过滑动1维卷积核来接收任意长度的输入。这意味着,对于任意长度的顺序数据,可以采用tcns作为rnns的直接替代。
使用tcns有两个显著的缺点。
评估期间的数据存储。tcns需要接收原始序列,直至有效历史记录长度,因此在评估期间可能需要更多的内存。
域转移可能会改变隐藏参数。不同的域对模型预测所需的历史量可能有不同的要求。因此,当把一个模型从一个只需要很少内存的域(即小k和d)转移到一个需要更长内存的域(即大得多的k和d)时,tcn可能会因为没有足够大的接受场而表现不好。
在典型序列建模任务上一些tcn网络与一些循环架构的评估结果, 这些任务通常用来对rnn的变体进行基准测试(, 2020)
执行总结:
这些结果强烈的表明了极小调优的通用tcn架构在广泛的序列建模任务中优于规范的循环结构, 这些任务通常用于对递归体系结构本身的性能进行基准测试。
4. 通过tcn进行知识驱动的股票走势预测和解释。
股票趋势预测中的深度神经网络大多有两个共同的缺点。(i)目前的方法对股票趋势的突然变化不够敏感,(ii)预测结果对人类来说无法解释。针对这两个问题,deng等人2019年提出了一种新型的知识驱动时空卷积网络(knowledge-driven temporal convolutional network,kdtcn)用于股票趋势预测和解释,通过将背景知识、新闻事件和价格数据融入到深度预测模型中,解决股票趋势具有突变性的预测和解释问题。
针对突发性变化的预测问题,从财经新闻中提取事件,并将其结构化为事件元组,如 "英国退出欧盟 "表示为(英国,退出,欧盟 )。然后将事件元组中的实体和关系链接到kg,如freebase和wikidata。其次,将结构化的知识、文本新闻以及价格值分别进行矢量化,然后再将它们连在一起。最后,将这些嵌入物反馈到基于tcn的模型中。
实验表明,kdtcn可以(i)更快地对突然变化做出反应,并在股票数据集上优于最先进的方法,以及(ii)便于解释预测,特别是在突然变化的情况下。
此外,基于具有突然变化的预测结果,以解决做出解释的问题,通过使用知识图谱(kg)将事件的影响可视化,呈现事件之间的链接。通过这样做,我们可以做出以下解释:(i)知识驱动的事件如何在不同程度上影响股市波动;(ii)知识如何帮助将事件与股票趋势预测的突然变化相关联。
请注意,如果您需要进一步的技术细节,请参考本文,以下部分仅是对shumin等人论文的概述。
这里提到的基本tcn模型架构是从上面的第3节派生而来的-由因果卷积,残差连接和扩张卷积组成的通用tcn架构。
kdtcn架构的概况如下图所示。
原始模型的输入是价格x,新闻语料库n,以及知识图谱g,价格值经过归一化处理后,映射成价格向量,表示为:
其中,每个向量p t 代表股票交易日t的实时价格向量,t为时间跨度。
而对于新闻语料,将新闻片段表示为事件集ε;然后,构造事件元组e=(s,p,o),其中p为动作/谓语,s为参与者/主体,o为动作执行的对象;然后,将事件元组中的每个项目与kg联系起来,对应kg中的实体和关系;最后,通过训练事件元组和kg三元组获得事件嵌入v. shumin等人记录了此过程的更详细信息。
最后,将事件嵌入与价格向量相结合,输入基于tcn的模型。
数据集:
时间序列价格数据 x:djia指数每日价值记录的价格数据集。
文本新闻数据 n:由reddit世界新闻频道的历史新闻头条组成的新闻数据集(基于投票的前25个的帖子)。
结构化知识数据 g:由两个常用的研究用开放知识图谱--freebase和wikidata的结构化数据构建的子图谱。
基准方法:
不同输入的基线模型。在第一列中,前缀wb表示词嵌入,eb表示事件嵌入,pv表示价格向量,kd表示知识驱动。请注意,事件嵌入(a)和事件嵌入(b)分别表示无kg和有kg的事件嵌入。
kdtcn的性能在三个方面进行了基准测试:(i)基本tcn体系结构的评估,(ii)不同模型输入对tcn的影响,以及(iii)基于tcn的模型对于突然变化的输入数据的性能。
tcn基本架构:
用不同的基本预测模型对djia指数数据集的股票趋势预测结果。
需要注意的是,这部分报告的所有实验都只是输入了价格值。
tcn在股票趋势预测任务上的表现大大优于基线模型。tcn的性能比传统的ml模型(arima),或者深度神经网络(如lstm和cnn)都要好得多,说明tcn在序列建模和分类问题上有更明显的优势。
使用tcn的不同模型输入:
可以看出,wb-tcn和eb-tcn都比tcn获得了更好的性能,说明文本信息有助于提高预测能力。
kdtcn得到的准确率和f1得分都是最高的,这样的结果证明了模型输入与结构化知识、财经新闻和价格整合的有效性。
对于突然变化的数据输入的模型性能:
使用不同的模型输入,本地djia指数数据集的突然变化的股票趋势预测结果。
据观察,具有知识驱动的事件嵌入输入的模型(例如kdeb-tcn和kdtcn)可以大大胜过基于数字数据和基于文本数据的模型。这些比较结果表明,知识驱动的模型在迅速应对股市的突然变化方面具有优势。
下面补充说明如何量化股票波动程度。
首先,通过计算两个相邻股票交易日之间的股票波动程度d(fluctuation)的差来获得突变的时间间隔。
其中,x 在时间 t 表示股票交易日 t 的股票价格值,那么波动度的差值 c的定义为:
如果|ci|超过一定的阈值,则可以认为股价在第i天发生了突变。
为何在没有ml专业知识的情况下,知识驱动事件是导致人类突然变化的常见原因的解释是从两个方面完成的。(i)将知识驱动事件对预测结果的影响与突变可视化;(ii)通过将事件与外部kg联系起来,检索知识驱动事件的背景事实。
事件的效果可视化:
下图中的预测结果是djia指数的走势将下降。需要注意的是,相同颜色的柱状物具有相同的事件效果,柱状条的高度反映了效果的程度,事件人气从左到右依次递减。直观上看,人气较高的事件对股票走势预测的影响应该更大,变化突然,但并不总是如此。
事件影响对股票走势预测的例子
其他几乎所有具有负效应的事件都与这两个事件有关,例如,(英镑,下跌,近5%)和(北爱尔兰,要求对联合爱尔兰进行民调)。
虽然也有一些事件对预测股票走势上涨有正向作用,且人气较高,即(富裕,越来越,更加富裕),但总的作用是负向的。因此,股指波动的突变可以看成是事件效果和人气关注度的综合结果。
链接到kg的事件图元的可视化:
与事件相关联的kg三元组说明
首先,搜索股票走势中影响大或人气高的事件元组。然后,回溯到包含这些事件的新闻文本。最后,通过实体链接,检索与事件元组链接的相关kg三元组。在上图中,每个事件元组用蓝色标记,其中的实体链接到kg。
这些列举的事件元组,如(英国,退出,欧盟)、(英国,投票离开,欧盟)、(英镑,下跌,近5%)、(j.k.罗琳,主导了,苏格兰独立)、(北爱尔兰,呼吁对联合爱尔兰进行民意调查),从字面上看,并没有很强的相关性。但是,通过与kg的联系,它们可以建立起相互之间的关联,并与brexit和欧盟公投事件紧密相关。结合事件效应的解释,可以证明知识驱动的事件是突变发生的常见来源。
5.结论
循环神经网络在序列建模中享有的优势可能在很大程度上是历史发展遗留的问题。直到近期,在引入诸如扩张卷积和残余连接等架构元素之前,卷积架构确实比较薄弱。最近的学术研究表明,在这些元素的作用下,简单的卷积架构在不同的序列建模任务中比lstms等递归架构更有效。由于tcns的清晰度和简单性相当高,在bai,s.,kolter,j.和koltun,v.,2020中提出,卷积网络应该被视为序列建模的天然起点和强大工具。
此外,从上文tcns在股票趋势预测中的应用可以看出,通过结合新闻事件和知识图谱,tcns可以明显优于规范的rnns。
雷锋字幕组是一个由 ai 爱好者组成的翻译团队,汇聚五百多位志愿者的力量,分享最新的海外ai资讯,交流关于人工智能技术领域的行业变革与技术创新的见解。
团队成员有大数据专家、算法工程师、图像处理工程师、产品经理、产品运营、it咨询人、在校师生;志愿者们来自ibm、avl、adobe、阿里、百度等知名企业,北大、清华、港大、中科院、南卡罗莱纳大学、早稻田大学等海内外高校研究所。
如果,你也是位热爱分享的ai爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。
雷锋网雷锋网