【广发金工】股价预测之多模态多尺度

财富   2025-01-15 10:02   广东  

广发证券首席金工分析师 安宁宁

SAC: S0260512020003

anningning@gf.com.cn

广发证券资深金工分析师 陈原文

SAC: S0260517080003

chenyuanwen@gf.com.cn

联系人:广发证券金工研究员 林涛

gflintao@gf.com.cn

广发金工安宁宁陈原文团队

摘要


AI看图:

在去年发布的《基于卷积神经网络的股价走势AI识别与分类》研究报告中,创新性地采用基于深度学习的图像识别技术,将价量数据图表与未来股价走势进行建模,以实现股票价格预测。

股价预测之多模态多尺度:

本文以“多模态、多尺度”为题,基于AI看图初版模型进行了大幅改进,新的模型结构如右图1所示。本文模型在日度价量数据图表的基础上,加入了高频因子数据、日频时序数据、周度价量数据图表,采用4个独立的深度时序模型和深度卷积模型进行多模态、多尺度的特征提取,并同时采用回归损失和分类损失以端到端的方式进行模型训练,有效提升了模型对未来股价的预测能力,取得了更为显著的超额收益。

对比提升:

以2020/01/01~2024/10/31作为样本外回测区间,每20个交易日进行换仓,本文模型预测结果在全市场、沪深300、中证500、中证800、中证1000、国证2000、创业板的RankIC均值分别为8.7%、7.9%、6.6%、6.9%、8.2%、8.7、10.4%,RankIC胜率分别为86.7%、69.0%、73.5%、75.2%、84.8%、86.1%、89.2%。以全市场作为回测统计口径,对比AI看图初始版本,本文模型的RankIC均值提升了3.0%,RankIC胜率提升了7.8%。

超额表现:

以2020/01/01~2024/10/31作为样本外回测区间,基于本文模型因子在全市场、沪深300、中证500、中证800、中证1000、国证2000、创业板分别构建10分档多头股票组合,双边千三计费后,多头股票组合分别相对对应板块指数取得了12.97%、9.17%、5.30%、8.38%、7.47、7.47%、11.52的超额年化收益率。

与Barra风格因子相关性:

整体而言,本文模型因子与Barra风格因子的相关性较低,其中,相关性最高的三个Barra风格因子为流动性因子、波动率因子和市值因子,相关系数分别为-18%、-16%和-8%。

展望:

本报告以研发为主要目的,对模型进行了严谨的训练、验证、以及回测。其中,训练样本为2008~2016年数据,验证样本为2017~2019年数据,回测样本为2020~2024年数据。从理论上来说,通过加入更新、更多的训练样本,结合滚动训练等方式,能够进一步提升模型对未来股价的预测能力,取得更为显著的超额收益。

风险提示:

(1)本文所述模型用量化方法通过历史数据统计、建模和测算完成,所得结论与规律在市场政策、环境变化时存在失效风险;(2)本文策略在市场结构及交易行为改变时有可能存在失效风险;(3)因量化模型不同,本文提出的观点可能与其他量化模型结论存在差异。

一、AI看图


基于价量数据对未来股价走势进行预测作为一类重要的机器学习量化选股策略,在过去受到了广泛的研究和应用。由于个股的价量数据是随着交易活动的进行而产生的,其本质上是关于时间的一组序列。因此,为了建模价量数据与未来股价走势之间的关系,大多数研究方法自然而然地使用了循环神经网络(Recurrent Neural Network,RNN)或Transformer这两大类时序模型。
在这些方法中,模型的输入是关于价量数据的一维或多维数组,输出则是股价的未来走势。然而,尽管时序模型在一定程度上能够捕捉到价量序列中诸如价格、交易量的上涨或下跌及其相互交织的高维信息,但其无法对价格和交易量的走势形态及其变化进行有效识别。
举个例子对此进行解释。以人类视角来看,通常在对股价的未来走势进行预测时,并不会选择直接观测一组关于价量的序列,因为能从中捕获到的不只是数字上的涨跌。为了能更好地捕捉到价格和交易量的形态走势,通常会选择观测包含k线图、移动平均价、交易量、MACD数据的图表,而不是一组纯粹的数字。
基于以上观点,团队在去年发布的《基于卷积神经网络的股价走势AI识别与分类》研究报告中,创新性地基于日度价量数据,批量生成标准化价量数据图表。该图表包含了窗口期大小为20日的价量数据,其由三部分组成:(1)图表的上部分由k线图和移动平均线构成,包含了开、高、低、收价格,以及若干股价的移动平均线,如MA5、MA10等;(2)图表的中部分由当日对应的成交量构成;(3)图表的下部分由股价的MACD信息构成。

