您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[德邦证券]:德邦金工机器学习专题之六:基于分钟数据的GRU模型在选股策略中的应用初探 - 发现报告
当前位置:首页/其他报告/报告详情/

德邦金工机器学习专题之六:基于分钟数据的GRU模型在选股策略中的应用初探

2024-07-01肖承志德邦证券木***
德邦金工机器学习专题之六:基于分钟数据的GRU模型在选股策略中的应用初探

证券分析师 金融工程专题 基于分钟数据的GRU模型在选股策略中的应用初探 ——德邦金工机器学习专题之六 肖承志 投资要点: 资格编号:S0120521080003 邮箱:xiaocz@tebon.com.cn 证券研究报告|金融工程专题 深度报告 2024年7月1日 研究助理 相关研究 1.《基于模型池的机器学习选股— —德邦金工机器学习专题之五》2022.05.24 2.《动态因子筛选——德邦金工机器学习专题之四》2022.03.09 3.《基于财务与风格因子的机器学习选股——德邦金工机器学习专题之三》2022.01.25 4.《机器学习残差因子表现归因— —德邦金工机器学习专题之二》2021.11.24 5.《利用机器学习捕捉因子的非线性效应——德邦金工机器学习专题之一》2021.10.18 GRU是RNN(循环神经网络)的一种改良,相比传统的RNN以及LSTM有其独特的优点。传统的RNN在处理长序列时存在“长期依赖”问题,即梯度消失或梯度爆炸,导致训练困难。LSTM模型通过其门控单元解决了RNN的梯度问题,GRU 简化了LSTM,在训练时更加高效,并且在许多任务上都取得了与LSTM相当或更好的性能。 GRU对时间序列信息的挖掘能力很强,被广泛运用于多个领域。GRU作为一种循环神经网络架构,特别适用于处理序列数据中的长期依赖关系。目前主要的应用场景涉及自然语言处理(NLP)、语音识别、时间序列预测、推荐系统和音乐生产等 方面。 GRU用于A股信息挖掘能力较强,能直接从基础分钟行情数据挖掘到对未来收益有预测能力的信息。本文直接采用标准化后的一日分钟bar行情数据输入GRU模型,对股票未来一日的opentoopen收益进行预测。模型得到的因子对于未来一 日opentoopen收益率的日平均RankIC为7.5%,对未来收益有较强的预测能力。分十组来看其各组平均收益率呈现较好的单调线性递增特征,空头组未来一日的平均收益率为-0.34%,多头组未来一日收益率为0.24%。因子从风格上看主要偏向于低波动率、低流动性风格。 GRU因子多头组合表现优秀,但其收益对换仓频率以及交易滑点较为敏感。在组合构建时,交易方面对未来收益会有较大影响,使用开盘价交易的情况下超额年化收益率为22.45%(日频),16.95%(周频),11.79%(月频),使用全天VWAP交 易的情况下超额年化收益率为12.91%(日频),9.81%(周频),6.92%(月频)。在交易速率层面策略产生年化约4.87%-9.54%的滑点影响,换仓频率层面存在约6%-10%左右的年化收益率差异。 GRU因子构建指数增强组合表现优秀。GRU因子在构建指数增强组合时,过低的换手频率会导致收益方面有一定损失,但整体表现仍然不错。面对基准选股池整体市值偏小时,收益会有所增强,但是受今年2月份的风险事件影响也较大。具体 来看,沪深300增强组合年化收益率增强7.26%,整体信息比率为1.93,Calmar比率为1.68;中证500增强组合年化收益率增强7.58%,整体信息比率为1.75,Calmar比率为1.81;中证1000增强组合年化收益率增强8.86%,整体信息比率为1.83,Calmar比率为1.35。跟踪误差均在5%以内。 风险提示:人工智能模型挖掘市场规律是对历史数据的总结,市场规律在未来可能发生变化。深度学习模型可能存在过拟合风险。深度学习模型存在随机数影响,训练结果可能无法完全复刻。本文测试均在理想状态下使用开盘价或者VWAP价格进行成交计算,实际交易中可能存在其他影响因素导致成交价格出现偏差。 请务必阅读正文之后的信息披露和法律声明 内容目录 1.GRU模型简介4 1.1.循环神经网络的发展4 1.2.GRU网络的介绍4 1.3.GRU网络的应用场景5 2.GRU模型应用于A股市场选股6 2.1.GRU用于预测股票收益的优势6 2.2.模型搭建6 3.GRU因子表现8 3.1.GRU因子IC8 3.2.GRU因子的风格偏好9 3.3.GRU因子的行业偏好9 3.4.GRU因子多头选股能力11 3.5.组合特征13 4.GRU指数增强效果14 4.1.沪深300指数增强14 4.2.中证500指数增强15 4.3.中证1000指数增强16 5.总结17 6.参考文献18 信息披露19 图表目录 图1:GRU网络结构图4 图2:GRU模型框架图6 图3:GRU模型训练示意图7 图4:GRU因子IC8 图5:GRU因子累积IC8 图6:GRU因子分组收益8 图7:GRU因子与风格因子相关性9 图8:GRU因子与风格因子相关性均值9 图9:GRU因子行业平均得分10 图10:开盘价日频换仓组合净值11 图11:VWAP日频换仓组合净值11 图12:开盘价周频换仓组合净值11 图13:VWAP周频换仓组合净值11 图14:开盘价月频换仓组合净值12 图15:VWAP月频换仓组合净值12 图16:组合行业暴露13 图17:组合风格暴露13 图18:组合成分股分布14 图19:GRU沪深300增强组合净值15 图20:GRU中证500增强组合净值15 图21:GRU中证1000增强组合净值16 表1:GRU因子行业分年度平均得分10 表2:组合表现12 表3:策略分年度超额收益率12 表4:GRU沪深300增强组合分年度表现15 表5:GRU中证500增强组合分年度表现16 表6:GRU中证1000增强组合分年度表现16 1.GRU模型简介 近年来,传统多因子非周期性的失效已成普遍现象,传统模型向深度学习模型发展的趋势已经形成。传统的多因子迭代,是在挖掘有效因子到因子失效再到新因子的挖掘之间不断循环,对人工要求较高。然而,人力有时穷,新的因子思路的产生具有极大的不确定性,迭代进程比较缓慢。早期的思路是追寻模型的智能迭代,让模型在每个时期去选择有效的因子使用,而深度学习模型不仅仅是因子选择的智能迭代,同时将因子构建过程也交给模型训练,解决人工因子挖掘的难点。 1.1.循环神经网络的发展 RNN(循环神经网络)在1980年代开始出现,用于处理序列数据。然而,传统的RNN在处理长序列时存在“长期依赖”问题,即梯度消失或梯度爆炸,导致训练困难。为了解决RNN的长期依赖问题,SeppHochreiter和JürgenSchmidhuber在1997年提出了LSTM(长短期记忆)网络[1]。LSTM通过引入门控机制来控制信息的流动,从而有效地缓解了梯度消失和梯度爆炸问题。 虽然LSTM在解决长期依赖问题上取得了显著成效,但其结构相对复杂。为了简化LSTM并提高其训练效率,KyungHyunCho等人在2014年提出了GRU (门控循环单元)网络[2]。GRU是LSTM的一种简化版本,它只包含两个门控单元:更新门(UpdateGate)和重置门(ResetGate)。更新门负责决定哪些信息需要被保存下来,而重置门负责决定哪些信息需要被遗忘。这种简化的结构使得GRU在训练时更加高效,并且在许多任务上取得了与LSTM相当或更好的性能。其高效的训练速度和优秀的性能使得它成为处理序列数据的强大工具之一。 1.2.GRU网络的介绍 图1:GRU网络结构图 资料来源:pytorch.org,德邦研究所绘制 门控循环单元与普通的循环神经网络之间的关键区别在于:普通的循环神经网络是为了解决数据之间的时序依赖关系,一般它能学习序列中邻近时间的数据点(短期)之间的关系,但对于长期依赖会变得不稳定。而门控循环单元支持隐状态的门控,这意味着模型有专门的机制来确定应该何时更新隐状态,以及应该何时重置隐状态。 GRU网络的数学表达式为: RtXtWxrHt1Whrbr ZtXtWxzHt1Whzbz ~tanhXW RHWb Httxh tt1hhh HZH 1Z~ ttt1 tHt 其中𝐑�为重置门,𝐙�为更新门,表示按元素乘积运算符。 在候选隐状态𝐇̃�中,使用重置门系数𝐑�控制了在加工输入信息的时候使用上一步的隐藏状态中的信息。𝐑�接近0时新输入的信息𝐗�占主导地位,说明当前步的输入包含的信息与前面的信息关联性很小;𝐑�接近1时新输入的信息和前面的长期信息有较大关联性,需要综合考虑来产生当前步的信息。 最后,计算时间t时刻的隐状态的输出,它结合更新门𝐙�以及上一步隐状态 𝐇̃𝐭−�和本步新的候选隐状态𝐇̃�来计算最终的输出。 这些设计一方面可以帮助我们处理循环神经网络中的梯度消失问题,另一方面可以更好地捕获股票时间序列中的信息,类似时间序列中常用的指数移动平均的方式,历史信息不断衰减,最新的信息占有更大的权重。 1.3.GRU网络的应用场景 GRU(门控循环单元)的应用场景广泛,其作为一种循环神经网络架构,特别适用于处理序列数据中的长期依赖关系。目前主要的应用场景涉及自然语言处理(NLP)、语音识别、时间序列预测、推荐系统和音乐生产等方面。 自然语言处理方面,GRU在语言建模、情感分析和机器翻译上都有不错的表现。GRU可以有效地捕捉文本序列中的长期依赖关系,从而用于预测给定文本序列中的下一个单词或字符。GRU可以处理长文本,并理解其中的情感倾向,这在社交媒体分析、电影评论分类等场景中非常有用。在翻译过程中,GRU能够处理源语言和目标语言之间的长期依赖关系,从而生成更准确的翻译结果。 GRU在语音识别任务中表现出色,可以处理连续的语音信号,并将其转换为文本。其门控机制有助于模型选择性地保留或忘记之前时间步的信息,从而更准确地识别语音。 在金融、气象、交通等领域,GRU可以用于预测时间序列数据,如股票价格、天气变化、交通流量等。通过捕捉数据中的长期依赖关系,GRU可以生成更准确 的预测结果。 虽然GRU最初是为处理序列数据而设计的,但近年来它也被应用于计算机视觉领域。例如,在视频分析任务中,GRU可以处理连续的图像帧,并捕捉其中的运动模式和对象关系。 在推荐系统中,GRU可以处理用户的历史行为数据,并捕捉其中的长期依赖关系。这有助于模型更准确地理解用户的兴趣和偏好,从而生成更个性化的推荐结果。 GRU也可以用于音乐生成任务。通过训练模型学习音乐序列中的长期依赖关系,GRU可以生成具有连贯性和音乐性的新音乐作品。 2.GRU模型应用于A股市场选股 2.1.GRU用于预测股票收益的优势 GRU能够通过其独特的门控机制有效捕获股票数据中的长期依赖关系。在股票价格预测中,能够综合考虑过去的价格走势、交易量等对未来价格有至关重要影响力的信息。 门控机制允许模型选择性地保留和更新信息,从而能够更加充分的使用历史数据信息来预测股票的未来收益。 在设计角度上看GRU具有更好的训练稳定性和泛化能力。这意味着即使在数据噪声较大或模型结构较为复杂的情况下,GRU仍能够保持较好的预测性能。 2.2.模型搭建 图2:GRU模型框架图 资料来源:德邦研究所绘制 为了展示GRU网络的信息挖掘能力,我们直接选取基础行情数据作为模型输入,网络参数不做复杂的调整,简单设置32个GRU隐藏元挖掘到32个隐含因子,最后32个隐含因子直接取均值得到模型输出,具体模型框架如上图所示。 模型参数以及输入和预测目标设定: 数据集:2018年1月1日-2024年6月21日的分钟频数据。 训练股票池:全市场股票,剔除st、*st、上市不满1年、停牌无法交易的股票。 输入:选取一日的分钟bar行情作为模型输入,共包含开盘价、最高价、最低价、收盘价、成交量、成交额和成交笔数7个特征,特征在日内240分钟上做时序标准化。 预测目标:未来1个交易日的opentoopen收益率,每日做截面标准化。 Input_size:7Hidden_size:32Bias:False Optim:Adam(learning_rate=0.001)Loss: