1 解决了什么问题?
投资组合管理是一项基本的财务计划任务,旨在实现诸如最大利润或最小风险等投资目标。其决策过程涉及从各种数据源不断推导有价值的信息和顺序决策优化,这是强化学习的一个前瞻性研究方向。本文提出了 SARL,这是一种用于投资组合管理的新型状态增强强化学习框架。该框架旨在解决投资组合管理中的两个问题:
- 数据异构性。为每项资产收集的信息通常是多样化的、嘈杂的和不平衡的(例如,新闻文章);
- 环境不确定性。金融市场是多面且不稳定的。合并异构数据并增强对环境不确定性的稳健性,SARL 将价格变动预测作为附加状态来增强资产信息,其中预测可以仅基于财务数据(例如,资产价格)或来自新闻等替代来源。
SARL 是一个通用框架,它可以 将不同的信息源合并到增强状态中。它也不限于任何特定市场。在本文中,信息来源主要包括 资产价格、 典型的财务数据、 不同产品(公司)的新闻文章、 典型的另类数据。
另外,作者通过实验得出:
- 利用多样化的信息可以减少环境不确定性的影响。(提升框架的泛化性)
- 即使信息嘈杂,高密度(更频繁)的外部信息也可以帮助提高整体 PM 性能。
- 低密度但高精度的外部信息也可以提高PM性能。
2 所提出了什么方法?
2.1 Problem Formulation
本文将 PM 问题定义为马尔科夫决策过程,三元组 ( S , A , r ) (S, A, r) (S,A,r)。
-
v i , t v_{i, t} vi,t:第 i i i 个资产在时间步 t t t 的收盘价, i = { 1 , … , n } i=\{1, \ldots, n\} i={1,…,n}, n n n 表示投资组合考虑的所有资产的总数;
-
v t v_t vt:向量,表示所有 n n n 个资产在时间步 t t t 的收盘价;
-
v t H , v t L v_t^H, v_t^L vtH,vtL :向量,分别表示所有 n n n 个资产在时间步 t t t 的最高价和最低价;
-
v 0 , t v_{0,t} v0,t:表示在时间步 t t t 的现金价格。当我们对 v t v_t vt 相对于现金价格的所有时间变化进行归一化时, v 0 , t v_{0,t} v0,t 对于所有 t t t 保持不变;
-
y t y_t yt:相对价格向量。衡量资产的变化情况:
y t = v t + 1 v t = ( 1 , v 1 , t + 1 v 1 , t , … , v n , t + 1 v n , t ) T \boldsymbol{y}_{\boldsymbol{t}}=\frac{\boldsymbol{v}_{\boldsymbol{t}+1}}{\boldsymbol{v}_{\boldsymbol{t}}}=\left(1, \frac{v_{1, t+1}}{v_{1, t}}, \ldots, \frac{v_{n, t+1}}{v_{n, t}}\right)^{T} yt=vtvt+1=(1,v1,tv1,t+1,…,vn,tvn,t+1)T -
w t w_t wt:重新分配权重分数, w t = ( w 0 , t , w 1 , t , … , w n , t ) T w_t=\left(w_{0, t}, w_{1, t}, \ldots, w_{n, t}\right)^{T} wt=(w0,t,w1,t,…,wn,t)T。其中, w 0 , t w_{0,t} w0,t 为在时间步 t t t 结束的现金的权重分数。同时有:
∑ i = 0 n w i , t = 1 \sum_{i=0}^{n} w_{i, t}=1 i=0∑nwi,t=1
RL 代理根据时间步 t − 1 t-1 t−1 和 t t t 之间的 w t w_t wt 和 w t − 1 w_{t-1} wt−1 的差值出售或购买资产,以重新分配投资组合。
2.2 SARL 框架
该框架如下图所示。
- 资产价格 作为内部特征来源,组成原始状态 s ∗ s^* s∗;
- 金融新闻嵌入 和 价格预测标签 组成股票移动信号 δ \delta δ,用于增强原始状态;
- 使用 确定性策略梯度算法 来学习 PM 的策略
2.2.1 增强的资产变动预测状态
本文的创新点之一:将异构数据整合到标准的 RL 训练管道中变得通用,这一步的关键在于编码器 δ \delta δ,它采用不同类型的数据源并将其内容转换为信息表示,以增强资产价格以训练 RL 代理。
例如,编码器 δ \delta δ 可以是一个分类器,将过去一段时间内的资产价格作为输入并产生资产运动预测,也可以是从文本分类器派生的特征提取函数,该分类器在新闻的词嵌入上进行训练 用于资产变动预测。
总而言之,增强状态定义为:
s
=
(
s
∗
,
δ
)
s=\left(s^{*}, \delta\right)
s=(s∗,δ)
其中,
s
∗
s^{*}
s∗ 是 与低级观测相关的可观测状态,也就是当前的资产价格;而
δ
\delta
δ 为 总结高级观察的编码器,即从过去资产价格和新闻中预测资产的移动。
对于内部特征,作者使用 LSTM 来预测资产移动,二元输出(价格上涨/下跌)将指导模型选择更好的策略。
对于外部特征,作者收集与为 PM 选择的资产相关的 金融新闻文章,使用不同种类的自然语言处理方法作为编码器来嵌入新闻,然后将嵌入馈送到 分层注意网络 (HAN) 以训练二元分类器来预测价格走势。提取 softmax 层之前最后一层的特征来表示新闻的嵌入。最后,作者将嵌入集成到状态中以进行增强。
2.2.2 确定性策略梯度
策略是从状态空间到动作空间的映射
π
θ
:
S
→
A
\pi_{\theta}: S \rightarrow A
πθ:S→A,策略梯度通过参数概率分布来表示策略
π
θ
(
a
∣
s
)
=
P
(
a
∣
s
;
θ
)
\pi_{\theta}(a \mid s)=P(a \mid s ; \theta)
πθ(a∣s)=P(a∣s;θ),从根据参数向量
θ
\theta
θ 处于状态
s
s
s 的动作空间中选择动作。对于确定性策略
a
=
μ
θ
(
s
)
a=\mu_{\theta}(s)
a=μθ(s),选择是由来自某个状态的策略确定性地产生的。由于回报
r
t
γ
r_{t}^{\gamma}
rtγ 被定义为从时间步长
t
t
t 开始的总折扣奖励,
r
t
γ
=
∑
k
=
t
∞
γ
k
−
t
r
(
s
k
,
a
k
)
r_{t}^{\gamma}=\sum_{k=t}^{\infty} \gamma^{k-t} r\left(s_{k}, a_{k}\right)
rtγ=∑k=t∞γk−tr(sk,ak),其中
r
r
r 是奖励函数,
γ
\gamma
γ 是折扣因子,其中
0
<
γ
<
1
0 < γ < 1
0<γ<1。我们将性能目标定义为
J
(
μ
θ
)
=
E
[
r
1
γ
∣
μ
]
J\left(\mu_{\theta}\right)=\mathbb{E}\left[r_{1}^{\gamma} \mid \mu\right]
J(μθ)=E[r1γ∣μ],这是对定义为的折扣状态分布
ρ
μ
(
s
)
\rho^{\mu}(s)
ρμ(s) 的期望。
J
(
μ
θ
)
=
∫
S
ρ
μ
(
s
)
r
(
s
,
μ
θ
(
s
)
)
d
s
=
E
s
∼
ρ
μ
[
r
(
s
,
μ
θ
(
s
)
)
]
\begin{aligned} J\left(\mu_{\theta}\right) &=\int_{S} \rho^{\mu}(s) r\left(s, \mu_{\theta}(s)\right) \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\mu}}\left[r\left(s, \mu_{\theta}(s)\right)\right] \end{aligned}
J(μθ)=∫Sρμ(s)r(s,μθ(s))ds=Es∼ρμ[r(s,μθ(s))]
考虑从
1
1
1 到
T
T
T 的时间间隔,对应的性能目标函数为:
J
T
(
μ
θ
)
=
∑
t
=
1
T
γ
t
r
(
s
t
,
μ
θ
(
s
t
)
)
J_{T}\left(\mu_{\theta}\right)=\sum_{t=1}^{T} \gamma^{t} r\left(s_{t}, \mu_{\theta}\left(s_{t}\right)\right)
JT(μθ)=t=1∑Tγtr(st,μθ(st))
上式是典型的马尔可夫决策过程目标函数。然而,这种类型的函数与投资组合管理任务不匹配,因为时间
t
t
t 累积的资产将在时间
t
+
1
t + 1
t+1 重新分配。因此,作者将总和替换为投资组合价值
P
T
=
∏
t
=
1
T
P
0
r
t
P_{T}=\prod_{t=1}^{T} P_{0} r_{t}
PT=∏t=1TP0rt 的累积乘积。因此,性能目标变为
J
T
(
μ
θ
)
=
J
0
∏
t
=
1
T
r
(
s
t
,
μ
θ
(
s
t
)
)
J_{T}\left(\mu_{\theta}\right)=J_{0} \prod_{t=1}^{T} r\left(s_{t}, \mu_{\theta}\left(s_{t}\right)\right)
JT(μθ)=J0t=1∏Tr(st,μθ(st))
其中,
J
0
J_0
J0 是一个常数。
2.2.3 投资组合优化的动作和回报
Action(a). 如前文所述,作者使用
w
t
=
(
w
0
,
t
,
w
1
,
t
,
…
,
w
n
,
t
)
T
w_t=\left(w_{0, t}, w_{1, t}, \ldots, w_{n, t}\right)^{T}
wt=(w0,t,w1,t,…,wn,t)T 来表示资产的分配。agent 要做的就是重新将资产进行分配,即调整为
w
t
+
1
w_{t+1}
wt+1。在时间步
t
t
t 处,所需重新分配权重
a
t
=
{
a
0
,
t
,
a
1
,
t
,
…
,
a
n
,
t
}
T
a_{\boldsymbol{t}}=\left\{a_{0, t}, a_{1, t}, \ldots, a_{n, t}\right\}^{T}
at={a0,t,a1,t,…,an,t}T,
∑
i
=
0
n
a
i
,
t
=
1
\sum_{i=0}^{n} a_{i, t}=1
∑i=0nai,t=1,即为模型的动作向量。通过在时间步
t
t
t 采取行动,资产分配向量将受到价格变动
y
t
y_t
yt 的影响。 在时间段结束时,分配向量
w
t
+
1
w_{t+1}
wt+1 变为
w
t
+
1
=
y
t
⊙
a
t
y
t
⋅
a
t
w_{t+1}=\frac{y_{t} \odot a_{t}}{y_{t} \cdot a_{t}}
wt+1=yt⋅atyt⊙at
其中,
⊙
\odot
⊙ 是逐元素乘法。
Reward®. 每个时间步的奖励函数可以根据代理的利润以标准方式定义。每项资产的资产价值波动为
a
t
,
i
⋅
y
t
,
i
a_{t, i} \cdot y_{t, i}
at,i⋅yt,i,因此在时间步
t
t
t 上的总收益为
a
t
⋅
y
t
a_{t} \cdot y_{t}
at⋅yt。同时,考虑到交易成本
β
=
∑
i
=
1
n
∣
a
i
,
t
−
w
i
,
t
∣
\beta=\sum_{i=1}^{n}\left|a_{i, t}-w_{i, t}\right|
β=∑i=1n∣ai,t−wi,t∣,在时间步
t
t
t 的即时奖励可以表示为:
r
t
=
r
(
s
t
,
a
t
)
=
a
t
⋅
y
t
−
β
∑
i
=
1
n
∣
a
i
,
t
−
w
i
,
t
∣
r_{t}=r\left(s_{t}, a_{t}\right)=\boldsymbol{a}_{\boldsymbol{t}} \cdot \boldsymbol{y}_{\boldsymbol{t}}-\beta \sum_{i=1}^{n}\left|a_{i, t}-w_{i, t}\right|
rt=r(st,at)=at⋅yt−βi=1∑n∣ai,t−wi,t∣
交易成本的引入使得公式更接近真实的市场运作,但给数学形式化带来了更多的困难。显然,这个奖励函数在这种形式下是不可微的。应用 (Jiang, Xu, and Liang 2017) 中的
β
β
β 近似值,该近似值用最近两个时期的投资组合向量和价格运动向量来近似
β
t
β_t
βt,得到
β
t
=
β
t
(
w
t
−
1
,
w
t
,
y
t
)
\beta_{t}=\beta_{t}\left(\boldsymbol{w}_{t-1}, \boldsymbol{w}_{t}, \boldsymbol{y}_{t}\right)
βt=βt(wt−1,wt,yt)。
非现金资产交易采用固定的固定佣金率。本文设置
c
b
=
c
s
=
0.25
%
c_{b}=c_{s}=0.25 \%
cb=cs=0.25% 其中
c
b
cb
cb 和
c
s
cs
cs 是买卖的固定佣金率。按照修改后的 DPG 的设置,agent 的目标是最大化累积的乘积值,相当于最大化对数值的总和。最后,在时间步
t
t
t 得到修改后的奖励函数可表示为:
r
t
=
r
(
s
t
,
a
t
)
=
ln
(
β
t
a
t
⋅
y
t
)
r_{t}=r\left(s_{t}, a_{t}\right)=\ln \left(\beta_{t} \boldsymbol{a}_{\boldsymbol{t}} \cdot \boldsymbol{y}_{\boldsymbol{t}}\right)
rt=r(st,at)=ln(βtat⋅yt)
累计回报可表示为:
R
(
s
1
,
a
1
,
…
,
s
T
,
a
T
)
=
J
T
=
1
T
∑
t
=
1
T
ln
(
β
t
a
t
⋅
y
t
)
R\left(s_{1}, a_{1}, \ldots, s_{T}, a_{T}\right)=J_{T}=\frac{1}{T} \sum_{t=1}^{T} \ln \left(\beta_{t} a_{t} \cdot y_{t}\right)
R(s1,a1,…,sT,aT)=JT=T1t=1∑Tln(βtat⋅yt)
考虑到策略
μ
θ
μ_θ
μθ,我们的目标是最大化由
θ
θ
θ 参数化的目标函数,我们可以正式写成如下:
μ
θ
∗
=
arg
max
μ
θ
J
T
(
μ
θ
)
=
arg
max
μ
θ
1
T
∑
t
=
1
T
ln
(
β
t
a
t
⋅
y
t
)
\begin{aligned} \mu_{\theta *} &=\arg \max _{\mu_{\theta}} J_{T}\left(\mu_{\theta}\right) \\ &=\arg \max _{\mu_{\theta}} \frac{1}{T} \sum_{t=1}^{T} \ln \left(\beta_{t} \boldsymbol{a}_{\boldsymbol{t}} \cdot \boldsymbol{y}_{\boldsymbol{t}}\right) \end{aligned}
μθ∗=argμθmaxJT(μθ)=argμθmaxT1t=1∑Tln(βtat⋅yt)
∇ θ μ θ ( τ ) = 1 T ∑ t = 1 T ∇ θ ln μ θ ( a t , s t ) \nabla_{\theta} \mu_{\theta}(\tau)=\frac{1}{T} \sum_{t=1}^{T} \nabla_{\theta} \ln \mu_{\theta}\left(a_{t}, s_{t}\right) ∇θμθ(τ)=T1t=1∑T∇θlnμθ(at,st)
θ ← θ + λ ∇ θ μ θ ( τ ) \theta \leftarrow \theta+\lambda \nabla_{\theta} \mu_{\theta}(\tau) θ←θ+λ∇θμθ(τ)
其中 λ λ λ 是学习率。由于分母 T T T 的存在,方程对不同长度 T T T 的数据进行了适当的归一化,这也使得在采样时间段内进行小批量训练是可行的。
3 实验效果如何?
3.1 数据集
作者使用两个不同的市场的数据。
-
Bitcoin. 包含从 2015 年 6 月 30 日到 2017 年 6 月 30 日的 10 种不同加密货币的价格。对于每种加密货币,我们有 35089 个数据点代表每半小时记录的价格。为了评估性能,我们将数据集按时间顺序分为训练(32313 个数据点)和测试(2776 个数据点)部分。
-
HighTech. 包括每日收盘资产价格和 2006 年 10 月 20 日至 2013 年 11 月 20 日的财务新闻。即使我们选择新闻尽可能多的公司,图 2 中所选公司的新闻文章分布表明我们无法获得特定公司的日常新闻。为了有足够的外部信息来证明在真实市场中使用状态增强的合理性,我们从我们的数据集中选择了 9 家新闻最多的公司。通过公司名称匹配过滤的9只股票共有4810篇相关文章。这些新闻文章涵盖了该数据集中 72.48% (1293/1784) 的交易日。我们将数据集分为 1529 天用于训练和 255 天用于测试。
3.2 评估标准
本文使用两个评估指标来衡量特定 PM 策略的性能。最直观的指标是分析资产价值在测试时间内的累积变化,称为投资组合价值(PV)。 为了考虑风险因素,引入夏普比率 (SR),即风险调整后的回报。
-
Portfolio Value. 给定任何 PM 策略,资产在最终时间范围 T T T 的投资组合价值 (PV) 可以通过以下方式计算:
p T = p 0 exp ( ∑ t = 1 T r t ) = p 0 ∏ t = 1 T β t a t ⋅ y t p_{T}=p_{0} \exp \left(\sum_{t=1}^{T} r_{t}\right)=p_{0} \prod_{t=1}^{T} \beta_{t} \boldsymbol{a}_{t} \cdot \boldsymbol{y}_{t} pT=p0exp(t=1∑Trt)=p0t=1∏Tβtat⋅yt -
Sharpe Ratio. 夏普比率 (Sharpe and Pnces 1964) 是超过每单位波动率或总风险的无风险利率的平均回报。它用于比较投资组合的回报与其风险,定义为:
Sharpe Ratio = R p − R f σ p \text { Sharpe Ratio }=\frac{R_{p}-R_{f}}{\sigma_{p}} Sharpe Ratio =σpRp−Rf
其中 R p R_p Rp 是投资组合的收益, R f R_f Rf 是无风险利率, σ p σ_p σp 是投资组合超额收益的标准差。这里使用 R p = ∑ t = 1 T β t a t ⋅ y t R_{p}=\sum_{t=1}^{T} \beta_{t} \boldsymbol{a}_{t} \cdot \boldsymbol{y}_{t} Rp=∑t=1Tβtat⋅yt 并设置 R f = 2 % R_{f}=2 \% Rf=2% 作为典型的银行利息值。
3.3 Baselines
作者与以下方法进行对比:
- CRP. Constant rebalanced portfolio (CRP). 它每天在一组资产之间保持相同的财富分配。也就是说,在每一天开始时,给定资产中总财富的比例是相同的。
- OLMAR. On-Line Moving Average Reversion. 是一种利用移动平均回归来克服单期均值回归假设的限制的方法。
- WMAMR. Weighted Moving Average Mean Reversion(WMAMR) 是一种使用等加权移动平均线充分利用过去期间价格相关性,然后通过在线学习技术学习投资组合的方法。
- EW. EqualWeight 是一个简单的基线,它让代理统一投资所有股票。EW 的走势可以反映市场的宏观走势。
- DPM. 深度投资组合管理是一种基于相同独立评估器集成 (EIIE) 拓扑的方法。DPM 使用资产价格作为状态,并使用深度神经网络 (DNN) 近似策略函数训练代理,以评估每种资产在不久的将来的潜在增长,它是用于 PM 的最先进的 RL 算法。
3.4 数据带来的挑战
- 不平衡的数据分布。尽管作者已经选择了新闻最多的 9 家公司进行绩效评估,但图 2 显示各公司的财务新闻分布高度不平衡。例如,苹果的新闻数量是百度的 33 倍。此外,不平衡的新闻分布也会随着时间的推移而发生 —— 每家公司不能保证每天都有相关的新闻文章。更一般地说,并非每个状态 s t s_t st 都会有其相应的外部特征。
- 嘈杂的外部数据。由于新闻可以涵盖多个主题,并且无论上下文如何,只要提及公司名称,我们就会保留一篇新闻文章,因此可能会有很多与投资组合管理无关的冗余和无用信息。为了证明新闻中固有噪声的问题,我们在三种不同的词嵌入技术上训练了一个文本分类器层次注意网络 (HAN)。我们还采用 Auto Phrase 进行短语挖掘并训练一个随机初始化的嵌入网络。表 1 说明了股票走势预测的平均训练和测试准确度,其中最佳训练/测试准确度不超过 66%/61%,表明收集的新闻中有噪声信息。
- 环境不确定性。与有一定规则的游戏任务不同,PM 深受市场动态的影响。如果市场动态发生重大变化(即分布转移问题),则根据过去市场动态训练的标准 RL 代理的 PM 策略可能无法推广到未来市场。我们将使用不同测试时间段的夏普比率来说明环境不确定性的影响。
3.5 结果分析
Portfolio Value (PV). 在比特币数据集中,我们使用过去 30 天的先前价格来训练分类器进行价格上涨/下跌预测。我们采用基于 LSTM 的神经网络作为编码器,分类器的训练准确率为 65.08%,测试准确率为 60.10%。在 HighTech 数据集中,我们使用与股票相关的财经新闻进行分类器训练。我们选择 Glove 作为嵌入方法,并采用 HAN 作为编码器,以获得每个新闻的股票走势预测的 100 维嵌入向量。训练/测试准确率为 64.10%/60.99%。每个数据集的分类器的训练和测试的划分遵循上述设置。在我们的 SARL 培训中,我们使用过去 30 天的价格作为标准状态 s ∗ s* s∗。在比特币中,我们使用它们相关的预测标签进行状态增强。在 HighTech 中,过去 12 天的平均新闻嵌入用于状态增强。如果在时间 t t t 没有外部源,我们将 δ δ δ 设置为零。测试集中最后阶段的 PV 证明了 SARL 的有效性。与比特币和高科技中用于 PM (DPM) 的最新 RL 算法相比,SARL 将 PV 分别提高了 140.9% 和 15.7%。由于加密货币市场波动性更大,因此好的代理更容易获得更多利润。
Sharpe Ratio (SR). 在 PM 中,由于环境分布的变化,SR 在测试集中通常会随着时间的推移而降低。尽管 SARL 的训练目标函数不涉及与风险相关的概念,但 SARL 在大多数情况下都获得了最高的 SR,这表明它能够学习风险不利的 PM 策略。此外,SARL 相对于 DPM 的优势也验证了为 PM 结合外部特征的重要性,因为它增强了代理的鲁棒性。
Studies on prediction accuracy and sparsity. 在这里,我们使用模拟预测标签作为状态增强来研究预测精度和标签密度(每个时间步的标签预测频率)对 PM 的影响。使用与原始数据集相同的标签密度模式,图 4 显示当准确度高于 60% 时,尽管预测有噪声,SARL 可以学习更好的 PM 策略。准确率越高,策略越好。此外,我们还在改变标签密度时对稀疏性测试进行了模拟。图 5 显示,PM 在比特币数据集上的性能也得益于更高的标签密度。通过模拟结果,我们可以发现,即使我们只有密度为 50% 但准确率为 70% 的标签,投资组合价值仍然有提升与 DPM 相比,为 90.3%。这种现象表明,如果我们有高置信度的标签,即使标签稀疏,我们也可以改进 PM 策略。类似的观察结果也适用于 HighTech 数据集,其中稀疏性测试的数字在补充材料中给出。
Hidden Correlation in News. 图 4 中的仿真结果显示,即使准确度为 60%,SARL 相对于 DPM 的改进也相对温和。然而,当我们使用财经新闻的嵌入来增强状态时,我们观察到在测试集中具有相似(约 60%)准确度的显着改进。结果揭示了财经新闻中隐藏的相关性,而不是随机模拟的标签预测。为了验证 SARL 可以利用的金融新闻的隐藏相关性,我们使用表 1 中不同的词嵌入方法,并在高科技数据集上以相同的模拟训练/测试精度训练 SARL 进行比较。图 6 验证了财经新闻中隐藏相关性的存在。结果表明,SARL 在金融新闻训练时的性能比在具有相同准确度的随机模拟标签上训练时的性能要好得多。结果还证实 SARL 能够从外部信息中学习以改进 PM。
Training SARL with different RL algorithms. 由于我们的 SARL 框架与标准 RL 训练兼容,我们采用了不同的 RL 算法,包括 DPG (Silver et al. 2014)、PPO (Schulman et al. 2017)、PG (Sutton et al. 2000) 来验证 SARL 的通用性。跨不同 RL 训练方法的大多数 SARL 变体确实显示出比 DPM 一致的性能提升。