Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于图神经网络、图谱型数据的收益预测模型(附代码)

基于图神经网络、图谱型数据的收益预测模型(附代码)

作者头像
量化投资与机器学习微信公众号
发布于 2021-07-29 04:05:40
发布于 2021-07-29 04:05:40
3.3K0
举报

前言

传统的股价预测的时许模型,对于收益率的假设往往不切实际,而最近兴起的机器学习模型,特别是深度学习模型对于股价的预测也存在着明显的问题:

  • 大多数文献中,都直接预测股价或者是收益率,并没有考虑股票之间的排序。
  • 每只股票的序列单独输入模型中,并不能考虑股票或公司间多维度的信息:比如供应关系和产业关系。

为了解决以上问题,作者提出了一个新的框架:Relational Stock Ranking(RSR)。这个框架主要由两个创新:

  • 损失函数新增了关系股票收益排序的惩罚项,使模型能够顾及股票收益间的排序(Rank)。
  • 结合了时间图神经网络,使模型能够结合股票间的关系型数据,如行业属性、上下游、股权信息等。

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)的影响性都用固定的方式计算,比如如下考虑关系重要性作为权重的特征计算:

\overline{\mathrm{e}_{\mathrm{i}}}^{\mathrm{t}}=\sum_{\left\{j \mid \operatorname{sum}\left(\mathrm{a}_{\mathrm{ji}}\right)>0\right\}} \frac{g\left(\mathrm{a}_{\mathrm{ji}}\right)}{d_{j}} \mathrm{e}_{\mathrm{j}}^{\mathrm{t}}

其中, 为股票 ,使用网络关系,整合其他与之相关的股票,而重新生成的特征, 为A关系张量中与股票i有关系的股票的数量, 为股票 与股票 的关系,函数 用于度量关系的强弱。可以看到,这里的函数 是固定不变的,并没有考虑不同时间的序列特征,作者做了如下改进,将t时刻的股票的序列特征也考虑在关系强度函数 中:

\overline{\mathrm{e}_{\mathrm{i}}^{\mathrm{t}}}=\sum_{\left\{j \mid \operatorname{sum}\left(\mathrm{a}_{\mathrm{j} \mathrm{i}}\right)>0\right\}} \frac{g\left(\mathrm{a}_{\mathrm{ji}}, \mathrm{e}_{\mathrm{i}}^{\mathrm{t}}, \mathrm{e}_{\mathrm{j}}^{\mathrm{t}}\right)}{d_{j}} \mathrm{e}_{\mathrm{j}}^{\mathrm{t}}

此时,关系强弱函数g的定义就关系到了TGC的具体表现,作者给出了显性模型和隐性模型两种定义:

显性,其中 为激活函数, 为参数。也就是说,关系的强弱,取决于第一项,两个股票当前时间的相似性,和第二项两者关系的重要。这两项的乘积决定了关系强弱。因为这两项都能清楚的解释,所以称为显性模型。

g\left(\mathbf{a}_{\mathbf{j i}}, \mathbf{e}_{\mathbf{i}}^{\mathbf{t}}, \mathbf{e}_{\mathbf{j}}^{\mathbf{t}}\right)=\underbrace{\mathbf{e}_{\mathbf{i}}^{\mathbf{t}^{T}} \mathbf{e}_{\mathbf{j}}^{\mathbf{t}}}_{\text {similarity }} \times \underbrace{\phi\left(\mathbf{w}^{T} \mathbf{a}_{\mathrm{ji}}+b\right)}_{\text {relation importance }}

隐性,如果把序列特征及关系都放到激活函数内部,则称为隐性模型。

g\left(\mathbf{a}_{\mathbf{j i}}, \mathbf{e}_{\mathbf{i}}^{\mathbf{t}}, \mathbf{e}_{\mathbf{j}}^{\mathbf{t}}\right)=\phi\left(\mathbf{w}^{T}\left[\mathbf{e}_{\mathbf{i}}^{\mathbf{t}^{T}}, \mathbf{e}_{\mathbf{j}}^{\mathbf{t}^{T}}, \mathbf{a}_{\mathrm{ji}}^{T}\right]^{T}+b\right)

实证

作者选取了NASDAQ和NYSE从2013年1月2日至2017年12月8日的数据,经过以下条件的过滤:

  • 在此区间,98%的时间正常交易
  • 股价从未低于5美元

分别在NASDAQ选取了1026只股票,在NYSE选取了1737只股票,获取了日度价格数据。并把测试时间分为了3个不同的阶段,如下表所示:

除了价格数据,还有股票的关系数据,包括行业属性数据及关系数据(总计42中关系),覆盖度如下:

关系型数据,主要分为,如图4表示:

  • 一阶关系:两者直接相关
  • 二阶关系:两者分别和第三者相关