AI看图采用基于深度学习的图像识别技术,将价量数据图表与未来股价走势进行建模,以实现股价预测,整体模型结构如下图1所示。

二、多模态多尺度股价预测模型


(一)模型结构

本文以“多模态、多尺度”为题,基于AI看图初始版本模型进行了大幅改进,新的模型结构如下图2所示。本文模型在日度价量数据图表的基础上,加入了高频因子数据、日频时序数据、周度价量数据图表,采用4个独立的深度时序模型和深度卷积模型进行多模态、多尺度的特征提取,并同时采用回归损失和分类损失以端到端的方式进行模型训练,有效提升了模型对未来股价的预测能力。

(二)改进思路

本文模型主要有以下几个改进思路:
(1)多模态:尽管价量数据图表所蕴含的信息完全来自于原始的价量时序数据,但以不同模态(图表数据与时序数据)表征的数据,在深度学习模型中所捕获的信息具有较大差异。通常而言,时序模型能够有效捕获到原始价量数据中较为抽象的数量变化关系,而卷积模型则能够更有效地识别到价量数据图表中的形态走势。为了验证这一观点,以AI看图初始版本模型的预测结果作为卷积模型因子,以GRU模型的预测结果作为时序模型因子,二者虽同根同源,但它们的因子历史相关系数仅约为35%,具有较大的差异性。因此,本文分别采用时序模型和卷积模型,同时以时序价量数据和标准化价量数据图表作为输入,并对不同模态的特征进行融合,充分发挥不同模型、不同模态数据的各项优点,以端到端的方式进行模型训练和未来股价预测。
(2)多尺度:不同频率的价量数据,蕴含着不同维度的信息。日内高频数据反映了交易日中的博弈,但缺乏长周期的趋势信息;日频、周频数据则能够有效补充日内高频数据所难以表征的历史走势。因此,本文采用了1分钟频、日频、周频三种不同频率的价量数据作为改进后模型的原始输入数据。其中,对于1分钟频价量数据,采用高频数据日度因子化的方式,从中构建出了55组特征信息,再将多日的日度因子送入时序模型。这样的特征提取方法不仅能够更有效地捕获日内股价信息,而且能够有效降低模型复杂度,减少过拟合,提升样本外的股价预测效果。
(3)轻量化:尽管本文模型包含了4个独立的深度时序模型和深度卷积模型以实现多模态、多尺度的特征提取,但每个独立子模型的参数量都进行了大幅度的轻量化。以其中的卷积模型为例,其整体结构与AI看图初始模型一致,但每一个卷积模块的特征维度只有后者的1/4。轻量化不仅避免了因为多模态多尺度数据所带来的模型过拟合风险,而且减少了模型在训练过程中的巨额计算资源依赖和耗时,同时还提升了模型在训练完毕后的样本外股价预测效率,使得训练好的模型甚至能够在一台轻薄笔记本上运行。

(4)多头输出:在本文模型的输出端,包含了两个分支。其中一个分支以未来股价的绝对收益作为学习目标;另一个分支则以未来股价的涨、平、跌三类别作为学习目标。在训练过程中,两个分支分别以均方误差和交叉熵作为损失函数,两个损失在加总后以端到端的方式进行梯度回传。在模型训练完毕的样本外预测阶段,通过同时结合两个分支的预测结果,提升了模型的股价预测准确率,从而使得股票组合获得更为客观的超额收益。

三、实证分析


