解读:基于图卷积特征的卷积神经网络的股票趋势预测(文末赠书)

写在前面

下面这篇文章的内容主要是来自2020年发表于Information Science 的一篇文章《A novel graph convolutional feature based convolutional neural network for stock trend prediction》。这篇文章提出了一种新颖的基于图卷积特征的卷积神经网络股票趋势预测方法,这种方法可以考虑股票市场信息以及个股信息,并实现有效的趋势预测。实验验证了提出的模型具有较好的预测效果以及收益表现。原论文在文末进行获取。

1

摘要

股票趋势预测是投资者和研究人员研究最广泛、最具挑战性的问题之一。自从卷积神经网络(CNN)被引入分析金融数据以来,许多研究人员致力于通过将股市数据转换为图像来预测股票走势。然而,现有的研究大多只关注个股信息,而忽略了股票市场信息,如股票之间存在的相关性。事实上,一只股票的价格波动可能会受到其他股票价格波动的影响,因此,将股票市场信息纳入股票趋势预测可以进一步提高预测绩效。

在这篇论文中,一种改进的图卷积网络(improved graph convolutional network, IGCN)和双向CNN被设计,用来构造GC-CNN模型,模型可以同时捕获股票市场特征和个股特征。具体地,受金融复杂网络的启发,作者分别基于股票与股票特征之间的相关性构建了股票市场网络,并构建了表征股票市场信息的特征矩阵。同时,根据交易数据和技术指标对目标股票进行分析,获得个股信息。然后,将股票市场信息和个股信息转化为图像。此外,还设计了改进的图卷积网络(IGCN)和双CNN构建了GC-CNN股票趋势预测模型,该模型可以同时捕获股票市场特征和个股特征。在实验部分,作者随机选取的6只中国股票来证明所提出的基于GC-CNN的方法的优越性能。实验分析表明,基于GC-CNN的方法优于几种股票趋势预测方法和股票交易策略。

因此,本文的主要贡献可归纳如下几个方面:

  • 在股票趋势预测中,作者同时考虑了股票市场信息和个股信息。特别地,构造了股票市场网络和相应的特征矩阵来表示股票市场信息。

  • 本文提出了一种改进的基于股票市场拓扑结构数据的股票市场特征捕获算法。此外,还设计了一种基于个股信息的Dual-CNN来捕捉个股特征。

  • 本文提出了一种基于图卷积特征的卷积神经网络(GC-CNN)模型,将IGCN和Dual-CNN相结合,将股票市场特征和个股特征合并为联合特征,用于股票趋势预测。

  • 为了验证所提出的基于GC-CNN的方法的性能,实验结果从计算性能和财务性能两个方面进行了评价。在计算性能评价方面,所提出的基于GC-CNN的方法与几种趋势预测方法进行了比较。在财务评价中,文中根据不同的预测和几种常见的股票交易策略模拟股票交易。

2

模型介绍

本文提出了一种基于图卷积特征的卷积神经网络(GC-CNN)预测股票走势的新方法,该方法同时考虑了股票市场信息和个股信息。本文提出的基于GC-CNN的方法展示于下图,主要分为三个步骤:相关股票发现、图像创建和趋势预测。

1. 相关股票发现

需要注意的是,当仅使用个股信息预测股票走势时,不能考虑股票市场变化对目标股票的影响。因此,有必要考虑股票市场信息从而更好地代表复杂的市场对目标股票的影响。但是,由于股票市场的巨大规模,用所有股票来代表股票市场是不现实的。因此,在本文中,只是选择了几个相关的股票来代表整个市场。考虑到一个股票的价格波动可能会受到其他股票价格波动的影响,目标股票与其他股票的关系用来选择相关的股票。具体地,一种Spearman秩序相关的方法用来衡量股票之间的关系。

股票i和j的对数收益率之间的相关系数的计算方法如下:

此外,所有的股票都按行业属性进行分组。然后,根据目标股票于其他股票之间的关系,对每组股票进行由大到小的排序,选取与目标股票相关的前m支股票代表整个市场。

2. 图像创建

在图像创建阶段,股票市场信息和个股信息分别被转换为图像。

2.1 股票市场信息图像生成

股票市场信息由两部分组成。一个是股票市场的拓扑结构,另一个是市场中每只股票的特征。在选择相关股票的基础上,构建股票网络来捕获股票市场的拓扑结构,并设计相应的特征矩阵来代表市场中每只股票的特征。关于生成图像的细节如下所示。

我们首先将选择的相关股票按照行业属性进行排序。然后,我们将股票作为节点,股票之间的关系作为边来构造股票网络。具体来说,股票之间的关系用前面介绍的相关度来衡量,由于考虑了时滞,所以预测t时刻目标股票趋势的股票网络邻接矩阵可以表示为:

进而,通过设定一个阈值,将上述矩阵按照正相关和负相关划分为两个矩阵,表示为   和   :

这样就可以得到针对正相关和负相关矩阵的两个灰度图,这个图像的生成过程如下图所示:

根据所选的股票的特征用来构造相应的特征矩阵,具体地,我们选取了四个特征来建立相应的特征矩阵,包括目标股票与所选相关股票的关系、最近1天的ROC、最近n天的1天ROC平均值、最近n天的1天ROC标准差4个特征。其中ROC的计算方式如下:

之后,对于每个正相关和负相关矩阵   和   ,我们构建一个响应的特征矩阵   ,其中每个股票的四个特征作为一行,之后通过对角度矩阵进行归一化,这样在每个时刻就可以得到对应的特征图像了。这个过程如下图所示:

2.2 个股信息图像生成

个股信息也由两部分组成。第一部分由交易数据组成,第二部分由技术指标组成。生成图像的主要步骤如下所示。

首先,需要对序列数据进行窗口划分,然后窗口中的开高低收四个价格序列按照下面的方式进行归一化:

之后将每个数据点转换为坐标,最后根据每个点的坐标可以将四个价格序列转换为一个四通道的图像,其中每一个子序列对应一个通道。下图给出了一个例子。

为了增强预测能力,类似的方式,十个技术指标序列也可以按照上面的方式来转换为一个图像,只不过是这里是按照垂直方向进行拼接得到的单通道图像。一个将技术指标转换为图像的例子如下图所示:

3. 趋势预测

在趋势预测阶段,如下图所示,一种基于图卷积特征的卷积神经网络(GC- CNN)模型被来预测目标股票的未来趋势。其中,GC-CNN模型由两部分组成:改进的GCN (IGCN)和双CNN (Dual-CNN),其中股票市场信息由IGCN处理,个股信息由双CNN处理。IGCN和Dual-CNN的详细信息如下。

3.1 IGCN

在提出的IGCN中,如下图所示,根据正相关图像和负相关图像,以及对应的特征图像,分别经过两步获取股票市场特征。

第一步,根据正负关系图像和相应的特征图像对股票市场信息进行整合。首先,基于正负关系图像,得到两个拉普拉斯矩阵,即:

然后,它们被输入到卷积层中,其中的卷积操作为下面形式:

之后得到的结果与对应的特征矩阵一同进行图卷积操作,过程如下:

将得到的新的矩阵再进行一系列的卷积,池化以及dropout等操作,最后通过全连接层进行输出,最后的输出表示为以下形式:

这样,表示股票市场的特征就可以得到了,表示为   .

3.2 Dual-CNN

在设计的Dual-CNN中,如下图所示,交易数据图像和技术指标图像进行并行处理,得到个股特征,具体地,个股特征由交易数据特征和技术指标特征合并组成。


交易数据图像和技术指标图像都使用了输入层、两个卷积层、两个最大池化层、两个dropout层、以及全连接层和输出层进行特征提取。最后,个股特征由交易数据特特征以及技术指标特征组成。

最后,将来自IGCN和Dual-CNN的结果合并,然后通过一个softmax进行输出:

并与每个类别通过概率进行比较:

3

实验验证

为了对模型进行评估,文中从两个角度进行了实验。一是通过预测的评估指标,由于趋势预测是一个二分类任务,所以用到了常见的评估指标:

二是通过财务评估,即将该模型用于历史回测,用到的评估指标有:

在进行预测效果的评估时,用到了Dual-CNN,CNN-TA,CNN-LSTM,GAF-CNN,SVM,MLP以及DT作为对比方法。下面展示了部分实验结果:

在进行财务评估时,用到了几种常见的交易策略,即RSI,SMA,SMA long-term以及MACD策略。实验结果统计如下:

以及在各个股票上的收益曲线:

可以看出虽然提出的方法的准确性并不是很高,但是在判断买卖点时却有更好表现。

4

总结

