量化专题报告 StockFormer:基于Transformer的强化学习模型探究 2024年07月30日 强化学习通过训练智能体直接输出投资决策。强化学习是一种机器学习方 法,通过与环境的交互来训练智能体,使其在不同状态下采取能够最大化累积奖励的行动。在强化学习中,智能体(Agent)通过与环境的互动不断学习,通过奖励和惩罚来调整其策略,以便在长期内获得最大回报。在股票市场中,强化学习可以通过市场状态的输入,不断调整交易策略,最大化长期的投资回报。强化学习在金融领域中的应用主要在状态输入,奖励函数及优化算法三个 分析师叶尔乐 方面进行了创新。 执业证书:S0100522110002 SAC强化学习加入多项改进以避免模型过拟合。在SAC中,价值网络是一个双Q网络(DoubleDQN),即使用两个独立的Q网络的同时对目标函数进 邮箱:yeerle@mszq.com研究助理韵天雨执业证书:S0100122120002 行估计,在目标值计算时选择最小的一个,从而降低Q值的高估风险,防止模 邮箱:yuntianyu@mszq.com 型陷入局部最优或者过拟合。此外,SAC在策略优化过程中引入了熵正则化项,熵正则化项的引入使得策略在早期阶段保持一定的随机性,避免策略网络 相关研究 和价值网络的学习模式过于重合以陷入局部最优,从而提高整体的策略探索能 1.量化周报:量起来前继续保持谨慎-2024/ 力。对于熵正则项,SAC还引入了自适应熵系数α,通过优化熵系数来自动调整 07/28 策略的探索程度,使得模型能够根据当前的训练情况动态调整探索与开发的平衡。 StockFormer模型利用Transformer深度学习进行预测并优化交易决 2.量化专题报告:超额收益增长模型AEG:PE估值的内涵逻辑-2024/07/253.量化分析报告:公募“逆风”的原因解析与应对思考-2024/07/24 策。SiyuGao等人在2023年IJCAI上发表的论文StockFormer:Learning 4.量化周报:普涨仍有赖于流动性整体趋势 HybridTradingMachineswithPredictiveCoding中采用SAC强化学习作为 确认-2024/07/21 基础框架,并采用了3个Transformer模型分别预测市场相关状态,短期收益状态与长期收益状态作为强化学习的输入状态。然后在SAC强化学习中将3个 5.基金分析报告:基金季报2024Q2:“茅宁”落幕,拥抱电子通信-2024/07/20 隐状态进行合成,在组合状态空间中优化交易决策。利用沪深300成分股做训练,取得了优于基线Transformer模型的效果。 深度学习+强化学习较深度学习+组合优化收益弹性更高。我们将 Transformer模型作为本篇研究中的基模型构建Transformer因子的指数增强组合,再与Transformer+SAC强化学习算法形成对照。在Transformer模型中,我们采用日频行情与20个日频技术因子作为输入,预测个股周度收益排序作为因子,构建的指数增强组合2019年以来在中证1000内年化收益17.2%,超额收益13.8%,信息比率2.36,表现稳定。在StockFormer模型中,我们替换奖励函数为超额收益-跟踪误差-交易费用,并修改前3个Transformer模型,输出每日交易行为与持仓,策略年化收益32.7%,超额收益29.1%,信息比率2.57,超额收益波动率较大,但主要为上行波动,模型总体好于Transformer的指数增强组合。对策略持仓进行风格分析,发现模型对于市场主线识别能力较强,通过风格择时带来一定超额收益。 风险提示:量化模型基于历史数据,市场未来可能发生变化,策略模型有 失效可能。 目录 1什么是强化学习?3 1.1强化学习的概念与分类3 1.2强化学习在金融领域中的应用5 1.3软演员-评论家(SAC)算法6 2StockFormer强化学习交易策略8 2.1利用Transformer构造市场状态8 2.2StockFormer强化学习10 3模型实证与分析12 3.1Transformer模型12 3.2StockFormer强化学习模型15 4总结:用“在线”与“嵌入”对抗超额下降18 5参考文献20 6风险提示21 插图目录22 表格目录22 1什么是强化学习? 1.1强化学习的概念与分类 强化学习是一种机器学习方法,通过与环境的交互来训练智能体,使其在不同状态下采取能够最大化累积奖励的行动。其目标是通过试错学习(trial-and-error)找到最优策略,使得在长时间内累积的奖励最大化。在强化学习中,智能体(Agent)通过与环境的互动不断学习,通过奖励和惩罚来调整其策略,以便在长期内获得最大回报。在股票市场中,强化学习可以通过市场状态的输入,不断调整交易策略,最大化长期的投资回报。 图1:强化学习示意 资料来源:民生证券研究院绘制 尽管强化学习与深度学习都是机器学习方法,但其在输入数据,模型结构,模型输出与目标等方面都有所不同,总结对比如下: 方面 强化学习(RL) 深度学习(DL) 输入数据 当前市场状态(量价等)、历史状态与奖励反馈 量价时间序列、技术指标与预测标签 模型结构 在线动态调整策略,常见结构包括DQN、SAC等 多层神经网络结构,如GRU,LSTM,Transformer等 模型输出 动作决策,如买入特定比例、卖出特定比例等 对于未来收益,排序,涨跌概率等的预测 目标 最大化长期累积奖励,如组合净值,超额净值等 最小化预测误差,最大化预测IC等 图2:强化学习与深度学习对比 资料来源:民生证券研究院绘制 除此之外,强化学习的数据输入不是固定的。在强化学习中,数据是在智能体与环境交互的过程中得到的。强化学习是在线训练的,如果智能体不采取某个决策动作,那么该动作对应的数据就永远无法被观测到,所以当前智能体的训练数据来自之前智能体的决策结果。因此,智能体的策略不同,与环境交互所产生的数据分布就不同。 图3:强化学习训练数据的产生 资料来源:YaoQinetal.2017,民生证券研究院 强化学习有很多类别,主要分为依赖模型的强化学习(如AlphaGo)与无模型强化学习。多数强化学习模型并无依赖模型,即不尝试理解或预测环境的动态 (如状态转移概率和奖励结构),而是直接从与环境的交互中学习如何行动。最常见的Q学习及其衍生算法都属于无模型的强化学习。 图4:强化学习类别 资料来源:民生证券研究院绘制 本篇研究中我们用到了结合基于价值与基于策略强化学习的结合,即演员-评论家框架(Actor-Critic)。这类方法结合了价值模型和策略模型的方法,利用价值函数来评估策略的好坏,并根据这个评估来更新策略。Actor-Critic是囊括一系列算法的整体架构,目前很多高效的前沿算法都属于Actor-Critic算法;需要明确的是,Actor-Critic算法本质上是基于策略的算法,因为这一系列算法的目标都是优化一个带参数的策略,只是会额外学习价值函数,从而帮助策略函数更好地学习。 1.2强化学习在金融领域中的应用 在金融领域中,强化学习被大量应用于股票交易决策制定中。在强化学习进行交易决策的框架中,主要可以在以下几个方面进行不同选择: 状态输入:当前市场环境。如过去一段时间的股票量价信息,当前市场风格,基本面等;或者深度学习输出的对于股票收益的预测状态。 奖励函数:交易后的累计奖励,即组合净值,超额净值,经过风险调整后的累计收益等等。 模型算法及结构:Q学习,深度Q网络(DQN),策略梯度,深度确定性策略(DDPG),软演员-评论家(SAC)等强化学习算法来训练智能体,使其学会在不同市场状态下采取最优的交易动作。同时,在强化学习中包含深度神经网络的部分,也可选取不同的神经网络模型结构。 在金融领域中,已有许多尝试使用强化学习(RL)方法进行交易决策的论文。这些论文主要在以上三点进行了创新。对于输入状态的定义,YueyangZhong等人在2020年IJCAI上发表的论文Data-DrivenMarket-MakingviaModel-FreeLearning中,作者用高频订单数据作为Q学习的输入状态,以实现高频交易决策,取得了远好于基准的表现;Yuh-JongHu等人用GRU预测股票收益表示作为市场状态,并且在奖励函数中加入了风险调整;在模型算法及结构上的创新较多,如Suri等人引入了分层结构的强化学习,最终较基线模型提升了交易胜率。 图5:强化学习文献综述 资料来源:Zhong,Y《Data-drivenmarket-makingviamodel-freelearning》,Hu,Y《Deepreinforcementlearningforoptimizingfinanceportfoliomanagement》,Suri,K《TradeR:Practicaldeephierarchicalreinforcementlearningfortradeexecution》民生证券研究院绘制 1.3软演员-评论家(SAC)算法 本篇研究中用到了SAC强化学习算法,SAC(SoftActor-Critic)算法是一种基于actor-critic框架的深度强化学习方法。相比于传统AC框架,SAC采用软更新(softupdate)策略,即使用指数移动平均(EMA)来更新目标Q网络参数,这种更新方式使得目标Q网络的变化更加平滑,从而提高训练过程的稳定性。SAC模型具体网络结构如下: 图6:软演员-评论家(SAC)模型结构 资料来源:民生证券研究院绘制 在上图中,我们输入市场状态(个股量价,市场风格等)至SAC的特征解耦层InputEmbedder与Middleware中,生成交易动作(高斯)分布的参数;随后将从高斯分布抽样的交易动作池,即对每只股票的买入卖出金额或比例,输入价值网络中进行评分。在SAC中,价值网络是一个双Q网络(DoubleDQN),即使用两个独立的Q网络同时对目标函数进行估计,在目标值计算时选择最小的一个,从而降低Q值的高估风险,防止模型陷入局部最优或者过拟合。虽然增加更多的Q网络有可能进一步防止局部过拟合,但需要权衡计算成本、收敛性和实现复杂度等因素,一般实验中不选择更多Q网络进行优化。 此外,SAC在策略优化过程中引入了熵正则化项以鼓励探索。具体地,我们在目标函数中做出如下修改: � 𝐽�=∑𝐸𝜋𝜃[𝑟�+𝛾𝑠𝑡+1~𝑝(𝑠𝑡+1|𝑠𝑡,𝑎𝑡)[𝑄(𝑆𝑡+1,𝑎𝑡+1)−�log𝜋𝜃(𝑎𝑡+1|𝑠𝑡+1)]] 𝑡=0 其中,𝐸𝜋�表示通过策略𝜋�生成的动作的期望值,𝑟�表示在时间步�采取动作 𝑎�后得到的即时奖励,即股票收益。γ表示折现因子,即用于折扣未来奖励的权重,值在0到1之间,γ越接近1表示越重视未来奖励,越接近0表示越重视即时奖励,𝑠𝑡+1~𝑝(𝑠𝑡+1|𝑠𝑡,𝑎𝑡)表示在状态𝑠�采取动作𝑎�后,转移到下一个状态𝑠𝑡+1的期望值,𝑄(𝑆𝑡+1,𝑎𝑡+1)则表示在下一个状态下预期奖励的估计。α表示控制策略熵的权重,高熵策略意味着更高的探索性,而低熵策略意味着更高的确定性。 熵正则化项的引入使得策略在早期阶段保持一定的随机性,避免策略网络和价值网络的学习模式过于重合,即“演员和评论家的审美过度集中”以陷入局部最优,从而提高整体的策略探索能力。对于熵正则项,SAC还引入了自适应熵系数α,通过优化熵系数来自动调整策略的探索程度,使得模型能够根据当前的训练情况动态调整探索与开发的平衡。 图7:最大熵强化学习示意图 资料来源:民生证券研究院绘制 2StockFormer强化学习交易策略 本篇研究我们参考了SiyuGao等人在2023年IJCAI上发表的论文StockFormer:LearningHybridT