【文献阅读】Optimistic Bull or Pessimistic Bear: Adaptive Deep Reinforcement Learning for Stock Portfolio
Optimistic Bull or Pessimistic Bear: Adaptive Deep Reinforcement Learning for Stock Portfolio Allocation
0 简介
在本文中,作者为投资组合分配任务提出了一种新颖的 自适应深度确定性强化学习方案(Adaptive DDPG),它结合了乐观或悲观的深度强化学习,反映了预测错误的影响。选择道琼斯 30 只成分股作为我们的交易股票,并以它们的每日价格作为训练和测试数据。作者训练 Adaptive DDPG 的 agent 并获得交易策略。Adaptive DDPG 的表现与普通 DDPG、道琼斯工业平均指数以及传统的最小方差和均值方差投资组合分配策略进行了比较。Adaptive DDPG 在投资回报和夏普比率方面优于基线。
投资组合分配的目标是 最大化夏普比率(平均回报减去无风险回报除以标准差)或 最小化一系列回报的风险。投资组合理论使用 均值方差 来表征这两个关键因素。均值是指预期收益的加权平均数,权重是投资的分配比例。方差是指投资组合的预期回报的方差。我们将预期收益的标准差称为 波动率,它描述了投资组合的风险。
1 解决了什么问题?
解决股票交易问题的现有方法是将其建模为马尔可夫决策过程(MDP)并使用动态规划(DP)来获得最佳策略。但是 DP 算法的实际用途有限,因为它们假设了一个完美的模型并且它们也是计算密集型的。由于在处理股票市场时状态空间爆炸,DP 的可扩展性受到限制。再者,传统方法难以结合市场情况与投资者的(乐观/悲观)情绪。
一般来说,熊市发生在悲观情绪出现时的经济衰退或萧条时期。当证券价格上涨速度快于整体平均利率时,就会出现牛市。牛市伴随着经济增长和投资者的乐观情绪。
2 解决方法是什么?
作者将股票交易过程建模为 MDP 后,将交易目标制定为最大化问题。在以下假设下,投资组合分配任务被形式化为 MDP:
- 投资者可以在连续的无限时间范围内的每个时间步长进行交易;
- 单一投资者的交易不能影响市场;
- 投资资本只有两种资产(股票和无风险资产);
- 投资者全额投资,即投资者无风险规避。
2.1 Markov Decision Process 建模
作者将股票交易过程建模为马尔可夫决策过程(MDP),具体为六个部分:状态、动作、奖励、折扣未来奖励、策略和行动价值。
State s=[p,w,b]s=[p, w, b]s=[p,w,b]:状态是一个包括了三个元素的集合。p∈R+Dp \in \mathbb{R}_{+}^{D}p∈R+D 是股票的价格信息,w=(w1,w2,…,wD)Tw=\left(w_{1}, w_{2}, \ldots, w_{D}\right)^{T}w=(w1,w2,…,wD)T 是所持有的股票的权重比例,b∈R+b \in \mathbb{R}_{+}b∈R+ 是资产余额。其中 DDD 为考虑的股票数量。
Action aaa:对所有 DDD 只股票的一组操作。每只股票的可用动作包括卖出、买入和持有,分别导致持有的权重 www 减少、增加和不变。DDPG 是一种连续行为的学习方法。在我们的模型中,动作是连续的,因为我们的权重不断变化。
Reward r(s,a,s′)r\left(s, a, s^{\prime}\right)r(s,a,s′):当 agent 在状态 sss 采取行动 aaa 并到达新的状态 s′s^{\prime}s′ 时,投资组合价值的变化。投资组合价值 是所有持有的股票 pTwp^TwpTw 和余额 bbb 中的权益总和。我们也称 r(s,a,s′)r\left(s, a, s^{\prime}\right)r(s,a,s′) 作为单步奖励值,在状态中执行动作 aaa 后由环境返回。
Discounted future reward RtR_tRt:从当前状态到未来状态的所有动作获得的奖励值的加权和。其中,γ\gammaγ 为衰减因子,通常设为0.99。
Rt=∑i=tTγi−tr(si,ai,si+1)R_{t}=\sum_{i=t}^{T} \gamma^{i-t} r\left(s_{i}, a_{i}, s_{i+1}\right) Rt=i=t∑Tγi−tr(si,ai,si+1)
Policy π(s)\pi(s)π(s):状态 sss 的股票交易策略。它本质上是 aaa 在状态 sss 的概率分布。更具体地说,给定一个状态,决策策略将计算下一步要采取的行动。
Action-value function Qπ(s,a)Q_{\pi}(s, a)Qπ(s,a):agent 在状态 sss 遵循策略 π\piπ 的动作 aaa 获得的预期奖励。评估在状态 sss 时采取动作 aaa 的好坏。
2.2 股票市场动态(STOCK MARKET DYNAMICS)的框架
作者定义在时间步长 ttt 下对股票 ddd 的操作:
- Selling:卖出 k(k∈[0,wd],where d=1,…,D)k\left(k \in\left[0, w_{d}\right], \text { where } d=1, \ldots, D\right)k(k∈[0,wd], where d=1,…,D)。可以从当前所持有的股票中卖出 kkk 个权重的股票。wt+1=wt−kw_{t+1}=w_{t}-kwt+1=wt−k;
- Holding:k=0k=0k=0。不会导致 wtw_twt 发生变化;
- Buying:买入 kkk。wt+1=wt+kw_{t+1}=w_{t}+kwt+1=wt+k,同时,at[d]=−ka_t[d] = -kat[d]=−k 是一个负的权重.
余额 bbb 的更新:bt+1=bt+ptTatb_{t+1}=b_{t}+p_{t}^{T} a_{t}bt+1=bt+ptTat。
根据 Bellman 方程计算在状态 sts_tst 下采取动作 ata_tat 所获得的预期收益:
Qπ(st,at)=Est+1{r(st,at,st+1)+γEat+1∼π(st+1)[Qπ(st+1,at+1)]}\begin{aligned} Q_{\pi}\left(s_{t}, a_{t}\right)=& \mathbb{E}_{s_{t+1}}\left\{r\left(s_{t}, a_{t}, s_{t+1}\right)\right.\\ &\left.+\gamma \mathbb{E}_{a_{t+1} \sim \pi\left(s_{t+1}\right)}\left[Q_{\pi}\left(s_{t+1}, a_{t+1}\right)\right]\right\} \end{aligned} Qπ(st,at)=Est+1{r(st,at,st+1)+γEat+1∼π(st+1)[Qπ(st+1,at+1)]}
因此,该任务的目标就是设计一个交易策略,使得 agent 在未来的某个目标时间 tft_ftf 上最大化投资回报 ∑t=1tf−1r(st,at,st+1)\sum_{t=1}^{t_{f}-1} r\left(s_{t}, a_{t}, s_{t+1}\right)∑t=1tf−1r(st,at,st+1)。由于模型的马尔可夫性质,问题可以归结为优化最大化函数 Qπ(st,at)Q_\pi(s_t,a_t)Qπ(st,at) 的策略。
2.3 优化模型与市场环境的融合
2.3.1 修正的 RW 模型
基于 Rescorla-Wanger 模型(也就是 Q-learning),我们使用修改后的模型。该模型从正面和负面的环境情感新闻中进行不同的学习。正负预测误差分别代表正负环境情感(模型记为RW±)。对于每个状态,Q−valuesQ-valuesQ−values 表示通过在给定市场环境中采取特定行动而获得的预期回报。考虑到本文有买入、持有和卖出三个动作,该模型在序列动作和结果的基础上估计了买入、持有和卖出期权的预期价值。学习前的初始 Q−valueQ-valueQ−value 设置为 0。在每个步骤 ttt 中,股票(买入、持有和卖出)的价值根据规则更新,如下:
Qπ(st+1,at+1)=Qπ(st,at)+αδ(t)Q_{\pi}\left(s_{t+1}, a_{t+1}\right)=Q_{\pi}\left(s_{t}, a_{t}\right)+\alpha \delta(t) Qπ(st+1,at+1)=Qπ(st,at)+αδ(t)
其中,α\alphaα 为学习率,δ(t)\delta(t)δ(t) 为预测误差(也称为环境情绪因子),它的计算公式如下:
δ(t)=r(st,at,st+1)−Qπ(st,at)\delta(t)=r\left(s_{t}, a_{t}, s_{t+1}\right)-Q_{\pi}\left(s_{t}, a_{t}\right) δ(t)=r(st,at,st+1)−Qπ(st,at)
预测误差是期望收益与真实收益之间的差。遵循这个规则,如果结果好于预期,则增加期权价值,反之则减少期权价值,并且在正面、中性和负面预测误差后更新幅度相似。
2.3.2 更新的规则
修改后的 Q-learning 算法 (RW±) 的更新规则由 (Lefebvre et al., 2017) 给出。
Behavioural and neural characterization of optimistic reinforcement learning
原文链接:https://www.nature.com/articles/s41562-017-0067.pdf
Qπ(st+1,at+1)=Qπ(st,at)+{α+δ(t)if δ(t)>0α−δ(t)if δ(t)<0Q_{\pi}\left(s_{t+1}, a_{t+1}\right)=Q_{\pi}\left(s_{t}, a_{t}\right)+ \begin{cases}\alpha^{+} \delta(t) & \text { if } \delta(t)>0 \\ \alpha^{-} \delta(t) & \text { if } \delta(t)<0\end{cases} Qπ(st+1,at+1)=Qπ(st,at)+{α+δ(t)α−δ(t) if δ(t)>0 if δ(t)<0
当预测误差为正时,即实际奖励 r(st,at,st+1)r(s_t,a_t,s_{t+1})r(st,at,st+1) 比预期奖励 Qπ(st,at)Q_π(s_t,a_t)Qπ(st,at) 好,学习率 α+\alpha^{+}α+ 调整从一次试验到下一次试验的变化幅度,反之亦然。因此,出现连续的正面(良好环境情绪新闻)和负面(不良环境情绪新闻)预测错误时,RW± 模型 允许更新幅度不同。RW± 允许我们解释受试者从正面和负面经验中学习的方式的个体差异。
此外,给定 QQQ 值,通过使用 softmaxsoftmaxsoftmax 规则来估计选择每个动作(买入、持有和卖出)的相关策略,如下所示:
π(st)=e(Qπ(st,at)β)/(e(Qπ(st,at)β)+e(Qπ(st,at)β))\pi\left(s_{t}\right)=e^{\left(Q_{\pi}\left(s_{t}, a_{t}\right) \beta\right)} /\left(e^{\left(Q_{\pi}\left(s_{t}, a_{t}\right) \beta\right)}+e^{\left(Q_{\pi}\left(s_{t}, a_{t}\right) \beta\right)}\right) π(st)=e(Qπ(st,at)β)/(e(Qπ(st,at)β)+e(Qπ(st,at)β))
其中 β\betaβ 是调整决策随机性的缩放参数,用于控制勘探开发(exploration and exploitation)权衡。上式是一个标准的随机决策(stochastic decision),它根据相关值计算选择一组选项中的一个的概率。
2.4 Adaptive DDPG
作者使用 Adaptive DDPG 算法来最大化投资回报。DDPG 是确定性策略梯度 (DPG) 算法的改进版本,而 DPG 基于策略梯度 (PG) 改进。对于 DDPG,Q-learning 使用贪婪动作 at+1a_{t+1}at+1 来最大化状态 st+1s_{t+1}st+1 的 Q(st+1,at+1)Q(s_{t+1},a_{t+1})Q(st+1,at+1) 如下:
Qπ(st,at)=Est+1[r(st,at,st+1)+γmaxat+1Q(st+1,at+1)]\begin{aligned} Q_{\pi}\left(s_{t}, a_{t}\right) = \mathbb{E}_{s_{t+1}}\left[r\left(s_{t}, a_{t}, s_{t+1}\right)+\gamma \max _{a_{t+1}} Q\left(s_{t+1}, a_{t+1}\right)\right] \end{aligned} Qπ(st,at)=Est+1[r(st,at,st+1)+γat+1maxQ(st+1,at+1)]
Adaptive DDPG 包括一个 Actor Network 和一个 Critic Network。Actor Network μ(s∣θμ)\mu\left(s \mid \theta^{\mu}\right)μ(s∣θμ) 将状态映射到动作,在计算出预测误差 δ(t)\delta(t)δ(t) 后,Critic Network 然后根据预测误差 δ(t)\delta(t)δ(t) 和学习率 α+\alpha^{+}α+(或 α−\alpha^{-}α−) 更新 Q(s,a∣θQ)Q\left(s, a \mid \theta^{Q}\right)Q(s,a∣θQ),其中 θμ\theta^\muθμ 是 Actor Network 的网络参数,θQ\theta^QθQ 是 Critic Network 的网络参数。N+and N−\mathcal{N}^{+} \text {and } \mathcal{N}^{-}N+and N− 分别是正负环境对应的随机过程,用于在actor网络的输出中添加噪声以探索动作。
与 DDPG 类似,该模型使用 经验回放缓冲区 RRR 来存储 transitions。算法流程:
- Adaptive DDPG agent 根据预测误差 δ(t)\delta(t)δ(t) 更新 Q(s,a)Q(s,a)Q(s,a) 并在 sts_tst 上采取行动 ata_tat,然后根据 st+1s_{t+1}st+1 接收到环境的奖励;
- 计算 Target:yi=ri+γQ′(si+1,μ′(si+1∣θμ′,θQ′)),i=1,...,Ny_{i}=r_{i}+\gamma Q^{\prime}\left(s_{i+1}, \mu^{\prime}\left(s_{i+1} \mid \theta^{\mu^{\prime}}, \theta^{Q^{\prime}}\right)\right), i=1,...,Nyi=ri+γQ′(si+1,μ′(si+1∣θμ′,θQ′)),i=1,...,N,然后将 transition 存储至 RRR;
- 在从 RRR 中随机采样 NNN 个 transitions 后,我们通过最小化 Target Critic Network Q′Q^\primeQ′ 和 Critic Network QQQ 的输出之间的期望差异 L(θQ)L(θ^Q)L(θQ) 来更新 Critic Network。
在通过经验缓冲区的 transitions 更新 Critic Network 和 Actor Network 后,Target Actor Network和 Target Critic Network 更新如下:
θQ′←τθQ+(1−τ)θQ′θμ′←τθμ+(1−τ)θμ′\begin{aligned} &\theta^{Q^{\prime}} \leftarrow \tau \theta^{Q}+(1-\tau) \theta^{Q^{\prime}} \\ &\theta^{\mu^{\prime}} \leftarrow \tau \theta^{\mu}+(1-\tau) \theta^{\mu^{\prime}} \end{aligned} θQ′←τθQ+(1−τ)θQ′θμ′←τθμ+(1−τ)θμ′
其中,τ\tauτ 为学习率。
3 关键实验结果有什么?
结果表明,Adaptive DDPG agent 实现了比普通 DDPG、道琼斯工业平均指数 (DJIA) 和传统投资组合分配策略更高的回报。
3.1 实验数据与对比方法
作者选择道琼斯指数的成分股作为股票池。数据(每日价格)的时间跨度是从 01/01/2001 到 09/30/2018。数据集是从通过 Wharton Research Data Services(WRDS) 访问 Compustat 数据库下载的。该数据集从 01/01/2001 到 12/30/2013(包括 3268 个交易日)用作训练数据,其余数据集(从 01/02/2014 至 10/02/2018 包括 1190 个交易日)作为测试数据。作者在训练数据上训练 agent 并测试 agent 在测试数据上的表现。
下图为 agent 在测试数据集上的表现。其中作者设置 α+=1\alpha^+ = 1α+=1 和 α−=0\alpha^- = 0α−=0,同时设置 N+\mathcal{N}^{+}N+ 为正常的随机过程,N−\mathcal{N}^{-}N− 为只产生负值的随机过程。
作者使用 30 只股票数据的每日价格来训练 Adaptive DDPG agent。
对比方法:
- 普通 DDPG
- DJIA
- 最小方差(传统方法)
- 均值方差(传统方法)
【NOTE】道琼斯工业平均指数 (DJIA),也称为道琼斯指数 30,是一种股票市场指数,跟踪在纽约证券交易所 (NYSE) 和纳斯达克交易的 30 家大型上市蓝筹公司。道琼斯工业平均指数旨在代表美国整体经济的健康状况。DJIA 通常简称为“道琼斯指数”,是世界上最受关注的股票市场指数之一。虽然道琼斯指数包括一系列公司,但都可以说是收益始终稳定的蓝筹公司。
【NOTE】DDPG:
图片参考:https://blog.csdn.net/qq_41747565/article/details/88226303?utm_medium=distribute.pc_relevant.none-task-blog
图片参考:https://blog.csdn.net/kenneth_yu/article/details/78478356
同时,使用 最终投资组合价值、年化回报、年化标准差 和 夏普比率 来评估所提出的方法。最终投资组合价值反映了投资在一定时间范围内的整体效果。年化回报是在给定时间段内每年投资所赚取的几何平均金额。年化标准差反映了波动性并显示了模型的稳健性。夏普比率(每单位波动率所获得的回报)用于评估投资组合的表现。
结果显示 Adaptive DDPG 模型明显优于普通 DDPG、道琼斯工业平均指数和传统的投资组合分配策略。并且我们可以看到,DDPG 策略优于道琼斯工业平均指数和传统的投资组合配置策略。
【文献阅读】Optimistic Bull or Pessimistic Bear: Adaptive Deep Reinforcement Learning for Stock Portfolio相关推荐
- 【论文阅读】DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning
[论文阅读]DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning 1 本文解决了什么问题? 斗地主是一个非常具有 ...
- RL论文阅读【一】Playing Atari with Deep Reinforcement Learning
1 废话 开始要认真的读论文的,计划每天晚上回宿舍看一半,两天看完一篇,第三天写博客总结,虽然有点慢吧,但是积少成多嘛~ 今天先介绍第一篇,也是深度强化学习的开山之作. 2 动机 一般把这篇论文称作深 ...
- 阅读《SeedNet: Automatic Seed Generation with Deep Reinforcement Learning for Robust Interactive Segme》
一:介绍 这篇文章提出了一个基于强化学习的自动种子生成技术去解决交互分割问题. 交互分割问题的主要难点之一是如何在减少人工参与的同时保持被提取物体的鲁棒性和连续性. 目前大部分存在的算法都高度依赖与输 ...
- Deep Reinforcement Learning for Sepsis Treatment文献阅读记录
Deep Reinforcement Learning for Sepsis Treatment 1 Introduction 本文所提出的是一种基于深度强化学习的脓毒症治疗方法. 使用强化学习而非有 ...
- 【预训练视觉-语言模型文献阅读文献阅读】最新BERT模型——UNITER: UNiversal Image-TExt Representation Learning
[预训练视觉-语言模型文献阅读文献阅读]最新BERT模型--UNITER: UNiversal Image-TExt Representation Learning 文章目录 [预训练视觉-语言模型文 ...
- 【文献阅读03】Deep Reinforcement Learning Based Resource Allocation for V2V Communications
Deep Reinforcement Learning Based Resource Allocation for V2V Communications(点击可见原文) p.s.此文19年发表,到20 ...
- 论文阅读:DRN: A Deep Reinforcement Learning Framework for News Recommendation
文章目录 摘要 一.Introduction 1.引入原因 2.结构框架 二.相关工作 1.新闻推荐算法 2.推荐中的强化学习 3.问题定义 三.实现原理 1.模型框架 2.特征构造 3.深度强化推荐 ...
- 文献阅读(73)AAAI2022-SAIL: Self Augmented Graph Contrastive Learning
本文是对<SAIL: Self Augmented Graph Contrastive Learning>一文的总结,如有侵权即刻删除. 朋友们,我们在github创建了一个图学习笔记库, ...
- 文献阅读(63)NIPS2012-ImageNet Classification with Deep Convolutional Neural Networks
本文是对<ImageNet Classification with Deep Convolutional Neural Networks>一文的浅显翻译与理解,如有侵权即刻删除. 更多相关 ...
- 论文阅读--Sensorless Freehand 3D Ultrasound Reconstruction via Deep Contextual Learning
Sensorless Freehand 3D Ultrasound Reconstruction via Deep Contextual Learning 基于深度上下文学习的无传感器徒手三维超声重建 ...
最新文章
- 只讲技术,拒绝空谈!2018 AI开发者大会精彩议程曝光
- 四种常用的垃圾收集器
- LLC算法coding与pooling解析
- window7下nginx配置文件详解
- VB版双语对照制作助手
- 前端学成什么样就能找工作了?
- python 制作简单网站_新手小白 做python爬虫 爬什么网站比较简单?
- 中国双轴取向(BO)膜行业市场供需与战略研究报告
- Spring知识点一站到底(转载)
- 地理信息考c语言,南师地理信息系统专业01方向真题C语言
- joomla 1.5 笔记
- CSS-div圆角被内部元素覆盖问题
- 「实用工具—LICEcap」写博必备|动图制作|一键生成gif(GIF)
- Named Route ‘***‘ has a default child route. When navigating to this named route
- react 路由重定向_如何测试与测试库的路由器重定向React
- 如何下载安装ubuntu系统
- Vins_mono重力对齐理解
- CONVERT 函数的用法
- 书籍《FPS关卡设计》笔记(一)
- win10系统电脑system占用率高的解决办法