在本研究中,一种基于GC-CNN的股票趋势预测方法被提出,它同时考虑股票市场信息和个股信息。该方法将股票市场信息即所构建的股票网络和相应的特征矩阵,以及个股信息即目标股票的交易数据和技术指标转化为图像。然后,利用提出的GC-CNN模型预测目标股票的未来趋势,其中股票市场特征被提出的IGCN捕获,个股特征被设计的Dual-CNN捕获。另外,来自中国股市随机选取的6只股票,从计算绩效评价和财务评价两个方面证明了所提方法的优越性能。在计算性能评价方面,将Dual-CNN、CNN-TA、SVM、MLP和DT方法与所提方法进行了比较。在财务评价中,基于不同的预测和其他常见的股票交易策略,如RSI信号、SMA短期信号、SMA长期信号和MACD信号,模拟了股票交易。对比结果表明:(1)所提出的基于GC - CNN的方法需要更长的训练时间;(2)综合考虑股票市场信息,对预测结果进行预测可提高效果;(3)所提出的GC-CNN方法在计算性能评价方面并不总是优于其他方法;(4)基于GC-CNN方法的计算性能比其他比较方法更稳定;(5)本文提出的基于GC-CNN的方法能够获得更稳定、更高、一致的收益;(6)计算性能更好的方法不一定产生更好的交易信号,本文提出的基于GC-CNN的方法得到的交易信号比其他方法得到的交易信号要好。这些结果表明,虽然所提出的基于GC-CNN的方法需要更长的训练时间,但它优于其他股票趋势预测方法和普通股票交易策略。

对于未来趋势预测方法的改进,有一些可能的方向。首先,利用粒子群算法(PSO)、萤火虫算法(FA)和差分进化算法(DE)等元启发式算法对GC-CNN结构参数进行优化;其次,在图像创建阶段可以生成许多其他类型的图像。第三,在考虑投资者情绪的情况下,该方法可能会取得更好的效果。第四,本文提出的方法可以考虑企业关联网络信息、行业背景、股东结构、股权结构等更多特征,对其进行修正,用于股票长期趋势预测。

参考文献:

Chen, W. ,  Jiang, M. ,  Zhang, W. G. , &  Chen, Z. . (2020). A novel graph convolutional feature based convolutional neural network for stock trend prediction. Information Sciences, 556.

关注《人工智能量化实验室》公众号,后台发送088可获取原论文。

赠书活动

【书籍推荐】《Python量化投资:技术、模型与策略》基于大量真实的实践应用案例和场景,介绍了Python在量化投资各个环节的应用。作者结合自己在量化投资中的项目经验,用通俗易懂的语言和生动的案例,围绕量化投资中的概念、思路、方法与应用,帮助读者深刻领会“Python的胶水语言能力使其在量化投资生产线的各个环节几乎都能胜任”。

【活动说明】截至至下周一,以公众号后台统计的分享最多的排行榜中取第一名包邮赠送一本《Python量化投资:技术、模型与策略》,结果将在下一篇推文中公布。

了解更多人工智能与
量化金融知识

<-请扫码关注

让我知道你在看

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
GCN (Graph Convolutional Network)是一种用于数据的机器学习模型,能够利用结构中的节点和边的信息进行学习和预测任务。PYG (PyTorch Geometric)是基于PyTorch的一个开源库,提供了处理数据的工具和模型。 GCN链路预测是指利用GCN模型对数据中不存在的边进行预测,判断这些边在中是否会存在。这种预测任务在社交网络、生物学、推荐系统等领域具有重要的应用。在PYG中,可以使用其提供的卷积层和其他模型构建一个GCN链路预测的模型。 在使用PYG进行GCN链路预测时,首先需要构建一个对象,将节点和边的信息加载到中。可以使用PYG提供的数据加载器来导入数据,并将其转换为对象。然后,需要定义GCN模型的结构,包括卷积层的设置和激活函数的选择。PYG提供了许多常用的卷积层和激活函数的实现,可以根据具体任务选择适合的模型结构。 接下来,可以使用GCN模型对数据进行训练和预测。训练阶段,可以使用已知的边来构建训练集,并根据GCN模型的输出与真实标签之间的差异来优化模型参数。预测阶段,可以使用已有的模型对不存在的边进行预测,通常是根据模型输出的概率值或阈值来判断边的存在性。 最后,可以根据预测结果进行评估和分析。常用的评估指标包括准确率、召回率、F1值等,可以通过比较预测结果和真实标签来计算这些指标。此外,还可以通过可视化数据和GCN模型的注意力机制等来分析模型的学习过程和预测结果。 总之,利用PYG中的GCN模型进行链路预测需要加载数据、构建模型、训练和预测,并进行评估和分析。通过这一过程,可以预测不存在的边的存在性,为实际应用提供决策和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值