回测设定

在2017/01/03至2017/12/08的测试区间,回测的设定如下:

  • 买入预测收益最高的股票,日度换仓,收盘买卖
  • 每次固定50,000美元的持仓规模
  • 交易成本为0,假设全部成交

用于对比的其他模型

  • SFM:首先将历史价格数据进行离散傅里叶变换,再输入到LSTM模型中进行预测。参考Liheng 2017;
  • LSTM:基于历史收盘价及5、10、20和30均线的LSTM模型;
  • RANK_LSTM:RSR中去除Relational Embedding Layer后的模型;
  • Graph-base Ranking(GBR):RANK_LSTM的损失函数增加图惩罚项;
  • GCN:RSR的第二层采用GCN;
  • RSR_E:RSR中的关系强弱函数g,用显性模型;
  • RSR_I:RSR中的关系强弱函数g,用隐性模型。

衡量模型效果的指标有:

  • Mean Square Error (MSE),越小越好;
  • Mean Reciprocal Rank(MRR):是一个国际上通用的对搜索算法进行评价的机制,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。总之,越大越好。
  • the cumulative investment return ratio (IRR):越大越好。

最关心的问题

1、将股票的价格预测问题变成一个收益预测的任务,效果怎么样?相比当下热门的算法,RSR有没有优势?

  • 以IRR指标衡量,Rank_LSTM的效果比SFM和LSTM好很多,说明基于股票排序的学习比直接预测收益率,效果更优。这对我们研究更先进的排序学习算法(Learning-to-rank)有了信心。
  • 但在MRR指标上,在NYSE市场,Rank_LSTM的表现差于SFM,可能是因为损失函数及考虑了绝对预测的准确性,又考虑了相对排序的准确性,从而降低了模型的稳定性。
  • 图5给出了三个模型的累计收益曲线,可以看出仅仅买入一只股票的收益波动还是很大的,模型的表现不够稳定。

2、股票间的关系数据能否提高神经网络模型的效果?文中提出的TGC与卷积图神经网络算法GCN相比有效性怎么样?

表6的测试中,关系型数据仅仅使用了行业属性数据:

  • 加入行业属性的数据后,在NYSE的表现比NASDAQ的表现更好,可能是因为NASDAQ的股票波动更大,更受短期因素的影响;
  • 在NYSE,所有加入图关系数据的模型的IRR都比Rank_LSTM来的好,说明关系型数据能增强模型的表现;
  • RSR_E,RSR_I的表现优于GCN和GBR。说明,TGC相比GCN的效果更佳。

如表7所示,在考虑Wiki关系型数据后,RSR_E和RSR_I在两个市场的IRR都是最高的。下表展示了,Wiki关系型数据中最重要的5个关系,其中P1056_P1056表示两个公司是否生产同一种产品,这个关系是最重要的,也是公司的产业链关系,可以用产业图谱表示。

总结

  • 前段时间,JPM有很多文章介绍Learning-to-rank的算法,本篇文章虽然没有之间采用Learning-to-rank的算法,但在损失函数设计中巧妙的考虑了股票间的排序。
  • 产业链、供应链等图谱型数据,日益成为大家关注的数据类型,但很多机构并没有想好怎么用这类数据?传统基于量价的深度学习模型,结合基于图谱类数据的图神经网络,给这类数据的应用指明了一条可探索的道路。

资源

作者在github上开源了论文的代码,心急的小伙伴尽快尝鲜:

