我们在机器学习系列第一篇报告《机器学习系列(1):使用深度强化学习模型探索因子构建范式》中使用强化学习模型生成因子表达式,所挖掘的因子在样本外有效性较为显著。本篇报告作为机器学习系列报告的第二篇,我们将回归强化学习的优势领域:组合优化任务。
我们将深度强化学习模型应用到行业配置(行业轮动)中,充分发挥强化学习在序列决策任务上的优势,让强化学习模型选出可能具有相对优势的行业。在尝试了多种创新性训练方法以避免模型的过拟合等关键问题后,我们发现使用强化学习模型轮动的训练框架可以最终得到兼顾稳定与收益的结果。
强化学习的优势领域:组合优化
我们认为强化学习相较于其他传统机器学习模型而言,与环境交互更新策略的方式使其更加适用于序列决策任务,这使得其与多为时序类型的金融数据更加匹配。我们使用强化学习模型在金融领域较为经典的FinRL框架,全面梳理并测试PPO、TRPO、SAC、A2C、DDPG和TG3六大主流强化学习模型在行业配置上的表现。
单次训练模式:缺乏确定性的收益
由于机器学习尤其是强化学习的高复杂度,模型稳定性一直是业界较为关注的议题。我们首先使用单次切分的方法把样本数据以2022年1月为界划分成样本内外。在样本内进行模型训练,在样本外验证其有效性。我们发现周频调仓下相对于行业等权和因子等权来说,两年期样本外分别获得11.9%和6.0%的年化超额收益,但并不是所有随机数种子的样本外都可以达到这一理想结果。
在对其稳定性进一步测试时,我们使用了不同强化学习模型、超参数、随机数种子以及不同样本区间起点等条件测试其对于训练效果的影响。我们发现训练敏感性方面:模型选择>样本区间>随机数种子>关键超参数。以上不同选择带来的超额收益率极差可达20%以上。因此单次训练模型面对的样本外不稳定风险是我们接下来主要解决的问题。
平衡收益与风险:拓展搜参vs模型轮动
为了缓解模型的不稳定性,我们尝试拓展训练超参搜索和模型滚动两种方法对模型进行更新训练。两种方式都确保模型能够及时接受最新的市场数据,实验表明模型轮动的思路更好地兼顾了稳定性与高收益。
我们首先使用拓展训练的模型,固定每一期样本内长度,样本外数据则采用外推半年的方法确定,下一期样本内截止时间依次推后半年。在每一期样本内的训练中我们引入Optuna框架寻找最优参数,将样本内最优的参数组合及模型应用于当期样本外。拓展训练结果显示相对于单次训练的平均效果并没有太明显的超额收益,尤其是在因子等权超额的角度来看,和单次训练差距不大。
而使用滚动模型框架时我们测试得到在因子等权和行业等权的超额收益对比单次训练的样本外平均水平都有了显著提升。模型滚动框架相对行业等权样本外年化超额收益16.4%,相对于因子等权年化超额收益7.7%。稳定性方面,在多次滚动中模型战胜等权基准的胜率均达到100%,表现也显著优于单次训练的结果,效率上并行训练方案也比搜参方案平均提升超过5倍。
风险提示:样本内测试结果不代表样本外表现的可持续性,不同测试框架可能会带来测试结果的差异,公众号内容仅为报告原文节选,获取原报告请联系分析师或相应销售老师。
我们在《机器学习系列(1):使用深度强化学习模型探索因子构建范式》提出强化学习具有四个特点:1.适合处理序列决策任务;2.输入数据无需遵从独立同分布的假设;3.通过与环境交互探索来不断优化当前策略;4.数据无需具备标签。针对行业序列决策任务,我们训练强化学习智能体与市场环境进行交互,这个交互过程可以通过马尔可夫决策过程进一步展开说明。当下主流的强化学习算法框架为演员-评论家算法(Actor-Critic),代表性的模型包括SAC和A2C与PPO,它们也是本篇报告行业配置预测框架所使用的主要方法。
马尔可夫决策过程
强化学习模型的数学基本框架为马尔可夫决策过程(MDP),它共包含五个核心元素:(S, A, T, R, γ),其目标为最大化每一个回合累计奖励值,公式如下,其中P表示当前回合的总步长。对标行业配置任务,每个元素的定义如下:
► S表示可观测的数据集合(强化学习示意图中的状态集合),在行业配置任务中,它可以定义为行业因子的集合,行业量价数据,交易账户余额,每只行业持仓信息等。
► A表示动作集合(强化学习示意图中的动作集合),在行业配置任务中,它被定义为一个长度为N(行业数量),元素值域为[0, 1]的向量,表示模型对N个行业未来收益的打分。在后续利用该动作向量与环境时,根据打分排序取前六名行业进行等权买入操作。
► T表示状态转移概率方程。
► R表示奖励函数(强化学习示意图中的),可以根据预期的策略进行针对性的设计,在行业配置任务中,它可以被定义为净值变化率、相较于行业等权基准的超额收益夏普比率等。
► γ表示折扣因子,值域为(0,1),表示对未来奖励值打折扣。有些时候,可以把折扣因子设为0,智能体只关注当前的奖励;也可以把折扣因子设为1,对未来的奖励并没有打折扣,未来获得的奖励与当前的奖励是一样的。折扣因子可以作为超参数进行调整。
强化学习模型以序列决策任务见长,但同时模型收益性和稳定性的权衡也是备受讨论的话题之一。尤其是在金融领域,如果收益的稳定性无法保障,那么回测出来的高收益曲线也只是空中楼阁。本文将在这一章首先提出强化学习模型在时序数据预测或者组合优化任务中的一般框架:从数据的处理到模型的构建再到模型表现的测试。
在对其稳定性进一步测试时,我们使用了不同超参数、随机数种子以及不同样本区间起点等数据测试其对于模型的影响。我们发现模型敏感性方面:模型选择>样本区间>随机数种子>关键超参数。以上不同选择带来的超额收益率极差可达20%以上。因此单次训练模型面对的样本外不稳定风险是我们主要面对的问题。
数据集构造
本文采用中信一级行业作为行业配置任务的数据来源。考虑到模型收敛对样本量的需求,删除历史数据长度较短的综合金融(CI005030.WI)行业,保留其他29个行业。根据下图所展示的有效行业价量及基本面因子,将数据集的长度范围定义为2013/07/09-2024/03/31,根据所采用的具体训练模式决定训练集和测试集的划分节点。其中,训练集的样本数据用于训练模型参数,而测试集数据则用于检验模型样本外表现及策略稳定性。
我们使用中金量化及ESG团队开发的因子库中的因子作为模型的输入数据。中金量化及ESG因子库现存有数百个较低相关的核心因子,包含价量、基本面、另类数据和高频数据因子共11类。具体因子构建方式及表现见《量化多因子系列(12):高频因子手册》、《另类数据策略(2):如何优化新闻文本因子》、《量化多因子系列(7):价量因子手册》
和《量化多因子系列(5):基本面因子手册》。具体入选因子测试结果见报告原文。
预测框架基础设定
结合任务特性,强化学习模型有如下设定:状态空间为 (代表输入的因子数量,本文有);行为空间为 ,表示智能体对行业未来收益预测的打分;奖励函数定义为强化学习策略相较于行业等权基准的超额收益。具体而言,对于每个交易日,智能体可以获得截至该日期的行业因子数据,并输出对下期行业收益预测的打分;在交易日开盘价等权买入预测得分最高的六个行业,定义换仓频率为周频以及0.03%比例的手续费,随后环境依据调仓前后所获收益计算奖励值反馈给智能体,完成一次交互闭环。
训练过程中,每个回合包含的步数;模型训练步数设定为;折扣因子 ;强化学习模型的底层网络结构采用全连接网络,激活函数采用ReLU函数;优化器采用Adam优化器。本文所有实验均可采用一张GeForce RTX 3080Ti完成,强化学习模型代码主要基于开源三方库Stable-Baselines3。
本文采用如下两个对照基准与强化学习模型的策略进行比较,并采用三个指标对策略性能进行评价:年化收益率、夏普比率和最大回撤。
► 行业等权基准:采用与强化学习模型相同的交易策略等权买入29个行业。
► 因子等权基准:采用与强化学习模型相同的输入因子和交易策略。结合因子方向,计算11个因子求和后的得分,选择得分排名最高的六个行业等权买入。
单次训练:以PPO模型为例
本节强化学习模型首先采用单次训练模式,侧重于数据集的静态使用,模型训练效率较高。我们将数据集范围中的2013/07/09-2021/12/31定义为训练集,2022/01/04-2024/03/31定义为测试集,并选择当下主流的强化学习算法PPO(Proximal Policy Optimization)模型作为实验的切入点。该方法在TRPO算法的基础上通过引入剪切机制限制策略更新幅度,有效降低了原有方法的复杂性,具有稳定性高、实现简单以及样本利用率高等优势。
资料来源:FinRL: Deep reinforcement learning framework to automate trading in quantitative finance. Xiaoyang Liu. 2021,中金公司研究部
全样本回测结果表明PPO模型输出的策略具有较为有效且稳定的超额收益。与行业等权基准相比,模型策略具有持续为正的超额收益:2023年的超额收益率和夏普比率分别为17.18%及2.488。与采用同样输入数据的因子等权基准相比,PPO模型在大多数年份中具有正向的超额表现,2023年的超额收益率及夏普比率为9.98%和1.246。上述实验现象说明如下两点结论:
► 筛选得到的因子组合在周频的行业配置任务下依然能够稳定的战胜行业等权基准;
► 同样输入的情况下,PPO模型优化的策略相比因子等权基准策略具有更好的收益表现。
图表2:PPO模型相较于两等权基准方法分年度性能表现统计
注:1)统计时间为2013-07-09至2024-03-31;2)2013-2021为训练集样本区间,2022-2024为测试集样本区间;3)调仓频率为周频
资料来源:Wind,中金公司研究部
注:1)统计时间为2013-07-09至2021-12-31;2)调仓频率为周频;3)超额收益的比较基准为行业等权基准和因子等权基准
资料来源:Wind,中金公司研究部
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)超额收益的比较基准为行业等权基准和因子等权基准
资料来源:Wind,中金公司研究部
兼顾收益和稳定性的调仓策略:周频
我们以日频、周频和月频作为调仓周期训练PPO模型,根据样本外回测表现可以发现:采用日频调仓策略得到的强化学习模型相较于行业等权和因子等权基准均具有不错的超额收益,然而它面临高达71.96%的换手率,不具有实操性。而采用月频调仓策略得到的强化学习模型性能则无法战胜因子等权基准,我们认为这是由于数据利用率过低导致模型未能收敛。综合比较,采用周频调仓策略的模型则能够较好的兼顾模型的收益性(均优于行业等权基准和因子等权基准)和稳定性(换手率为16.96%),故本报告中将行业配置任务的调仓频率定义为周频。
图表5:PPO模型采用不同交易频率训练后样本外回测表现
注:统计时间为2022-01-04至2024-03-31;2)日频调仓周期为1个交易日,周频调仓周期为5个交易日,月频调仓周期为20个交易日
资料来源:Wind,中金公司研究部
强化学习的敏感性测试:模型选择、随机数种子、超参数与样本区间
本节将主要就强化学习模型在单次训练模式下的稳定性进行更为深入探讨,包括强化学习模型的选择、PPO模型对超参选择的稳定性、以及对样本区间的敏感性检测。
强化学习模型的选择
考虑到本文所处理的行业配置任务连续动作空间的特点,我们选择了六类主流的强化学习算法进行比较:PPO、TRPO、A2C、SAC、DDPG和TD3。与强化学习模型建模解决的多数任务相比,本文的任务依赖于有限长度的行业日频历史数据,因而模型自身的结构复杂度将会成为是否过拟合的核心因素。
PPO、TRPO及A2C模型具有优于行业等权基准及因子等权基准的样本外收益表现;相比之下,SAC、DDPG和TD3模型输出的策略在样本外的表现则不尽如人意。进一步结合训练阶段的奖励函数变化曲线,TD3、DDPG及SAC模型在样本内都学习到了获得较高回报结果的策略,可以推测:上述三类模型很大概率产生了过拟合。结合强化学习模型特点,我们认为有如下三方面原因:
► 模型复杂度:SAC、DDPG和TD3的模型复杂度较高,在处理训练数据量较为有限的行业配置任务时更容易发生过拟合。
► 探索和利用的平衡:SAC模型强调高探索性,虽然在训练中将有助于发现更优的策略,但也有可能导致模型在训练数据中陷入某些特定的模式,从而在样本外数据中失效。
► 超参调整:DDPG模型对超参非常敏感,尤其在数据量较少以及噪声较大的情况下更容易产生过拟合。
注:1)横坐标为训练步数,纵坐标为对应回合内每步奖励函数值的平均值;2)奖励函数曲线采用0.6的权重值进行平滑;3)强化学习模型均使用单次训练结果及周频调仓频率;4)所有强化学习模型训练长度均为200,000步
资料来源:Wind,中金公司研究部
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)强化学习模型均使用单次训练结果;4)所有强化学习模型训练长度均为200,000步
资料来源:Wind,中金公司研究部
PPO模型对随机初始化及超参的稳定性
根据上一节的测试结果我们本节进一步测试PPO的超参数敏感度与随机数种子敏感度问题。我们发现PPO对于学习率、batch_size、nstep以及随机数种子均有一定敏感性。其中模型样本外表现对于batch_size和nsteps的变化规律为先升后降,可能存在一个理论最优参数。对于学习率来说则无明显规律,或是学习率选择范围过窄所致。
由于强化学习模型训练过程存在较高的随机性,我们采用四个不同的随机数种子初始化PPO模型的参数以验证其在行业配置任务下训练的稳定性。在前3个随机数种子的初始化下,PPO模型训练得到的策略在样本外具有较为稳定的超额收益表现,但同样该方法也存在随机初始化造成模型策略样本外回测表现较差的情况。即模型具有不同初始状态时,使用同样的数据训练大部分都可以保持基本一致的样本外表现。但仍不排除有些随机数种子的选择仍会影响模型最终表现的情况。
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)PPO模型仅使用单次训练结果
资料来源:Wind,中金公司研究部
图表9:PPO模型样本外表现随batch_size数量变化趋势
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)PPO模型仅使用单次训练结果
资料来源:Wind,中金公司研究部
图表10:PPO模型样本外表现随单次更新步数大小变化趋势
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)PPO模型仅使用单次训练结果
资料来源:Wind,中金公司研究部
图表11:PPO模型样本外表现随不同随机数种子变化趋势
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频
资料来源:Wind,中金公司研究部
对于机器学习模型来说,当模型足够稳定时,理论上来说模型的初始化无法对模型的样本外表现造成影响。出现上述情况时,可能是PPO模型自身的特点导致的不稳定。此外不同超参数亦会对模型的表现有显著影响,因此我们在下一节尝试引入Optuna调参框架,希望能让模型随着输入时间序列数据的不断更新尽快调整。
图表12:不同随机初始化的PPO模型相较于行业等权基准样本外超额收益净值曲线
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)PPO模型使用不同随机数初始化参数进行4次训练获取平均结果;4)虚线为4次训练标准差波动
资料来源:Wind,中金公司研究部
图表13:不同随机初始化的PPO模型相较于因子等权基准样本外超额收益净值曲线
注:1)统计时间为2022-01-04至2024-03-31;2)调仓频率为周频;3)PPO模型使用不同随机数初始化参数进行4次训练获取平均结果;4)虚线为4次训练标准差波动
资料来源:Wind,中金公司研究部
样本区间的敏感性检测
我们设定了四种不同的训练集结束时间(2021-06-30,2021-12-31,2022-06-30,2022-12-31)对PPO模型分别进行训练,并使用2023-01-01至2024-03-31范围的数据测试模型输出策略在样本外的表现。以2023年为例,使用不同范围训练集优化得到的策略在样本外存在较大的表现差异,具体体现在:以2021-06-30和2022-12-31作为训练集截止点得到的强化学习策略无法战胜因子等权基准,表明强化学习模型对于以行业配置任务为代表的金融时序决策任务上训练区间设定较为敏感。使用PPO测试发现不同区间训练集相较于行业等权超额最大可相差接近20%。
在我们的机器学习系列报告第一篇我们发现强化学习模型表现会在较大程度上受到超参数、随机数种子等因素的影响。在本篇报告中的测试结果显示除上述因素外强化学习模型还很有可能受到训练样本区间选择的影响,且在不同强化学习模型中都可能出现这个问题。我们认为这种结果不只来源于某单一模型的不稳定性,而是这种固定样本区间的训练框架合理性也需要重新讨论:当模型的输入样本并没有包括到某一特定历史时期的数据时,模型在样本外将很难对其做出反应。这使得我们需要重新审视强化学习模型与金融数据结合训练的方式。
基于以上的考虑,我们将在下一章尝试动态训练框架。目前行业主流的动态训练框架有拓展搜参、滚动搜参和滚动模型轮动等训练思路。我们希望通过尝试上述思路,使得模型可以自适应对金融数据的不同时期的特点及时做出调整。
图表14:PPO模型使用不同区间训练集相较于行业等权基准样本外超额收益统计对比
注:1)样本外表现的统计时间为2023-01-01至2024-03-31;2)调仓频率为周频;3)PPO模型未调参,不同的训练集超参均一致
资料来源:Wind,中金公司研究部
图表15:PPO模型使用不同区间训练集相较于因子等权基准样本外超额收益统计对比
注:1)样本外表现的统计时间为2023-01-01至2024-03-31;2)调仓频率为周频;3)PPO模型未调参,不同的训练集超参均一致
资料来源:Wind,中金公司研究部
适应性拓展训练框架一方面保证模型尽可能接触到更能描述市场全景的数据集,另一方面在训练中灵活寻找适合当前数据环境的超参数。在拓展训练框架中,我们每隔半年更新一次模型以及超参数,使用接下来的半年数据作为样本外环境对其加以验证。
图表16:单次训练与拓展窗口训练在训练集划分方式上的对比
我们在每次训练模型的同时寻找最优超参数,对于PPO模型来说相对比较重要的超参有学习率、模型更新步长和批处理数量。我们发现在多次滚动更新模型时,模型表现相对单次训练有一定优势。尤其是对行业等权的超额收益来说,净值曲线明显可以跑赢单次训练的超额收益。
拓展训练的方式虽然让我们在对行业等权的超额更有优势,但对比因子等权的表现仍不明显。我们因此考虑《Deep Reinforcement Learning for Automated Stock Trading: An Ensemble Strategy》[1]的思路,尝试在不同的阶段使用不同的强化学习模型,希望找到不同强化学习模型适配的市场环境。
图表18:单次训练与滚动模型训练在训练集划分方式上的对比
具体的做法和上一节拓展训练的思路类似,我们在样本内区间里对不同的模型进行训练,在仅使用默认参数的情况下选取结果最好的模型在下一阶段进行应用。然后不断重复这一过程,以期找到能够适配新市场环境的模型。假设之一也在于市场环境和适配的模型表现可以在下一期具有一定的持续性。测试结果表面强化学习模型轮动的效果要比单次训练以及拓展样本期训练的表现显著更好,且由于可以并行训练,训练效率远高于拓展搜参模式。
我们发现相较于单次训练的结果,模型滚动的训练在行业和因子等权的超额表现有了显著优势。且多次滚动的样本外因子等权收益率均为正。在2022年后的两年多样本外区间中相对于行业基准超额收益达到16.4%,相对于因子等权基准达7.7%。结果比所有随机数种子下的单次训练以及拓展样本训练的结果都显著更加优越。
上述强化学习模型滚动训练的模式的优势在于能够显著提高模型的多样性和稳定性,减少单一模型在特定任务中的过拟合或欠拟合风险,并通过定期更新模型提升对动态数据的适应性,增强实际操作的价值。然而,这种方法也带来了整体框架复杂性的增加和计算开销的提高,并且在面对数据变化时仍然存在模型失效的风险。综合考虑,这种方法在提升模型性能和适应性方面具有明显优势,但在实际应用中需要平衡系统复杂性和计算成本,并采取有效的措施以降低模型失效的可能性。
图表19:模型轮动模式样本外相较于行业等权基准超额收益净值曲线
图表20:模型轮动模式样本外相较于因子等权基准超额收益净值曲线
[1]https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3690996
本文摘自:2024年7月9日已经发布的《机器学习系列(2):强化学习模型轮动框架下的行业配置》
周萧潇 分析员 SAC 执证编号:S0080521010006 SFC CE Ref:BRA090
郑文才 分析员 SAC 执证编号:S0080523110003 SFC CE Ref:BTF578
刘均伟 分析员 SAC 执证编号:S0080520120002 SFC CE Ref:BQR365
特别提示
本公众号不是中国国际金融股份有限公司(下称“中金公司”)研究报告的发布平台。本公众号只是转发中金公司已发布研究报告的部分观点,订阅者若使用本公众号所载资料,有可能会因缺乏对完整报告的了解或缺乏相关的解读而对资料中的关键假设、评级、目标价等内容产生理解上的歧义。订阅者如使用本资料,须寻求专业投资顾问的指导及解读。
本公众号所载信息、意见不构成所述证券或金融工具买卖的出价或征价,评级、目标价、估值、盈利预测等分析判断亦不构成对具体证券或金融工具在具体价位、具体时点、具体市场表现的投资建议。该等信息、意见在任何时候均不构成对任何人的具有针对性的、指导具体投资的操作意见,订阅者应当对本公众号中的信息和意见进行评估,根据自身情况自主做出投资决策并自行承担投资风险。
中金公司对本公众号所载资料的准确性、可靠性、时效性及完整性不作任何明示或暗示的保证。对依据或者使用本公众号所载资料所造成的任何后果,中金公司及/或其关联人员均不承担任何形式的责任。
本公众号仅面向中金公司中国内地客户,任何不符合前述条件的订阅者,敬请订阅前自行评估接收订阅内容的适当性。订阅本公众号不构成任何合同或承诺的基础,中金公司不因任何单纯订阅本公众号的行为而将订阅人视为中金公司的客户。
一般声明
本公众号仅是转发中金公司已发布报告的部分观点,所载盈利预测、目标价格、评级、估值等观点的给予是基于一系列的假设和前提条件,订阅者只有在了解相关报告中的全部信息基础上,才可能对相关观点形成比较全面的认识。如欲了解完整观点,应参见中金研究网站(http://research.cicc.com)所载完整报告。
本资料较之中金公司正式发布的报告存在延时转发的情况,并有可能因报告发布日之后的情势或其他因素的变更而不再准确或失效。本资料所载意见、评估及预测仅为报告出具日的观点和判断。该等意见、评估及预测无需通知即可随时更改。证券或金融工具的价格或价值走势可能受各种因素影响,过往的表现不应作为日后表现的预示和担保。在不同时期,中金公司可能会发出与本资料所载意见、评估及预测不一致的研究报告。中金公司的销售人员、交易人员以及其他专业人士可能会依据不同假设和标准、采用不同的分析方法而口头或书面发表与本资料意见不一致的市场评论和/或交易观点。
在法律许可的情况下,中金公司可能与本资料中提及公司正在建立或争取建立业务关系或服务关系。因此,订阅者应当考虑到中金公司及/或其相关人员可能存在影响本资料观点客观性的潜在利益冲突。与本资料相关的披露信息请访http://research.cicc.com/disclosure_cn,亦可参见近期已发布的关于相关公司的具体研究报告。
本订阅号是由中金公司研究部建立并维护的官方订阅号。本订阅号中所有资料的版权均为中金公司所有,未经书面许可任何机构和个人不得以任何形式转发、转载、翻版、复制、刊登、发表、修改、仿制或引用本订阅号中的内容。