前言
传统的股价预测的时许模型,对于收益率的假设往往不切实际,而最近兴起的机器学习模型,特别是深度学习模型对于股价的预测也存在着明显的问题:
为了解决以上问题,作者提出了一个新的框架:Relational Stock Ranking(RSR)。这个框架主要由两个创新:
RELATIONAL STOCK RANKING(RSR)
RSR总共包含三层,分别是基于序列数据应用序列神经网络模型的Sequential Embedding Layer, 基于关系型数据应用图神经网络的Relational Embedding Layer, 和最终给出收益预测结果的Prediction Layer。如下图所示:
Sequential Embedding Layer
股票过去的价格变动对于未来的变化有明显的影响,所以整个框架的第一层采用序列模型去捕获股价序列间的依赖信息。RNN在最近的文献中,都有出色的表现。所以作者选用的RNN最为第一层的模型。更具体的,作者采用了LSTM,因为它能保留序列的长期记忆。并以LSTM的模型结果作为下一层的输入。(LSTM的输入为股价的历史序列X_t)
Relational Embedding Layer
这一层主要考虑股票之间的关系型数据,作者在模型中加入了两类关系型数据:
行业属性:两个公司是否属于同一个行业或板块,如果属于同一行业,那么两个公司之间的基本业务应该类似,股价的表现也应该有相似的趋势,如图2a中,MSFT和GOOGL的股价。
供应链关系:如果两家公司属于供应链的上下游,即一家公司是另一家的客户(或供应商),那么他们之间的股价的变动应该有传导效应。如图2b中,Apple的供应商LENS在AAPL发布iphone8之后,股价开始上涨。
为了使RSR能够加入这些关系型的数据,作者采用了Temporal Graph Convolution(TGC)算法,将关系型的图谱数据与第一层的输出进行结合,作为第三层的输入。关于TGC,下一节会详细介绍。
Prediction Layer
最终将第二层的输入用于股票收益率的预测,这里的损失函数定义为:
其中 分别是股票的预测收益率和实际收益率。这个损失函数中,第一项为了是预测的收益误差越小越好理解。第二项,为了股票间的相对顺序与真实情况比,误差越小越好。
Temporal Graph Convolution
给定N个股票的序列特征(sequential embeddings) 和多维度的二元关系 ,TGC的主要任务是基于二元关系,重新学习N个股票的序列特征。传统的图神经网络没有考虑关系的动态变化,对于所有时间中,每个点(Vertex)的影响性都用固定的方式计算,比如如下考虑关系重要性作为权重的特征计算:
其中, 为股票 ,使用网络关系,整合其他与之相关的股票,而重新生成的特征, 为A关系张量中与股票i有关系的股票的数量, 为股票 与股票 的关系,函数 用于度量关系的强弱。可以看到,这里的函数 是固定不变的,并没有考虑不同时间的序列特征,作者做了如下改进,将t时刻的股票的序列特征也考虑在关系强度函数 中:
此时,关系强弱函数g的定义就关系到了TGC的具体表现,作者给出了显性模型和隐性模型两种定义:
显性,其中 为激活函数, 为参数。也就是说,关系的强弱,取决于第一项,两个股票当前时间的相似性,和第二项两者关系的重要。这两项的乘积决定了关系强弱。因为这两项都能清楚的解释,所以称为显性模型。
隐性,如果把序列特征及关系都放到激活函数内部,则称为隐性模型。
实证
作者选取了NASDAQ和NYSE从2013年1月2日至2017年12月8日的数据,经过以下条件的过滤:
分别在NASDAQ选取了1026只股票,在NYSE选取了1737只股票,获取了日度价格数据。并把测试时间分为了3个不同的阶段,如下表所示:
除了价格数据,还有股票的关系数据,包括行业属性数据及关系数据(总计42中关系),覆盖度如下:
关系型数据,主要分为,如图4表示:
回测设定
在2017/01/03至2017/12/08的测试区间,回测的设定如下:
用于对比的其他模型
衡量模型效果的指标有:
最关心的问题
1、将股票的价格预测问题变成一个收益预测的任务,效果怎么样?相比当下热门的算法,RSR有没有优势?
2、股票间的关系数据能否提高神经网络模型的效果?文中提出的TGC与卷积图神经网络算法GCN相比有效性怎么样?
表6的测试中,关系型数据仅仅使用了行业属性数据:
如表7所示,在考虑Wiki关系型数据后,RSR_E和RSR_I在两个市场的IRR都是最高的。下表展示了,Wiki关系型数据中最重要的5个关系,其中P1056_P1056表示两个公司是否生产同一种产品,这个关系是最重要的,也是公司的产业链关系,可以用产业图谱表示。
总结
资源
作者在github上开源了论文的代码,心急的小伙伴尽快尝鲜:
https://github.com/fulifeng/Temporal_Relational_Stock_Ranking
量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业20W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有