Deep Reinforcement Learning for Automate( 二 )


II.WORKS
-only学习方法是最常见的,它使用例如深度Q-(DQN)及其改进来解决离散行动空间问题,并在单一股票或资产上训练agent[21], [22], [23] 。-only方法的想法是使用一个Q值函数来学习最佳行动选择策略,该策略在当前状态下使预期的未来奖励最大化 。DQN不是计算状态-动作值表,而是最小化估计的Q值和目标Q值之间的误差,并使用神经网络来进行函数近似 。-only方法的主要限制是它只适用于离散和有限的状态和行动空间,这对大型股票组合来说是不实际的,因为价格当然是连续的 。
这里的想法是,代理人直接学习最优策略 。与其让神经网络来学习Q值,不如让神经网络来学习策略 。政策是一个概率分布,本质上是一个给定状态的策略,即采取允许行动的可能性 。仅有行为者的方法可以处理连续的行动空间环境 。
actor-方法最近被应用于金融领域[27], [28], [17], [19] 。其思路是同时更新代表政策的actor网络和代表价值函数的网络 。批评者估计价值函数,而actor在的指导下用政策梯度更新政策概率分布 。随着时间的推移,actor学会了采取更好的行动,而在评估这些行动时也变得更好 。事实证明,actor-的方法能够学习和适应大型复杂的环境,并被用来玩流行的视频游戏,如Doom[29] 。因此,actor-的方法在大型股票组合的交易中很有前景 。
III.
我们将股票交易建模为马尔科夫决策过程(MDP),并将我们的交易目标表述为预期收益最大化[30] 。
A. MDP Model for Stock
为了模拟动态股票市场的随机性,我们采用了如下的马尔可夫决策过程(MDP):
通过将几个增强链的结果以凸形组合的方式混合在一起,这种图像退化可以得到缓解,增强的多样性也可以得到保持 。该算法的具体说明在下面的伪代码中给出 。
图2. 一个起始的投资组合值与三种行动会产生三种可能的投资组合 。请注意,由于股票价格的变化,"持有 "可能导致不同的投资组合值 。
股票交易过程的状态转换如图2所示 。在每个状态下,对投资组合中的股票 d ( d = 1 ,. . . ,D ) d(d=1,...,D) d(d=1,...,D)采取三种可能行动之一 。
在时间t采取了行动,股票价格在t+1更新,相应地,投资组合价值可能从 "投资组合价值0 "分别变为 “投资组合价值1”、"投资组合价值2 "或 “投资组合价值3”,如图2所示 。请注意,投资组合价值是 p T h + b p^Th + b pTh+b 。
B.Stock
以下假设和约束反映了对实践的关注:交易成本、市场流动性、风险规避等 。
C.asGoal
我们将奖励函数定义为在状态s下采取行动a并到达新状态 s ′ s' s′时的投资组合价值的变化 。我们的目标是设计一个能使投资组合价值变化最大化的交易策略 。

Deep Reinforcement Learning for Automate

文章插图
其中第一项和第二项分别表示t+1和t时的投资组合价值 。为了进一步分解收益,我们将股票的过渡期 h t h_t ht?定义为
和余额 b t b_t bt?的过渡在(1)中定义 。那么 (4)可以改写为
其中 r H 、 r S 和 r B r_H、r_S和r_B rH?、rS?和rB?分别表示从时间t到t+1,持有、卖出和买入股票所带来的投资组合价值的变化 。公式(6)表明,我们需要通过买入并持有在下一时间段价格会上涨的股票,使投资组合价值的正向变化最大化,通过卖出在下一时间段价格会下跌的股票,使投资组合价值的负向变化最小化 。
indext u r b u l e n c e t?与奖励函数结合在一起,以解决我们对市场崩溃的风险厌恶 。当(3)中的指数超过一个阈值时,方程(8)变为
这表明我们希望通过卖出所有持有的股票来尽量减少投资组合价值的负面变化,因为所有的股票价格都会下跌 。模型的初始化如下 。p 0 p_0 p0?被设定为时间0的股票价格,b 0 b_0 b0?是初始基金的数额 。h和 Q π ( s , a ) Q_π(s, a) Qπ?(s,a)为0,π(s)在每个状态的所有行动中均匀分布 。然后,Q π ( s t , a t ) Q_π(s_t, a_t) Qπ?(st?,at?)通过与股票市场环境的互动而被更新 。最佳策略由贝尔曼方程给出,在状态 s t s_t st?采取行动的预期报酬是直接报酬r(st, at, st+1)和下一个状态 s t + 1 s_{t+1} st+1?的未来报酬之和的预期 。为了收敛的目的,让未来的奖励被折现为0