问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

量化分析报告:基于强化学习的组合优化在指增策略中的应用

创作时间:
作者:
@小白创作中心

量化分析报告:基于强化学习的组合优化在指增策略中的应用

引用
1
来源
1.
https://www.fxbaogao.com/detail/4349688

在金融投资领域,量化分析和机器学习技术的应用日益广泛。其中,强化学习作为一种重要的机器学习方法,通过与环境的交互来训练智能体,使其在不同状态下采取能够最大化累积奖励的行动。本文将详细介绍基于强化学习的组合优化在指增策略中的应用,重点介绍StockFormer强化学习交易策略的构建方法及其在实际中的应用效果。

什么是强化学习?

强化学习是一种机器学习方法,通过与环境的交互来训练智能体,使其在不同状态下采取能够最大化累积奖励的行动。其目标是通过试错学习(trial-and-error)找到最优策略,使得在长时间内累积的奖励最大化。在强化学习中,智能体(Agent)通过与环境的互动不断学习,通过奖励和惩罚来调整其策略,以便在长期内获得最大回报。

在强化学习中,数据是在智能体与环境交互的过程中得到的。如果智能体不采取某个决策动作,那么该动作对应的数据就永远无法被观测到,所以当前智能体的训练数据来自之前智能体的决策结果。因此,智能体的策略不同,与环境交互所产生的数据分布就不 同。

强化学习有很多类别,主要分为依赖模型的强化学习(如AlphaGo)与无模型强化学习;多数强化学习模型并无依赖模型,即不尝试理解或预测环境的动态(如状态转移概率和奖励结构),而是直接从与环境的交互中学习如何行动。最常见的Q学习及其衍生算法 都属于无模型的强化学习。

强化学习在金融中的应用

在金融领域中,已有许多尝试使用强化学习(RL)方法进行交易决策【ThéateandErnst,2021;Wengetal.,2020;Liangetal.,2018;Benhamouetal.,2020】。这些模型的主要区别在于输入状态的定义【Zhongetal.,2020;Liuetal.,2021;Wengetal.,2020】、奖励函数的设计【Liangetal.,2018;HuandLin,2019】以及强化学习算法的选择【Benhamouetal.,2020; Surietal.,2021;Huotarietal.,2020】。

  • Data-DrivenMarket-MakingviaModel-FreeLearning

  • 用订单薄作为数据输入刻画市场状态

  • Q-learning实现高频实时决策

  • 输入状态:当前市场环境,如过去一段时间的股票量价,风格,基本面等。

  • DeepReinforcementLearningforOptimizingFinancePortfolioManagement

  • 用GRU输出早期动态市场环境

  • 在奖励函数中增加风险调整

  • 奖励函数:交易后的账户净值变化,或者是每日投资组合的回报率,低回撤等。

  • PracticalDeepHierarchicalReinforcementLearningforTradeExecution

  • 引入分层强化学习算法,提高交易胜率

  • 算法:使用Q学习、深度Q网络(DQN)、策略梯度方法(PolicyGradient)、深度确定性策略梯度(DDPG)、软演员-评论家(SAC)等强化学习算法来训练智能体,使其学会在不同市场状态下采取最优的交易动作。

本篇研究中用到了SAC强化学习算法,SAC(SoftActor-Critic)算法是一种基于actor-critic框架的深度强化学习方法,它采用了最 大熵强化学习理论进行策略的优化。这种算法的特点是在学习过程中不仅考虑了最大化累积奖励,同时还增加了熵项来鼓励探索,从而使得策略在探索和利用之间取得更好的平衡。

最大熵强化学习(maximumentropyRL)的思想就是除了要最大化累积奖励,还要使得策略更加随机。如此,强化学习的目标中就加入了一项熵的正则项,熵正则化增加了强化学习算法的探索程度,有助于加速后续的策略学习,并减少策略陷入较差的局部最优的可能性。

SAC算法中的S即Soft策略迭代改变了目标函数Q为soft贝尔曼方程 (softQ函数),并用soft策略评估可以收敛到策略�的softQ函数。我们为两个动作价值函数Q和一个策略函数𝜋(PolicyNetwork) 建模。基于DoubleDQN的思想,SAC使用两个Q网络,但每次用网络时会挑选一个Q值小的网络,从而缓解Q值过高估计的问题。

SAC通过结合策略梯度方法和Q学习,持续地更新Actor(策略模型)和Critic(价值模型即V网络)以寻找最优策略。策略不仅会被训练以最大化预期奖励,同时增加的熵项鼓励策略探索更多可能的交易策略,增强模型的泛化能力和适应性。

StockFormer强化学习交易策略

