MetaTrader5官方平台:连续动作空间训练特征

  MetaTrader5官方平台为交易策略的研究与实践提供了广阔的舞台。在构建交易策略的过程中,训练代理者并使其建立有效的交易策略时,需要充分考虑诸多特征。其中,如何训练模型来预测交易量以及持仓的平仓价位,成为了一个关键问题。利用监督学习算法,通过指定教师提供的所需目标值,这个问题能相对轻松地解决。然而,当采用强化学习算法时,就会面临一些复杂性。
  



  回顾之前训练强化模型的两种方式:奖励预测和接收最大奖励的概率。为解决当前问题,一种可能的途径是为交易操作的所有参数定义离散值,并为每个可能的选项创建单独的动作。这种方式确实能让我们从资本和风险管理的某些方面进行考量。但不可忽视的是,它存在明显的缺点。
  
  在数据准备阶段,选择离散事务参数需要耗费一定的精力,而且要在选项数量和代理者制定灵活决策的能力之间做出艰难的妥协。一旦如此,可能动作的组合数量会显着增加,导致模型变得更加复杂,训练时间也会相应延长。毕竟,在训练期间,需要对每个可能动作的奖励进行研究。例如,仅取 3 个交易量离散值、3 个止损位和 5 个止盈位,仅为定义 2 个交易方向的动作空间就需要 90 个元素(3 * 3 * 5 * 2 = 90),再加上持仓和平仓的动作,代理者操作选项就多达 92 个。
  
  显然,代理者动作自由度的受限,会导致模型输出端神经元数量大幅增加,任何交易参数的每个离散值的增加都会进一步促使神经元数量上升。此外,训练更复杂的模型可能还需要其他训练样本集,以及随之而来的一系列问题。
  
  不过,还有另一种方式,即所谓在连续动作空间中训练代理者的算法。通过此类算法训练的代理者能够从连续数值范围内选择动作,这使得其在管理交易参数,如交易量、止损和止盈级别时,更加灵活、准确。
  
  深度判定性策略梯度(DDPG)是在连续动作空间中训练代理者的最流行算法之一。在 DDPG 中,模型由扮演者(Actor)和评论者(Critic)两个神经网络组成。扮演者基于当前状态预测最优动作,评论者则对该动作进行审评。与 “优势扮演者 - 评论者算法” 有相似之处,但二者的区别在于扮演者训练算法。在 DDPG 中,利用梯度提升训练 Actor 来优化判定性策略,扮演者基于当前状态直接预测最优动作,而不是像优势扮演者 - 评论者算法那样对动作的概率分布进行建模。
  
  DDPG 的训练过程如下:扮演者接收环境状态作为输入,从连续的数值分布中获取动作,在交易场景中,这些动作可以是形成交易量、止损和止盈水平,根据模型架构和问题陈述,可以采用绝对值或相对值,为提高对环境的探索水平,还可在生成的动作中添加噪音。执行的动作由扮演者选择并进入新的环境状态,环境会给予相应的奖励。我们收集 “状态 - 动作 - 新状态 - 奖励” 数据集合,并放入经验回放缓冲区。这是强化学习算法的典型操作过程。
  
  与 DQN 一样,从经验回放缓冲区中选择一个训练模型的数据包,数据包中的状态输入到扮演者中,在更改参数前,可能会获得与经验回放缓冲区中类似的动作,但扮演者返回的是来自连续分布的动作,而非概率分布。为评估给定动作的价值,将当前状态和生成的动作传输给评论者,评论者基于收到的数据预测奖励,如同传统的 DQN。
  
  经过训练的评论者,会将预测奖励与来自经验回放缓冲区的实际值之间的标准偏差最小化。为构建全面策略,使用目标网络模型,由于评论者需要状态和动作的数据来评估后续状态,所以还要用扮演者的目标模型依据后续状态来形成动作。
  
  DDPG 的独特之处在于,不使用目标输出值来训练扮演者,而是取评论者模型的误差梯度值置于动作之上,并传递给进一步的扮演者模型。在训练评论者的 Q - 函数时,使用置于动作上的误差梯度来优化扮演者的动作,可认为扮演者是 Q - 函数的一个组成部分,训练 Q - 函数会促使扮演者函数的优化。
  
  在评论者训练过程中,优化其参数以对状态 - 行动对进行最正确的评估,而在训练扮演者时,优化其参数以提升预测奖励。此外,该方法的作者建议使用目标模型的软更新,根据已训练模型参数的更新率重新计算目标模型的参数,而非简单地在特定频率下替换已训练目标模型,这种方法虽减慢了目标模型的更新速度,但提升了训练稳定性。
  
  通过深入了解和应用连续动作空间训练特征及相关算法,如 DDPG,能够在MetaTrader5官方平台上构建更加高效、灵活的交易策略,提升交易的成功率和收益水平,在复杂多变的金融市场中抢占先机。

AvaTrade爱华平台

交易软件常见问题