您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[西南证券]:机器学习应用系列:量价时序特征挖掘模型在深度学习因子中的应用 - 发现报告
当前位置:首页/其他报告/报告详情/

机器学习应用系列:量价时序特征挖掘模型在深度学习因子中的应用

2024-07-10郑琳琳西南证券杨***
机器学习应用系列:量价时序特征挖掘模型在深度学习因子中的应用

摘要 深度学习模型在选股初探 本文首先构建了基于门控循环单元网络(GRU)的深度学习选股模型,通过两层GRU层及多层感知器(MLP)神经网络来预测股票收益。模型利用收盘价、开盘价、成交量等18个量价特征,对2018年1月1日至今的数据进行训练和回测。结果表明,GRU模型在回测区间内的RankIC为3.14%,多头组合年化收益率11.40%,最大回撤率42.78%,展现出一定的选股能力。 基于AE自编码模型的选股特征降维 本文采用自编码模型(AE)压缩特征来减少数据维度,提高模型训练速度和减少算力消耗。本文采用AE模型将原始的40*18的量价时序特征降维至一维特征,并测试了不同降维目标维度对选股模型的影响。结果显示,特征降维后的模型存在信息损失,整体效果相对于GRU模型因子表现有所下滑。而在360特征的情况下,AE_GRU模型表现相对优秀,因子IC均值为1.29%,多头年化收益率为最高的4.82%,多空组合年化收益率8.78%,多空组合最大回撤率12.30%。 基于GAN生成式对抗网络的选股特征生成 基于提升模型效果的角度,本文采用生成对抗网络(GAN)生成新的量价时序特征来增强深度学习模型的选股能力。本文构建了LSTM生成器和卷积神经网络(CNN)判别器的GAN模型,用以生成新的40*18的特征,并利用这些新特征训练GRU深度学习模型。回测结果显示,GAN_GRU因子在全A范围内的RankIC为7.03%,多空组合年化收益率46.64%,最大回撤率11.31%,其中多头组合年化收益率18.00%,最大回撤率41.75%。 多角度特征工程的深度学习指数增强策略:本文基于AE特征降维、GAN特征生成两个不同角度特征工程分别构建沪深300和中证1000指数增强策略。 沪深300指数增强策略:AE_GRU因子构造的沪深300指数增强相对指数年化超额收益率2.94%,整体表现优于普通GRU指数增强策略。GAN_GRU因子下的沪深300指数增强策略相对指数年化超额收益率为15.02%,策略表现优于普通GRU因子及AE_GRU因子。 中证1000指数增强策略:全区间来看,AE_GRU指数增强相对中证1000指数年化超额收益率4.18%,相对于普通GRU模型表现较差。GAN_GRU因子下的中证1000指数增强策略相对指数年化超额收益率17.54%,相对于AE_GRU及GRU因子效果提升明显。 风险提示:报告对应的相关结论完全基于公开的历史数据进行算法构建、统计以及计算,文中部分数据有一定滞后性,同时也存在第三方数据提供不准确或者缺失等风险;策略效果结论仅针对于回测区间得出,并不预示其未来表现,也不能保证未来的可持续性,亦不构成投资收益的保证或投资建议。 1深度学习选股模型初探 深度学习模型是一种基于多层神经元的无监督算法,它被广泛应用于图像识别、自然语言处理与到数据与信号的分析领域。而基于神经网络的深度学习模型在量化投资领域发挥着越来越重要的作用。深度学习的主要神经网络模型包括:卷积神经网络(CNN)、递归神经网络(RNN)、长短时记忆网络(LSTM)、门循环单元网络(GRU)等等。 通过利用神经网络的强大学习能力和特征提取能力,可以更准确地分析市场数据,并制定有效的交易策略。在量化选股领域中,深度学习模型能够依靠自身独特的结构,根据量价数据特征或者选股因子,学习到特征内部之间的关系,更好的助力深度学习选股因子构建或常规选股因子合成,从而形成更加有效的量化策略。 鉴于个股数据中往往包含时序性质,因此本文主要内容为基于常规股票量价时序数据作为模型输入特征,利用克服梯度爆炸或梯度消失的改进型循环神经网络长短时记忆网络(LSTM)以及门控循环单元(GRU)深度学习模型,构建深度学习选股模型。同时本文提出了两种选股特征工程方式:基于AE自编码模型的特征降维模型、基于GAN生成式对抗网络特征生成模型,并探究该两种特征工程在深度学习选股模型中的应用及效果。 1.1深度学习模型介绍 LSTM模型 长短时记忆网络(Long Short-Term Memory,LSTM)是一种改进型的循环神经网络,专门设计用来解决传统RNN在处理长序列数据时出现的梯度消失和梯度爆炸问题。LSTM通过引入三个门控结构(输入门、遗忘门和输出门),以及一个细胞状态来实现对序列中长期依赖关系的捕捉。 图1:LSTM模型结构 假定在时间𝑡,LSTM接收到输入向量𝑥和前一步的隐藏状态ℎ以及前一时间步的单元状,则LSTM单元的操作可以通过以下公式描述: 𝑡 𝑡 态𝑐 𝑡 −1 1.遗忘门(决定哪些信息将被丢弃或保留) ] + 𝑏 ) ∙ [ℎ𝑓= 𝜎(𝑊 , 𝑥 𝑡 𝑓 𝑡−1 𝑡 𝑡 2.输入门(决定哪些新的信息将被存储在单元状态中) ) ∙ [ℎ𝑖= 𝜎(𝑊 ] + 𝑏 , 𝑥 𝑡 𝑖 𝑡 −1 𝑡 𝑖 ) ∙ [ℎ ] + 𝑏 𝐶̃= 𝑡𝑎𝑛ℎ (𝑊 , 𝑥 𝑡 𝑐 𝑡 −1 𝑡 𝑐 3.单元状态更新(更新单元状态,部分遗忘并添加新信息) 𝐶= 𝑓∗ 𝐶 + 𝑖∗ 𝐶̃ 𝑡 𝑡 𝑡−1 𝑡 𝑡 4.输出门(根据单元状态,决定最终输出的信息) ) ∙ [ℎ𝑜= 𝜎(𝑊 ] + 𝑏 , 𝑥 𝑡 𝑜 𝑡−1 𝑡 𝑜 ℎ= 𝑜∗ tanh(𝐶) 𝑡 𝑡 𝑡 其中,𝑊和𝑏代表权重矩阵和偏置项,𝜎表示sigmoid激活函数,用于将值压缩到0和1之间,𝑡𝑎𝑛ℎ双曲正切激活函数,用于将值压缩到-1和1之间。𝑓、𝑖、𝑜分别是遗忘门、输入门和输出门的激活向量,𝐶̃是候选单元状态,𝐶是当前单元状态,ℎ是当前隐藏状态。 𝑡 𝑡 𝑡 𝑡 𝑡 𝑡 其中激活函数sigmoid以及tanh表达式如下: −1 sigmoid(x) = (1 + exp(−𝑥)) 1 − exp(−2𝑥)tanh(x) = 1 + exp(−2𝑥) GRU模型 门控循环单元(Gated Recurrent Unit,GRU)是另一种常用于处理序列数据的改进型循环神经网络结构,类似于LSTM,但简化了LSTM的结构,主要组成部分包括了控制前一个隐藏状态如何影响当前隐藏状态更新的重置门(Reset Gate)、以及控制如何将当前输入与前一个隐藏状态结合从而更新当前隐藏状态的更新门(Update Gate)。 图2:GRU模型结构 GRU循环网络结构的计算过程如下: ) ∙ [ℎ𝑧= 𝜎(𝑊 ] , 𝑥 𝑡 𝑧 𝑡−1 𝑡 ) ∙ [ℎ𝑟= 𝜎 (𝑊 ] , 𝑥 𝑡 𝑟 𝑡 −1 𝑡 ] ℎ̃= tanh (𝑊) ∙ [𝑟∗ ℎ , 𝑥 𝑡 𝑡 𝑡 −1 𝑡 ) ∗ ℎ ℎ= (1 − 𝑧 + 𝑧∗ ℎ̃ 𝑡 𝑡 𝑡 −1 𝑡 𝑡 上述公式中,𝜎代表sigmoid激活函数,𝑧和𝑟代表更新门和重置门,𝑊、𝑊、𝑊分别代表每个门的特定神经元参数,ℎ̃代表记忆门神经元,tanh代表与神经元对应的激活函数,𝑥代表给定时间点的输入向量。ℎ代表记忆状态。 𝑡 𝑡 𝑧 𝑟 𝑡 𝑡 𝑡 1.2深度学习选股模型构建 深度神经网络模型在预测股票收益方面也有着广泛应用,基于前述深度学习模型中的GRU模型,本文构建了GRU层+MLP的神经网络股票收益预测模型,其中模型细节如下 : 量价特征:包括收盘价、开盘价、成交量、换手率等在内的18个量价特征。 回测时间及调仓频率:2018年1月1日至今;周频(每5个交易日)。 训练与预测方式: (1)训练数据及输入特征设定:所有个股过去400天内的18个量价特征,每5个交易日做一次特征采样。特征采样形状为40*18,即利用过去40天的量价特征来预测未来5个交易日(T收盘+T+5收盘)的累计绝对收益。 (2)训练集验证集比例:80%:20%。 (3)数据处理:每次采样的40天内,每个特征在时序上去极值+标准化、每个特征在个股层面上截面标准化。 (4)模型训练方式:半年滚动训练,即每半年做一次模型训练,并用以未来半年收益的预测,训练时间点为每年的6月30日及12月31日。 (5)股票筛选方式:选取截面所有股票,剔除ST及上市不足半年的股票。 (6)训练样本筛选方式:剔除label为空值的样本。 (7)超参数:batch_size为截面股票数量、优化器Adam、学习速率1e-4、损失函数IC、早停轮数10、最大训练轮数50。 表1:深度学习选股量价特征表 图3:深度学习选股模型结构 本文通过构建两层GRU层,即GRU(128,128),并在后面加入MLP(256,64,64),并将模型最后输出的预测收益pRet_5作为选股因子。对因子的测试均建立在对因子已做行业市值中性化+标准化处理,后文将不再赘述。 在没有特别进行参数调优的情况下,自2018年1月1日至2024年5月29日的回测区间内,GRU模型选股因子周度(5个交易日)RankIC为3.14%,RankIC胜率为62.19%,多头组合(前10%)年化收益率11.40%,最大回撤率42.78%。 图4:GRU选股因子RankIC 表2:GRU深度学习模型选股因子回测 此外,GRU深度学习选股因子多空组合年化收益率24.32%,多空最大回撤率27.89%,多头组合(组1)年化收益率8.66%,最大回撤率42.73%;空头组合(组5)年化收益率-13.18%,最大回撤率69.74%。 表3:GRU深度学习模型选股因子多空及分组测试 图5:GRU深度学习选股因子多空 图6:GRU深度学习选股因子分组 分年度回测来看,GRU深度学习模型选股因子多头组合,近7年来平均年化收益率为6.94%,其中2024今年以来(2024-01-01至2024-05-29)年化收益率为-40.21%,最大回撤率34.81%,模型在今年以来的表现并不理想。 表4:GRU选股因子多头组合分年度表现 图7:GRU选股因子多头组合分年度净值 可见在常规量价特征输入的情况下,GRU模型构建的深度学习因子已经具备一定的选股能力,但是在没有任何特征处理的情况下,GRU模型在输入上述量价特征得到的选股因子在IC端以及多头端的表现差强人意,显然具备一定的优化空间。 传统的深度学习模型面临的两大困境分别为模型计算效率较低以及模型因子表现是否具备进一步提升的空间。因此,本文将基于提升模型计算效率及改善模型因子效果两种不同的角度对特征分别进行处理。 2基于AutoEncoder自编码模型的特征降维 2.1自编码AE模型介绍 自编码器(AutoEncoder)是一种无监督学习的神经网络模型,用于学习数据的压缩表示。它由两部分组成:编码器(Encoder)和解码器(Decoder)。自编码器的训练过程旨在最小化重构误差,即尽量使解码器输出的重构数据与输入数据保持一致。通过这种方式,自编码器可以学习到数据的高级特征和结构,实现数据的降维和特征提取。训练目的:最小化输入x和输出x之间的差异(MSE),其中压缩和解压缩函数通过数据驱动方式学习。 编码过程可以表示为一个𝑧 = 𝑓(𝑥)函数,解码过程可以用另一个𝑧 = 𝑔(𝑥)函数表示。 图8:自编码器(AutoEncoder)模型示意 2.2基于AE模型的选股特征降维 特征维数的降低自然会提升模型计算效率。本文采用自编码模型AE的目的在于压缩特征,从而减少特征维度,增加训练速度,减少算力资源消耗,同时更要保证压缩后的特征和压缩前信息损失尽可能小。本文初始特征为40*18的量价时序特征,为了方便进行降维