https://github.com/fulifeng/Temporal_Relational_Stock_Ranking

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业20W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【视频讲解】LSTM神经网络模型在微博中文文本评论情感分析和股市预测应用附代码数据
本文将通过视频讲解,展示如何用python的LSTM模型对中文文本评论情感分析,并结合一个TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化实例的代码数据,为读者提供一套完整的LSTM模型分类预测的实践数据分析流程(点击文末“阅读原文”获取完整代码数据)。
拓端
2025/04/26
1160
【视频讲解】LSTM神经网络模型在微博中文文本评论情感分析和股市预测应用附代码数据
开发 | AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
LSTM Networks(长短期记忆神经网络)简介 LSTM Networks 是递归神经网络(RNNs)的一种,该算法由 Sepp Hochreiter 和 Jurgen Schmidhuber 在 Neural Computation 上首次公布。后经过人们的不断改进,LSTM 的内部结构逐渐变得完善起来(图 1)。在处理和预测时间序列相关的数据时会比一般的 RNNs 表现的更好。目前,LSTM Networks 已经被广泛应用在机器人控制、文本识别及预测、语音识别、蛋白质同源检测等领域。基
AI科技评论
2018/03/13
1.3K0
开发 | AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
摘要:BigQuant平台上的 StockRanker 算法在选股方面有不俗的表现,模型在 15、16 年的回测收益率也很高 (使用默认因子收益率就达到 170% 左右)。然而,StockRanker 在股灾时期回撤很大 (使用默认因子回撤 55%),因此需要择时模型,控制 StockRanker 在大盘走势不好时的仓位。 LSTM(长短期记忆神经网络) 是一种善于处理和预测时间序列相关数据的 RNN。本文初步探究了 LSTM 在股票市场的应用,进而将 LSTM 对沪深 300 未来五日收益率的预测
AI研习社
2018/03/19
3.5K0
AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
R语言气象模型集成预报:神经网络、回归、svm、决策树用环流因子预测降雨降水数据|附代码数据
我们被客户要求撰写关于气象集成预报技术的研究报告,包括一些图形和统计输出。 随着天气预报技术的发展,数值预报产品日益丰富,预报方法多种多样 ( 点击文末“阅读原文”获取完整代码数据******** )。
拓端
2023/07/24
4150
神经网络在算法交易上的应用系列——时序预测+回测
本期翻译:LIN | 公众号翻译部 这是公众号关于神经网络在金融领域特别是算法交易上的一个连载系列:
量化投资与机器学习微信公众号
2019/02/26
1.8K0
图神经网络从入门到入门
近年来,深度学习领域关于图神经网络(Graph Neural Networks,GNN)的研究热情日益高涨,图神经网络已经成为各大深度学习顶会的研究热点。GNN处理非结构化数据时的出色能力使其在网络数据分析、推荐系统、物理建模、自然语言处理和图上的组合优化问题方面都取得了新的突破。
张小磊
2021/09/02
1.1K0
图神经网络从入门到入门
R语言分位数回归预测筛选有上升潜力的股票|附代码数据
现在,分位数回归已被确立为重要的计量经济学工具。与均值回归(OLS)不同,目标不是给定x的均值,而是给定x的一些分位数 ( 点击文末“阅读原文”获取完整代码数据******** )。
拓端
2023/07/28
3550
matlab预测ARMA-GARCH 条件均值和方差模型|附代码数据
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
拓端
2022/10/24
5720
用神经网络预测股票市场
机器学习和深度学习已经成为定量对冲基金常用的新的有效策略,以最大化其利润。作为一名人工智能和金融爱好者,这是令人激动的消息,因为它结合了我自己感兴趣的两个领域。本文将介绍如何使用神经网络预测股票市场,特别是股票的价格。这篇文章的源码在我的GitHub中的python项目,如下:
Python数据科学
2018/12/17
4.7K0
用神经网络预测股票市场
深度学习在股市的应用概述
股票市场预测由于其非线性、高度波动性和复杂性,一直是个复杂的问题。近年来,深度学习在许多领域占据了主导地位,在股市预测方面取得了巨大的成功和普及。本文以深度学习技术为重点,对其应用于股市预测研究进行结构化和全面的概述,介绍了股市预测的四个子任务及股市预测主流模型,并分享了一些关于股市预测的新观点及未来的几个方向。
算法进阶
2023/09/15
1.1K0
深度学习在股市的应用概述
因子挖掘:基于图神经网络与公司主营(附代码)
量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业20W+关注者,连续2年被腾讯云+社区评选为“年度最佳作者”。
量化投资与机器学习微信公众号
2021/11/23
1.6K0
性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络
用户-商品交互的时间顺序可以揭示出推荐系统中用户行为随时间演进的序列性特征。用户与之交互的商品可能受到用户曾经接触的商品的影响。但是,用户和商品数量的大量增加,使得序列推荐系统仍然面临很多重要问题:(1)对短时用户兴趣建模的困难;(2)捕捉用户长期兴趣的困难;(3)对商品共现模式的建模效率较低。为了应对这些挑战,本文提出了一个记忆增强的图神经网络(memory augmented graph neural network, MA-GNN),以捕捉用户的长期和短期兴趣。
AI科技大本营
2020/06/16
7540
性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络
【Matlab量化投资】基于神经网络的利率债16国开10收益率预测模型
以往大家接触的量化投资与机器学习在股票和期货上运用的较多,然而大家却忽略了一个重要的金融市场,那就是债券市场。今天小编就告诉大家机器学习在债券市场上的运用。在机器学习中有一个非常重要的模型—神经网络模型。 by编辑部:李齐 一、利用BP网络模型仿真成本分析的原理 建立如图所示为一个三层神经网络结构。它具有:(1)输入层。用来输入资源动因数据、或作业中心成本。(2)中间层。也称为处理层或隐层,处理输入层的数据并为输出层传递信息。(3)输出层。它以中间层的输出作为输入,再经处理给出网络的最终输出。若共有m个输
量化投资与机器学习微信公众号
2018/01/29
1.7K0
【Matlab量化投资】基于神经网络的利率债16国开10收益率预测模型
【独家前沿策略】机器学习应用投资组合系列(代码+论文)
南洋理工大学计算机系和米兰理工数据挖掘研究组的科学家发现,虽然公众情绪已经被认为是股市预测的关键因素,但近十年来在利用公共情绪来解决资产配置问题的理论方面,学术界几乎没有什么进展。他们在论文中提出了一种可信赖和可解释的学习架构来生成市场观点,并且和其他的基线资产配置策略进行了比较。回测结果表明模拟盘在特定风险水平下的盈利能力提高了5%-10%。
量化投资与机器学习微信公众号
2018/08/02
1.1K0
【独家前沿策略】机器学习应用投资组合系列(代码+论文)
【视频】CNN(卷积神经网络)模型以及R语言实现回归数据分析|附代码数据
无人驾驶汽车最早可以追溯到1989年。神经网络已经存在很长时间了,那么近年来引发人工智能和深度学习热潮的原因是什么呢?(点击文末“阅读原文”获取完整代码数据)
拓端
2022/11/02
1.4K0
[量化投资]万字综述,94篇论文分析股市预测的深度学习技术
论文 | Stock Market Prediction via Deep Learning Techniques: A Survey
核桃量化
2023/01/31
3.8K0
[量化投资]万字综述,94篇论文分析股市预测的深度学习技术
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
分类问题属于机器学习问题的类别,其中给定一组特征,任务是预测离散值。分类问题的一些常见示例是,预测肿瘤是否为癌症,或者学生是否可能通过考试
拓端
2023/02/23
1.5K0
QuantML | 使用财务情绪与量价数据预测稳健的投资组合(附代码)
投资组合管理是最大化投资组合回报的过程。投资组合经理根据他们对风险的偏好,代表客户做出交易决策。他们在决定他们应该在投资组合中持有哪些股票以平衡风险和获取最大回报之前,分析不同的资产的优势和劣势。这使得投资组合管理变得困难。我们的目标是通过使用预测建模和深度学习技术使这个过程更好,根据下个季度的预测股价生成稳定的投资组合。
量化投资与机器学习微信公众号
2019/06/20
2.2K0
从《繁花》到现实,现代版“宝总”如何通过智能手段预测股市?
在导演王家卫看来,《繁花》“表面是饮食男女,里面是山河岁月,时代变迁”。剧中主角阿宝凭借精准的投资预判和灵活的操作策略,在资本市场的博弈中完成了从散户到“宝总”的华丽转身。而宝总起家的背后,便是抓住了A先生股票投资失败的契机,这一戏剧性转折生动揭示了股市风险无处不在,即便是实力雄厚的大户也可能面临惨痛损失。
可信AI进展
2024/01/19
2850
从《繁花》到现实,现代版“宝总”如何通过智能手段预测股市?
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
分类问题属于机器学习问题的类别,其中给定一组特征,任务是预测离散值。分类问题的一些常见示例是,预测肿瘤是否为癌症,或者学生是否可能通过考试。
拓端
2022/11/15
1.2K0
推荐阅读
【视频讲解】LSTM神经网络模型在微博中文文本评论情感分析和股市预测应用附代码数据
1160
开发 | AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
1.3K0
AI股市预测实战:用LSTM神经网络预测沪深300未来五日收益率
3.5K0
R语言气象模型集成预报:神经网络、回归、svm、决策树用环流因子预测降雨降水数据|附代码数据
4150
神经网络在算法交易上的应用系列——时序预测+回测
1.8K0
图神经网络从入门到入门
1.1K0
R语言分位数回归预测筛选有上升潜力的股票|附代码数据
3550
matlab预测ARMA-GARCH 条件均值和方差模型|附代码数据
5720
用神经网络预测股票市场
4.7K0
深度学习在股市的应用概述
1.1K0
因子挖掘:基于图神经网络与公司主营(附代码)
1.6K0
性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络
7540
【Matlab量化投资】基于神经网络的利率债16国开10收益率预测模型
1.7K0
【独家前沿策略】机器学习应用投资组合系列(代码+论文)
1.1K0
【视频】CNN(卷积神经网络)模型以及R语言实现回归数据分析|附代码数据
1.4K0
[量化投资]万字综述,94篇论文分析股市预测的深度学习技术
3.8K0
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
1.5K0
QuantML | 使用财务情绪与量价数据预测稳健的投资组合(附代码)
2.2K0
从《繁花》到现实,现代版“宝总”如何通过智能手段预测股市?
2850
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
1.2K0
相关推荐
【视频讲解】LSTM神经网络模型在微博中文文本评论情感分析和股市预测应用附代码数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档