AI智能总结
摘要 GAN_GRU因子:基于前期报告《量价时序特征挖掘模型在深度学习因子中的应用》(2024年7月11日)中提到的GAN_GRU模型,定期更新GAN_GRU因子自2024年以来表现情况。其中GAN_GRU因子为利用生成式对抗神经网络GAN模型进行量价时序特征处理后再利用GRU模型进行时序特征编码得到的选股因子。 表现跟踪:自2019年1月至2025年4月,月频调仓的基础上,GAN_GRU因子在全A范围内IC均值11.73%,多头组合年化超额收益率24.89%;截至2025年4月28日,GAN_GRU最新一期IC为0.22%,近一年IC均值为11.44%。 因子表现:截至2025年4月,4月当期因子IC排名前五的行业分别为银行、钢铁、非银金融、纺织服饰、家用电器;近一年因子IC均值排名前五的行业分别为非银金融、建筑装饰、交通运输、通信、商贸零售。4月当期多头组合超额收益最高的五个行业(除综合)分别为纺织服饰、基础化工、汽车、轻工制造以及食品饮料,多头组合相对行业指数超额收益分别为6.78%、5.61%、3.32%、2.45%以及2.34%;近一年来看,多头组合超额收益最高的五个行业(除综合)分别为家用电器、石油石化、有色金属、建筑材料以及通信,超额收益分别为5.56%、5.39%、4.77%、4.58%以及4.43%。 2025年5月多头组合:根据最新一期因子值筛选出排名前十的多头组合为:国网英大、海容冷链、陕西能源、广生堂、完美世界、永泰能源、联域股份、中捷资源、达实智能、巨人网络。 风险提示:本报告结论完全基于公开的历史数据,若未来市场环境发生变化,量化因子的实际表现可能与本文的结论有所差异,同时可能存在第三方数据提供不准确风险。文中根据量化因子得到的个股预测结果不构成投资收益的保证或投资建议,为因子含义阐述以及有效性的进一步检验,投资者需充分认知自身风险偏好以及风险承受能力,市场有风险,投资需谨慎。 1前言 本篇,我们基于西南金工前期发布报告《量价时序特征挖掘模型在深度学习因子中的应用》(2024年7月11日)中提到的GAN_GRU模型,定期更新GAN_GRU因子自2024年以来表现情况。其中GAN_GRU因子为利用生成式对抗神经网络GAN模型进行量价时序特征处理后再利用GRU模型进行时序特征编码得到的选股因子。 2GAN_GRU模型简介 2.1GRU模型基本假设 前期报告《量价时序特征挖掘模型在深度学习因子中的应用》中,主要构建了GRU+MLP的神经网络股票收益预测基本模型,其中模型细节如下: 量价特征:包括收盘价、开盘价、成交量、换手率等在内的18个量价特征。 调仓频率:以月频调仓方式进行预测和回测。 训练与预测方式: (1)训练数据及输入特征设定:所有个股过去400天内的18个量价特征,每5个交易日做一次特征采样。特征采样形状为40*18,即利用过去40天的量价特征来预测未来20个交易日的累计收益。 (2)训练集验证集比例:80%:20%。 (3)数据处理:每次采样的40天内,每个特征在时序上去极值+标准化、每个特征在个股层面上截面标准化。 (4)模型训练方式:半年滚动训练,即每半年做一次模型训练,并用以未来半年收益的预测,训练时间点为每年的6月30日及12月31日。 (5)股票筛选方式:选取截面所有股票,剔除ST及上市不足半年的股票。 (6)训练样本筛选方式:剔除label为空值的样本。 (7)超参数:batch_size为截面股票数量、优化器Adam、学习速率1e-4、损失函数IC、早停轮数10、最大训练轮数50。 表1:深度学习选股量价特征表 图1:深度学习选股模型结构 本文通过构建两层GRU层,即GRU(128,128),并在后面加入MLP(256,64,64),并将模型最后输出的预测收益pRet作为选股因子。对因子的测试均建立在对因子已做行业市值中性化+标准化处理,后文将不再赘述。 2.2GAN模型简介 GAN生成式对抗网络 (Generative Adversarial Networks,GANs),是由Ian Goodfellow等人于2014年提出的一种深度学习模型。该模型主要包括生成器(Generat or)和判别器(Discriminator)两个部分。生成器的目标是生成看起来真实的数据,判别器目标是区分真实数据和生成器生成的数据。两者在训练过程中相互竞争,从而使生成器生成的数据越来越逼真。 生成器(G) 生成器目标是学习数据的真实分布,生成看起来像真实数据的样本。它接收一个随机噪声(通常是高斯分布或均匀分布)作为输入,通过一系列的非线性变换生成数据。生成器的损失函数通常使用判别器的输出进行计算,具体来说,生成器希望判别器认为生成的数据是真实的,因此生成器的目标是最大化判别器输出为真的概率,其损失函数可以写为: 𝐿= −𝔼 [log(𝐷(𝐺(𝑧)))] (𝑧) 𝐺 𝑧~𝑃𝑧 其中z表示随机噪声(一般为服从高斯分布的随机噪声),𝐺(𝑧)表示生成器生成的数据,𝐷(𝐺(𝑧))表示为判别器对生成数据的输出概率,即判别器判断生成器生成数据为真实数据的概率。生成器的训练过程可以分为以下几个步骤: (1)生成噪声数据:从随机噪声分布中采样一组噪声数据z。 (2)生成假数据:通过生成器𝐺将噪声数据z转换成生成数据𝐺(𝑧)。 (3)计算生成器损失:将生成的数据输入判别器D,计算生成器的损失𝐿。 𝐺 (4)反向传播和更新生成器参数:通过反向传播算法计算生成器的梯度,并使用梯度下降算法更新生成器的参数,以最小化损失𝐿。 𝐺 判别器(D) 判别器目标是区分真实数据和生成器生成的数据。它接收一组数据作为输入,并输出一个概率,表示输入数据为真实数据的概率。判别器的损失函数由两部分组成:一部分是对真实数据的损失,另一部分是对生成数据的损失。具体来说,判别器希望最大化对真实数据的输出概率,同时最小化对生成数据的输出概率,其损失函数可以表示为: [ ()] logD𝑥−𝔼 𝐿=−𝔼 [log(1−𝐷(𝐺(𝑧)))] ()𝑥 ()𝑧~𝑃𝑧𝑧 𝐷 𝑥~𝑃 𝑑𝑎𝑡𝑎 其中,𝑥是真实数据,D(𝑥)是判别器对真实数据的输出概率,𝐷(𝐺(𝑧)))是判别器对生成数据的输出概率。生成器的训练过程可以分为以下几个步骤: (1)采样真实数据:从真实数据分布中采样一组真实数据𝑥。 (2)生成假数据:从随机噪声分布中采样一组噪声𝑧,并通过生成器𝐺生成数据𝐺(𝑧)。 (3)计算判别器损失:将真实数据𝑥和生成数据𝐺(𝑧)输入判别器𝐺,计算判别器损失𝐿。 𝐷 (4)反向传播更新判别器参数:通过反向传播算法计算判别器的梯度,并使用梯度下降算法更新判别器的参数,以最小化损失𝐿。 𝐷 GAN模型 (G+D) GAN的训练过程是生成器和判别器交替训练的过程,具体步骤参考如下: Step1.初始化生成器和判别器的参数。 Step2.迭代训练过程: (1)训练判别器: 1)从真实数据分布中采样一组真实数据x。 2)从随机噪声分布中采样一组噪声数据z,并通过生成器G生成数据G(z)。 3)计算判别器损失L并更新判别器参数。 D (2)训练生成器: 1)从随机噪声分布中采样一组噪声数据𝑧。 2)通过生成器𝐺生成数据𝐺(𝑧)。 3)计算生成器损失𝐿并更新生成器参数。 𝐺 Step3.重复上述步骤,直到收敛。 通过这种对抗训练,生成器生成特征的能力逐渐提升,其生成的特征也越来越逼真,而判别器区分真假特征的能力也在逐渐提升,变得越来越擅长区分真假特征。理想状态下,生成模型能够生成无法被判别模型区分的完美数据样本,判别模型无法区分真实样本与生成样本。 图2:生成对抗网络(GAN)模型示意 2.3GAN特征生成模型构建 LSTM生成器+CNN判别器:为了适配本文的量价特征模式,希望处理后的特征仍然能保留时序的性质,因此本文采取可以保留输入特征时序性的LSTM模型做为生成器(G)。 而量价时序特征本质上是二维数据特征“图片”,因此本文则采取常用于二维图像处理的CNN模型做为识别特征的判别器(D)。 卷积神经网络(CNN):一种专门用于处理网格化数据(如图像、视频)的深度学习模型,核心思想是利用卷积层和池化层来有效地提取输入数据的特征。CNN能够逐渐学习到输入数据的抽象特征,从而实现对复杂模式的学习和识别。本文将CNN模型用以匹配二维构造的量价时序特征,并学习量价时序二维特征“图片”的内在特性。 图3:卷积神经网络(CNN)模型示意 对于训练完成的GAN模型,本文利用其中的生成器部分进行特征生成,具体生成器生成特征的过程为输入原始量价时序特征,Input_Shape=(40,18),输出经LSTM处理后的量价时序特征,Input_Shape=(40,18)。 图4:GAN_GRU模型示意 3 GAN_GRU因子表现 自2019年1月至2025年4月,月频调仓的基础上,GAN_GRU因子在全A范围内IC均值11.73%,多头组合年化超额收益率24.89%;截至2025年4月28日,GAN_GRU最新一期IC为0.22%,近一年IC均值为11.44%。 表2:GAN_GRU因子历史表现 在申万一级行业分类下,测试GAN_GRU因子近期在各个行业内部的表现。截至2025年4月,4月当期因子IC排名前五的行业分别为银行、钢铁、非银金融、纺织服饰、家用电器,IC分别为33.46%、30.85%、20.17%、18.53%以及13.98%;近一年因子IC均值排名前五的行业分别为非银金融、建筑装饰、交通运输、通信、商贸零售,IC均值分别为21.42%、18.72%、18.49%、17.62%以及17.45%。 图5:GAN_GRU因子各行业近期IC表现 继续测试GAN_GRU在各申万一级行业中的多头组合表现情况。截至2025年4月,4月当期多头组合超额收益最高的五个行业(除综合)分别为纺织服饰、基础化工、汽车、轻工制造以及食品饮料,多头组合相对行业指数超额收益分别为6.78%、5.61%、3.32%、2.45%以及2.34%。此外在31个申万一级行业中,有11个行业多头组合未跑赢行业指数。 近一年来看,多头组合超额收益最高的五个行业(除综合)分别为家用电器、石油石化、有色金属、建筑材料以及通信,超额收益分别为5.56%、5.39%、4.77%、4.58%以及4.43%。 且31个申万一级行业中,GAN_GRU因子多头组合近一年均跑赢对应申万一级行业指数。 图6:GAN_GRU因子各行业近期多头组合表 4GAN_GRU因子多头组合 截至最新日期2025年4月28日,对GAN_GRU模型输出的多头组合(全A股因子值前10%)内,筛选出各申万一级行业(除综合行业)内排名第一的股票如下: 表3:2025年4月末模型输出各行业排名第一个股 根据因子得分筛选排名前10的股票如下: 表4:因子得分排名前十的个股 5风险提示 本报告结论完全基于公开的历史数据,若未来市场环境发生变化,量化因子的实际表现可能与本文的结论有所差异,同时可能存在第三方数据提供不准确风险。文中根据量化因子得到的个股预测结果不构成投资收益的保证或投资建议,为因子含义阐述以及有效性的进一步检验,投资者需充分认知自身风险偏好以及风险承受能力,市场有风险,投资需谨慎。