本篇研究参考了SiyuGao等人在2023年发表的论文StockFormer:LearningHybridTradingMachineswithPredictiveCoding,论文中作者采用SAC强化学习作为基础框架,并采用类Transformer模型的输出作为强化学习的输入状态。

Transformer模型已经被广泛应用于股票收益预测并输出因子,最初由Vaswani等人在2017年的论文《AttentionisAllYouNeed》中提出,其核心特点是全面依赖于注意力机制,并行学习序列的不同子空间,这种机制可以让模型从不同角度理解数据的同时,大大提高训练效率。

除此之外,模型中还加入了位置编码,使模型能够利用序列的顺序;加入前馈网络有助于进一步转换注意力层的输出;加入残差连接帮助避免在深层网络中训练时的梯度消失问题。

论文中,作者用到了3个Transformer网络来构造市场状态的输入,分别学习股票短期收益预测、股票中期收益预测与股票间相关性的潜在表示,这些表示共同形成了下一个训练阶段用于学习投资策略的组合状态空间。

首先,将原始Transformer中的多头注意力块用一组前馈网络(FFNs)替代单个FFN,每个FFN分别对应多头注意力层输出中的一个头。这样可以保持从多个同时市场资产序列中学到的时间模式的多样性,增强特征解耦能力,能够在不增加模型参数的情况下更好地处理多样化的时间序列模式,提高模型的表达能力和鲁棒性。

随后,作者利用第二个Transformer网络对股票量价的协方差矩阵和技术指标输入Transformer的编码器(Encoder中),捕捉不同股票之间的动态相关性,输出相关状态(RelationalState)。随后将股票技术面指标与编码器的输出输入解码器,输出对于股票收益的预测状态(predictivestate),我们有L个编码器层和M个解码器层。

StockFormer通过预测编码从时间序列数据中提取强化学习的潜在状态,然后在组合状态空间中优化交易决策。前文中,我们从三个Transformer分支中获得三种类型的潜在表示:关系状态(𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑡)、中期预测状态(𝑆𝑆𝑟𝑟𝑙𝑙𝑙𝑙𝑙�,5天收益预测)和短期预测状态 �� (𝑆𝑆𝑠𝑠𝑠𝑙𝑙𝑟𝑟�,1天收益预测),随后通过多头注意力层将𝑆𝑆𝑟𝑟𝑙𝑙𝑙𝑙𝑙�与𝑆𝑆𝑠𝑠𝑠𝑙𝑙𝑟𝑟�整合为未来状态(𝑆𝑆𝑓𝑓𝑓𝑓𝑡𝑓𝑓𝑟𝑟𝑟�),最后与𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟�合并为SAC的状态输入 � St,输入SAC强化学习。

在后续的SAC强化学习中,SAC将输出策略函数𝜋,决定当期的买入/卖出金额。SAC方法包括一个演员网络(𝜋𝜃�)和两个评论家网络(𝑄𝑄𝜙𝜙1和𝑄𝑄𝜙𝜙2),演员网络通过对高斯分布采样生成动作(𝑎𝑎𝑡𝑡),评论家网络通过最小化贝尔曼残差来预测动作值Q函数,SAC算法的目标是最大化策略的熵和期望累积奖励。具体目标函数为:

其中,E𝜋𝜋𝜋�表示通过策略𝜋𝜃�生成的动作的期望值。r𝑡�表示在时间步𝑡�采取动作𝑎𝑎𝑡�后得到的即时奖励,及股票收益。γ表示折现因子,即用于折扣未来奖励的权重,值在0到1之间。越接近1表示越重视未来奖励,越接近0表示越重视即时奖励。表示在状态𝑠𝑠𝑡�采取动作𝑎𝑎𝑡�后,转移到下一个状态𝑠𝑠𝑡𝑡+1的期望值。α表示控制策略熵的权重。高熵策略意味着更高的探索性,而低熵策略意味着更高的确定性。

模型实证与分析

首先,我们将Transformer模型作为本篇研究中的基模型,与后续的Transformer+SAC强化学习算法形成对照。在Transformer模型中,我们与论文中一样,采用日频行情即部分技术因子作为输入。数据输入与模型细节如下:

  • 数据输入:Transformer
  • 特征X:过去60个交易日个股的高、开、低、收、成交量、VWAP,及民生金特征处理工因子库中20个技术面因子,维度为(n,60,26),时序z-score标准化
  • 标签y:个股未来5日收益排序分位数
  • GRU:input_size=26,hidden_size=64,num_layers=2,n_heads=10
  • 模型结构Dropout:dropout概率为0.1
  • MLP:全连接层,输入维度64,输出维度1,激活函数为Tanh
  • 损失函数:-IC
  • batch_size:每天的所有中证1000成分股
  • epoch:50
  • 早停:20
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号