(一)数据说明
选股范围:全市场,沪深300,中证500,中证800,中证1000,国证2000,创业板
选股处理:剔除非上市、摘牌、ST/*ST、涨跌停板、上市未满1年股票
训练数据:全市场2008年1月~2016年12月
验证数据:全市场2017年2月~2019年11月(与训练数据间隔1个月防止数据暴露)
回测区间:2020年1月~2024年10月(与验证数据间隔1个月防止数据暴露)
分档方式:根据当期预测的个股价格未来上涨概率,从大到小分为10档
回测路径:以多路径回测均值作为统计数据
调仓周期:每20个交易日,根据模型在t日的预测结果,以t+1日均价买入,t+1+n日均价卖出
交易费用:千分之三(卖出时收取),以下展示回测数据均为计费后的结果


(二)对比提升

以2020/01/01~2024/10/31作为样本外回测区间,以20日作为换仓周期,本文模型预测结果在全市场、沪深300、中证500、中证800、中证1000、国证2000、创业板的RankIC均值分别为8.7%、7.9%、6.6%、6.9%、8.2%、8.7、10.4%,RankIC胜率分别为86.7%、69.0%、73.5%、75.2%、84.8%、86.1%、89.2%。以全市场作为回测统计口径,对比AI看图初始版本,本文模型的RankIC均值提升了3.0%,RankIC胜率提升了7.8%。

(三)本文模型因子与Barra风格因子相关性

本文模型因子与Barra风格因子的相关系数如下表所示。整体而言,本文模型因子与Barra风格因子的相关性较低,其中相关性最高的三个Barra风格因子为流动性因子、波动率因子和市值因子,相关系数分别为-18%、-16%和-8%。


(四)实证分析(全市场)

本文模型在全市场的样本外回测表现如下图表所示。本文模型因子在全市场的10分档收益单调性显著,RankIC历史均值为8.7%、胜率为86.7%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为15.58%,相比同期的中证全指取得了12.97%的超额年化收益率。




(五)实证分析(沪深300)

本文模型在沪深300的样本外回测表现如下图表所示。本文模型因子在沪深300的10分档收益单调性显著,RankIC历史均值为7.9%、胜率为69.0%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为9.48%,相比同期的沪深300指数取得了9.17%的超额年化收益率。




(六)实证分析(中证500)

本文模型在中证500的样本外回测表现如下图表所示。本文模型因子在中证500的10分档收益单调性显著,RankIC历史均值为6.6%、胜率为73.5%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为9.36%,相比同期的中证500指数取得了5.30%的超额年化收益率。




(七)实证分析(中证800)

本文模型在中证800的样本外回测表现如下图表所示。本文模型因子在中证800的10分档收益单调性显著,RankIC历史均值为6.9%、胜率为75.2%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为9.43%,相比同期的中证800指数取得了8.38%的超额年化收益率。




(八)实证分析(中证1000)

本文模型在中证1000的样本外回测表现如下图表所示。本文模型因子在中证1000的10分档收益单调性显著,RankIC历史均值为8.2%、胜率为84.8%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为11.45%,相比同期的中证1000指数取得了7.47%的超额年化收益率。




(九)实证分析(国证2000)

本文模型在中证1000的样本外回测表现如下图表所示。本文模型因子在中证1000的10分档收益单调性显著,RankIC历史均值为8.2%、胜率为84.8%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为11.45%,相比同期的中证1000指数取得了7.47%的超额年化收益率。




(十)实证表现(创业板)

本文模型在创业板的样本外回测表现如下图表所示。本文模型因子在创业板的10分档收益单调性显著,RankIC历史均值为10.4%、胜率为89.2%。2020年~2024年10月期间,双边千三计费后的多头年化收益率为22.01%,相比同期的创业板综指取得了11.52%的超额年化收益率。





四、卷积模型与时序模型


若需进一步了解卷积模型和时序模型,可参考本小节的综述性介绍。

(一)循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。尽管循环神经网络演进出了长短期记忆(Long Short-Term Memory,LSTM)、门控循环单元(Gated Recurrent Units,GRU)等多种形式,但其基本结构相同,如下图所示。假设该网络以一组包含价格和交易量的二维序列数据为输入,循环神经网络节点首先将初始化的隐藏层状态(Hidden State)h0和第一个时间节点上的价格和交易量数据(即0.08和1000)作为输入,在信息处理后输出下一个隐藏层状态h1。随后在下一个节点的计算中,则以上一个隐藏层状态h1和第二个时间节点上的价格和交易量数据(即-0.03和8000)作为输入,然后输出下一个隐藏层状态h2,如此进行直至处理完输入中的最后一个时间节点的数据。在处理完所有数据后,通常将最后一个隐藏层状态hn作为最终输出,使用一个前馈神经网络(Feedforward neural network)对其进行降维后与未来股价走势进行建模,以此来实现模型的训练和回测。


(二)Transformer模型

Transformer是近年来受到广泛研究和应用的一种时序模型,其通过多头注意力机制(Multi-Head Attention)来捕获输入时序数据中的前后关系,结构如下图所示。与传统的循环神经网络相比,Transformer克服了短期记忆的缺点,具有能建模超长序列数据之间关系的能力。此外,Transformer能够并行化处理数据,替代了传统循环神经网络递归式处理数据的范式,大大提高了运算速度。


(三)卷积神经网络

卷积神经网络是当今计算机视觉领域的重要基础模型之一,其被广泛应用在图像识别领域。卷积神经网络的雏形为日本学者福岛邦彦(Kunihiko Fukushima)在其1979和1980年发表的论文中提出的neocognitron模型。neocognitron模型由S层(Simple-Layer)和C层(Complex-Layer)构成,是一个具有深度结构的神经网络。其通过S层单元和C层单元分别对图像特征进行提取、接收和响应不同感受野返回的特征。由于neocognitron模型初步实现了卷积神经网络中卷积层(Convolution Layer)和池化层(Pooling Layer)的功能,其在学界内被认为是卷积神经网络领域的开创性研究工作。
1987年,Alexander Waibel等提出第一个较为完备的卷积神经网络,即网络时间延迟网络(Time Delay Neural Network, TDNN)。TDNN使用FFT预处理的语音信号作为输入,由2个一维卷积核组成隐藏层,以提取语音信号频率域上的平移不变特征,其在语音识别领域上的表现超过了同等条件下当时的主流算法隐马尔可夫模型(Hidden Markov Model, HMM)。
1988年,第一个应用于医学影像检测的二维卷积神经网络由Wei Zhang等提出。1989年,Yann LeCun构建了包含2个卷积层、2个全连接层、共计6万个学习参数的卷积神经网络LeNet。在LeCun对其网络结构进行论述时首次使用了“卷积”一词,“卷积神经网络”因此得名。

1998年,Yann LeCun等人在LeNet的基础上构建了更加完备的卷积神经网络LeNet-5。LeNet-5结构如下图所示,其定义了现代卷积神经网络的基本结构。LeNet-5在手写数字识别任务上的成功使得卷积神经网络得到了广泛关注。2003年,微软基于卷积神经网络开发了光学字符读取(Optical Character Recognition,OCR)系统。

2006年,随着深度学习理论的提出,卷积神经网络的表征学习能力得到了更广泛的关注,并随着CPU、GPU等数值计算硬件设备的研发得到了快速发展。自2012年的AlexNet 开始,卷积神经网络多次成为ImageNet大规模视觉识别竞赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)的优胜算法,包括2013年的ZFNet、2014年的VGGNet、GoogLeNet和2015年的ResNet。

以图像识别中最经典的卷积神经网络VGG16为例,其共包含了13个卷积层、3个全连接层、3个最大值池化层以及一个softmax分类层,结构如下图所示。下面对卷积神经网络中的主要部分进行介绍。

1. 卷积层

卷积层进行的是卷积(Convolution)即乘加运算,其目的与传统图像处理中的滤波器运算相似。如下图所示,将卷积核与输入数据进行卷积运算。在这个例子中,输入数据和卷积核都是有长和高的二维矩阵,输入的大小为(4,4),卷积核的大小为(3,3),输出的大小为(2,2)。如图中所示,在每个位置上将卷积核的元素与输入的元素相乘再求和,即乘积累加运算。然后将经过卷积核的运算结果输出到相应的位置。在逐次将卷积核与输入数据进行卷积运算并加上偏置量后即得到卷积层的输出。

由于模型运算的需要,通常在卷积运算前会通过填充(adding)操作向输入数据的周围填入固定的数值(比如0等)。如图8所示,将幅度为1的填充操作应用于输入大小为(4,4)的数据。经过填充后的输入数据大小变为(6,6),将其与(3,3)的卷积核进行卷积运算得到(4,4)的输出数据。

使用填充操作的目的是调整输出特征的大小。比如,将(3,3)的卷积核应用于大小为(4,4)的输入数据时,输出数据的大小变为(2,2),也就是说输出数据的大小比输入数据的大小缩减了 2 个元素。在深度网络中包含了众多的卷积运算操作,如果每次卷积运算都使数据的维度大小缩减,那么就有可能导致某一层数据的输出大小为 1,使卷积运算无法继续运行。而填充操作则可以避免这种情况。在上述例子中所应用的填充幅度大小为 1,使得输入数据和输出数据的大小得以保持,也就是说卷积运算可以在输入和输出两端维度大小不变的情况下进行。

卷积的运算间隔称为步幅(Stride)。若步幅由1变为2,卷积操作则如图9所示,即运算间隔变为两个元素。

2. 池化层

池化(Pooling)操作具有平移不变性、旋转不变性和尺度不变性,可以起到降维、去除冗余信息的作用,从而达到降低网络复杂度、减小计算量的目的。此外,池化本身可以实现非线性运算,还可以提高模型的鲁棒性。池化通常包括两种:最大值池化(Max Pooling)和平均池化(Average Pooling)。最大值池化是从目标区域中取出最大值,平均池化则是计算目标区域中的平均值,在目标检测领域通常使用最大值池化。图10是一个以步幅为2的2×2最大值池化运算示意图,其中2 x 2 代表目标区域的大小。其2×2窗口的移动间隔为2个元素,从其中取出最大的元素。

通过卷积运算,卷积神经网络能有效捕捉到图像中的局部结构特征,并通过深层网络不断提高感受野(Receptive Field)的大小,从而实现对图片全局特征的提取。因此,卷积神经网络能够有效识别价量数据图表中价格和交易量的走势形态,并与未来股价进行建模。

五、总结与展望


在去年发布的《基于卷积神经网络的股价走势AI识别与分类》研究报告中,创新性地采用基于深度学习的图像识别技术,将价量数据图表与未来股价走势进行建模,以实现股票价格预测。
本文以“多模态、多尺度”为题,基于AI看图初版模型进行了大幅改进。本文模型在日度价量数据图表的基础上,加入了高频因子数据、日频时序数据、周度价量数据图表,采用4个独立的深度时序模型和深度卷积模型进行多模态、多尺度的特征提取,并同时采用回归损失和分类损失以端到端的方式进行模型训练,有效提升了模型对未来股价的预测能力,取得了更为显著的超额收益。
以2020/01/01~2024/10/31作为样本外回测区间,每20个交易日进行换仓,本文模型预测结果在全市场、沪深300、中证500、中证800、中证1000、国证2000、创业板的RankIC均值分别为8.7%、7.9%、6.6%、6.9%、8.2%、8.7、10.4%,RankIC胜率分别为86.7%、69.0%、73.5%、75.2%、84.8%、86.1%、89.2%。以全市场作为回测统计口径,对比AI看图初始版本,本文模型的RankIC均值提升了3.0%,RankIC胜率提升了7.8%。
以2020/01/01~2024/10/31作为样本外回测区间,基于本文模型因子在全市场、沪深300、中证500、中证800、中证1000、国证2000、创业板分别构建10分档多头股票组合,双边千三计费后,多头股票组合分别相对对应板块指数取得了12.97%、9.17%、5.30%、8.38%、7.47、7.47%、11.52的超额年化收益率。
整体而言,本文模型因子与Barra风格因子的相关性较低,其中,相关性最高的三个Barra风格因子为流动性因子、波动率因子和市值因子,相关系数分别为-18%、-16%和-8%。

本报告以研发为主要目的,对模型进行了严谨的训练、验证、以及回测。其中,训练样本为2008~2016年数据,验证样本为2017~2019年数据,回测样本为2020~2024年数据。从理论上来说,通过加入更新、更多的训练样本,结合滚动训练等方式,能够进一步提升模型对未来股价的预测能力,取得更为显著的超额收益。

六、风险提示

本文所述模型用量化方法通过历史数据统计、建模和测算完成,所得结论与规律在市场政策、环境变化时存在失效风险;
本文策略在市场结构及交易行为改变时有可能存在失效风险;
因量化模型不同,本文提出的观点可能与其他量化模型结论存在差异。
相关研究报告
【广发金工】基于卷积神经网络的股价走势AI识别与分类(20230406)


法律声明:
本微信号推送内容仅供广发证券股份有限公司(下称“广发证券”)客户参考,其他的任何读者在订阅本微信号前,请自行评估接收相关推送内容的适当性,广发证券不会因订阅本微信号的行为或者收到、阅读本微信号推送内容而视相关人员为客户。
完整的投资观点应以广发证券研究所发布的完整报告为准。完整报告所载资料的来源及观点的出处皆被广发证券认为可靠,但广发证券不对其准确性或完整性做出任何保证,报告内容亦仅供参考。
在任何情况下,本微信号所推送信息或所表述的意见并不构成对任何人的投资建议。除非法律法规有明确规定,在任何情况下广发证券不对因使用本微信号的内容而引致的任何损失承担任何责任。读者不应以本微信号推送内容取代其独立判断或仅根据本微信号推送内容做出决策。
本微信号推送内容仅反映广发证券研究人员于发出完整报告当日的判断,可随时更改且不予通告。
本微信号及其推送内容的版权归广发证券所有,广发证券对本微信号及其推送内容保留一切法律权利。未经广发证券事先书面许可,任何机构或个人不得以任何形式翻版、复制、刊登、转载和引用,否则由此造成的一切不良后果及法律责任由私自翻版、复制、刊登、转载和引用者承担。



广发金融工程研究
定期发布团队最新研究成果及观点,欢迎交流!
 最新文章