桑运鑫作者上海交通大学硕士生学校

当深度学习遇上量化交易——图与知识图谱篇

本文主要回顾三篇将图和知识图谱应用到量化交易上的文章。

一、NeurIPS 2019

论文标题:Exploring Graph Neural Networks for Stock Market Predictions with RollingWindow Analysis

论文来源:NeurIPS 2019

论文链接:https://arxiv.org/abs/1909.10660

这篇文章指出除了从股票的历史交易数据中产生的各种指标,专业的投资者在选择股票时还会考虑与该股票相关的企业,比如供应商、消费者、股份持有者等,我们应该想办法将这些信息利用起来用于股价预测。那么到了需要建模这种图关系数据的时候,自然就轮到图神经网络出场了。

对于一个图而言,最重要的就是点的表示和边的构建。

在点的方式方面,作者使用 LSTM 从原始的技术因子中生成结点的 embedding。

论文将企业间的关系分为下面七类。其中第一序列关系(first order)是两个企业间的直接关系,但这种关系是比较稀疏的,并且已经被股票投资者广泛使用了。第二序列关系则是将具有共同特点的两个企业连接起来。

最后将构建好的图通过一种称为 Temporal graph convolution 的方式进行训练,得到结点的 embedding。

这个公式最重要的改进就是加入了  作为系数来表示两个企业之间关系的动态变化。因为两只股票最近在价格上的走势也接近,那么  就越大,他们之间的关系也就越强。

论文中使用 Nikkei 225 market 上的 176 只股票,利用 Nikkei Value Search dataset 来抽取企业之间的关系。利用回报率  和夏普率  作为衡量指标。实验结果如下图所示。

实验证明了 customer-of 是企业间几种关系中最为重要的一种,对企业股价具有比较好的预测作用。具有这种关系的两家企业的股价在时序上具有比较好的相关性。此外,在不同的时间跨度上,不同的关系对于不同时期股价的预测作用不同。

从上图可以看出,customer-of  关系对于股价的预测作用在 1-day 时是最好的。此外,同一种关系在不同的跳数(hop)上预测作用的时间长短也是不同的,这是一个可以扩展的方向。

CIKM 2018

论文标题:Incorporating Corporation Relationship via Graph Convolutional Neural Networks for Stock Price Prediction

论文来源:CIKM 2018

论文链接:https://dl.acm.org/doi/10.1145/3269206.3269269

与上篇论文的出发点相似的,这篇论文也将企业间的关系纳入考虑。但与之不同的是,这篇论文更多地将其作为一种数据增强的手段,而不是直接在图上进行股价预测。文章使用如下方式建图:

图中的每个点代表一个企业,他们之间的边代表两家企业间的持股关系,变得权重表示持股比例。之后提出两个模型利用图进行股价预测:Pipeline Prediction Model、Joint Prediction Model Based on GCN。

Pipline Prediction Model 使用 DeepWalk, node2vec 和 LINE 三种方法生成节点的 embedding。之后计算两个结点之间的 cos 相似度选出与目标公司最相似的  家企业,把它们的特征取平均拼接到目标企业的特征向量上:

最后将  输入到 LSTM 中进行预测。

Joint Prediction Model Based on GCN 则是用 LSTM 获得结点的向量表示,从前面构建的图中获取邻接矩阵,之后输入到一个三层的 GCN 中完成预测。

对 2017 年的 CSI 300 的验证结果表明 LSTM+GCN 的预测准确率更高(这里的评价指标选的相当不专业,一般来说我们要选择回报率以及能够排除掉整个市场趋势的一些指标来衡量模型的实际盈利能力)。在所有图表示学习的方法中,LINE 方法的表现更好。

COLING 2016

论文标题:Knowledge-Driven Event Embedding for Stock Prediction

论文来源:COLING 2016

论文链接:https://www.aclweb.org/anthology/C16-1201/

在股票市场上,各种 event 对于股价是有较大影响的。这篇文章使用知识图谱来抽取 event embedding,之后用于股价预测。

对于event可以将其看作一个三元组 ,其中  是行动者(actor)或主体(subject), 是行动或谓语(predicate), 是被施加行为的客体。首先可以使用预训练的词向量做平均来分别表示 ,之后使用 neural tensor network (NTN) 来计算隐向量。

为了合理的训练,采用随机替换  中单词的方式来获得负样本(corrupted event tuple),损失函数如下:

但上述方式训练出的 event embedding 存在两个的问题:

1. 不能获取两个在语义或语法上相似事件的关系,如果两者没有相似的词向量;

2. 同样地,有两个相似词向量的事件不一定是相关的。

这两个问题出现的原因是在训练 event embedding 的时候没有加入背景知识。而想要获取背景知识就要利用知识图谱知识图谱中存在两种知识:关系知识(relational knowledge)和和类别知识(categorical knowledge)。

这两种关系同样可以使用简单的 NTN 网络来计算,其中  是两个实体, 是某种关系:

通过随机替换  获得负样本 ,极小化如下的目标函数:

最后将两个模型组合起来进行训练,就可以获得包含知识的event embedding。

目标函数为:

实验从 Reuters News 和 Bloomberg News 抽取结构化事件,使用 YAGO 作为知识图谱,对标准普尔 500 指数和单个股票进行预测。使用 Acc 和 MCC (Matthews Correlation Cofficient) 作为指标。结果如下:

总结

这三篇论文是近五年图神经网络知识图谱量化投资上的应用尝试,主要集中与挖掘企业之间的相关关系,但也存在一些问题,如三篇文章都没有很好的解决市场的动态性,企业间的关系是随时间不断变动的,并且使用一个静态的知识图谱或数据集来抽取关系是否会造成数据泄露的问题也没有指明。

因为相关的资料确实相当匮乏,我在 GitHub 上新建了一个 repo 用于收集、整理相关的研究论文、书籍、数据、网站等,欢迎 star。

https://github.com/sangyx/deep-stock

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论图神经网络知识图谱深度学习
5
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~