Deep reinforcement learning for portfolio management of markets with a dynamic number of assets阅读笔记

创新点

本文提出了一种使用深度强化学习进行投资组合管理的新方法,特别适用于资产数量动态变化的加密货币市场。

  1. 大部分的研究工作中,资产数量是固定的,但是本文介绍的方法能够处理资产数量动态变化的情况,即市场中可以随时新增加资产。
  2. 提出一种改良的PPO框架,在实验中对比两种不同的reward函数。
  3. 寻找最优交易的问题被转化为一个线性规划问题(LP)。
    本文可能存在的不足:各个资产独立训练的,所以资产之间可能没有关联性。

算法实现

  • Trading session
    加密货币市场则不受此限制,因其全天候开放。为了模拟和研究方便,本文采用了"trading session"(交易时段)的概念,将每个交易时段划分为等长的持有周期,图中,Period指的是一个交易时间段内的一个持有周期,交易只能在周期的开始和结束进行,在waiting time 时间里,市场的资产的价格会产生变化,pt会因为市场波动变为p’t。 虽然pt发生改变,但是在waiting time时间段内agent没有执行任何交易操作。
    在这里插入图片描述
  • RL process
    State(状态) 描述了在时间点 t 投资者可以进行交易时市场的历史情况。s[t] 可以表示为一个具有维度 n×f×k 的张量,其中,n 表示资产数量;f 表示每个资产的特征数量;k 取决于市场动态的长短,k越大,包含的历史数据越多。本文的 f 一共七个包括开盘价,收盘价,最高价,最低价,成交量,计价资产成交量和对应资产的投资组合条目。
    Action(动作) 动作a[t] 是在时间点 t 投资者根据当前状态 s[t] 所采取的一系列交易行为。动作具体表现为投资者决定买入或卖出哪些资产以及买入或卖出的数量。在本文中,动作 a[t] 是一个向量,包含在下一个时期内要卖出和买入的资产份额。但是本文的action不是通过policy-net直接产生,而且policy net 生成的pt再通过一个Transaction Optimization,结合pt,p’t-1和交易费率然后产生at。通过产生的at,agent执行买卖操作,调整qt(持有份额)。
    Reward(奖励) 奖励反映了投资者在执行交易动作后投资组合的变化情况,即是否增加了投资组合的价值。在本文中,奖励是通过实际利润或亏损来计算的,通常是在一个持有周期结束后评估的。同时本文,还引入了期间回报(Period Return, PR)和差异夏普比率(Differential Sharpe Ratio, DSR)。
    在这里插入图片描述
  • RL network
    前面提到state的特征为f–7个,将价格和成交量(6个数据)分为两组分别进行标准化。标准化后进入两个 GRU 层,这使得模型能够有效地捕捉时间序列数据中的复杂模式和依赖关系。再与资产组合条目进行拼接,最后通过全连接层。
    每个资产的特征张量独立通过网络,从而实现,动态的资产数量。

在这里插入图片描述

奖励函数

文章中设计了两种基于不同奖励函数的代理(agents):DNA-R(使用期间回报作为奖励函数)和DNA-S(使用差异夏普比率作为奖励函数)。

  • DNA-R基于的是期间回报PR,其旨在衡量在某段时间内组合资产收益或损失。公式如下: P R [ t ] = Q [ t ] − Q ′ [ t − 1 ] Q ′ [ t − 1 ] PR[t] = \frac{Q[t] - Q'[t-1]}{Q'[t-1]} PR[t]=Q[t1]Q[t]Q[t1]
    其中,Q[t]是时间步t时的投资组合价值,Q’[t-1]是在上一步时的投资组合价值。期间回报计算量投资组合价值在两个相邻时间步的变化百分比。
  • DNA-S基于差异夏普比率是一种考虑了风险的回报度量,它通过计算在每一步对夏普比率(Sharpe Ratio, SR)的贡献来近似夏普比率的变化。DSR 的公式如下:
    D S R [ t ] = ( B [ t − 1 ] Δ A [ t ] − 0.5 A [ t − 1 ] Δ B [ t ] ) 3 / 2 ( B [ t − 1 ] − A 2 [ t − 1 ] ) 3 / 2 DSR[t] = \frac{(B[t-1]\Delta A[t] - 0.5 A[t-1]\Delta B[t])^{3/2}}{(B[t-1] - A^2[t-1])^{3/2}} DSR[t]=(B[t1]A2[t1])3/2(B[t1]ΔA[t]0.5A[t1]ΔB[t])3/2
    其中 A[t] 和 B[t] 分别表示在时间步 t 的均值和方差的估计值,并且它们会根据时间步的收益逐步更新:
    在这里插入图片描述
    这里 r[t] 是在时间步 t 的收益,代表了代理在当前时期的表现,不是reward的意思。

最优交易

从Policy Network输出的p[t](即建议的投资组合向量)代表了网络建议在下一个时间段应该持有的资产份额。然而,因为p[t]与当前持有的投资组合p’[t-1]可能不同,所以需要执行某些交易来达到p[t]。此时,寻找最优交易意味着要确定哪些资产应该卖出(记作非负变量ŷi),哪些资产应该买入(记作非负变量x̂i),从而使得从当前投资组合到建议投资组合的转换成本最低。在本文中,解决最优交易问题的方法是通过将交易问题转化为线性规划问题来实现的。
在这里插入图片描述

  • 最大化μ 定义了一个变量μ来表示交易前后的投资组合价值变化比值,该比值表示交易前后投资组合价值比值的指标,其值等于1减去所有卖出资产因交易成本造成的损失占比和买入资产因交易成本造成的损失占比之和。这个线性规划的目标是最大化μ,即最小化交易成本对投资组合价值的影响。
  • 约束条件
    等式1约束用来确保每个资产在交易之后的数量符合目标投资组合的要求。yi − xi + (∑(𝑠𝑗𝑦𝑗) + ∑(𝑏𝑗𝑥𝑗)) pi = p’i − pi 中,yi 和 xi代表的是买入和卖出的比例, (∑(𝑠𝑗𝑦𝑗) + ∑(𝑏𝑗𝑥𝑗)) pi这一部分是现金变化再乘以持有比例。 等式3− ∑(1 − sj)yj + ∑(1 + bj)xj ≤ p’0
    ,用来保证购买资产所花费的现金加上交易成本不会超过交易前的现金余额加上出售资产所获得的现金减去交易成本后的余额。

实验

使用的数据集来自Binance交易所,研究使用的数据覆盖了从2017年8月17日至2019年11月1日期间的市场历史数据。只考虑了可以直接兑换为USDT的资产。
本文进行了三组不同的回测实验,对于24小时的交易时段,持仓期设为30分钟;对于14天的交易时段,持仓期设为6小时;而对于30天的交易时段,持仓期则设为1天。
尽管DNA-S在最短持仓期的设置下表现最好,但DNA-R在整个设置中都表现出良好的TR和SR,尤其是在“30天的交易时段,持仓期设为1天”情况下。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值