登录    注册      
    
  

News Message

强化学习在金融中的运用 DeepTrader



强化学习在金融中的运用 DeepTrader



DeepTrader: A Deep Reinforcement Learning Approach for Risk-Return Balanced Portfolio Management with Market Conditions Embedding


算法:

图1 DeepTrader算法框架

DeepTrader的算法一共包括上面的绿色、蓝色、紫色三部分,对应的是股票打分市场情绪投资组合生成器。其中绿色和紫色部分是原来AlphaStock有的结构,作者在原来的attention基础上加了创新;蓝色框里的市场情绪打分是本文额外加的,原来AlphaStock中设定的是多仓和空仓头寸是相等的,是zero-investment portfolio,而本文认为市场有时候利空有时候利多,所以用一些宏观市场变量(比如整个股票池中有多少只股票涨)等来计算市场的情绪,据此分配空头仓位。

整个算法流程就是股票打分器(绿色部分)对股票的涨跌潜力打分并给出投资组合占比,而市场打分器(蓝色部分)分配空头资金量,二者结合一下就是最后的投资组合(紫色部分)。

下面我们来看一下三个部分的具体结构:

1. Asset scoring unit

由三个关键技术组成:时间卷积层(TCN)、空间注意力机制(Spatial Attention)和卷积层,分别用于提取各股票的时间特征、股票之间的短期空间关系(相关性)和长期空间关系(因果关系、行业结构等)。

(1)Temporal Convolution Layer.

这一步是在AlphaStock的LSTM-HA那里,用TCN来代替LSTM,获取股票的时间特征表示。TCN相比RNN类的方法,好处是可以并行计算(计算快),减轻了梯度爆炸和消失的问题。

对TCN不了解的朋友可以看这篇笔记熟悉一下:
随风:时间序列分析(5) TCN
“实验表明,RNN 在几乎所有的序列问题上都有良好表现,包括语音/文本识别、机器翻译、手写体识别、序列数据分析(预测)等。
在实际应用中,RNN 在内部设计上存在一个严重的问题:由于网络一次只能处理一个时间步长,后一步必须等前一步处理完才能进行运算。这意味着 RNN 不能像 CNN 那样进行大规模并行处理,特别是在 RNN/LSTM 对文本进行双向处理时。这也意味着 RNN 极度地计算密集,因为在整个任务运行完成之前,必须保存所有的中间结果。
CNN 在处理图像时,将图像看作一个二维的“块”(m*n 的矩阵)。迁移到时间序列上,就可以将序列看作一个一维对象(1*n 的向量)。通过多层网络结构,可以获得足够大的感受野。这种做法会让 CNN 非常深,但是得益于大规模并行处理的优势,无论网络多深,都可以进行并行处理,节省大量时间。这就是 TCN 的基本思想。”
图2 TCN:简单来说,就是使用了空洞卷积和ResNet结构

我们把第 l 块(block)的输入记作Hl1RC×N×Kl1,其中 N 是股票数量, C 是隐藏层特征维度, Kl1 为第 l1 块的时间长度。

沿时间维度进行TCN运算后,TCN的输出为 H^l 。

如图1绿框部分所示,用TCN提取的股票时间特征H^l 分别被输入到spatial attention和GCN两个组件中产生股票短期相关性权重Sl 长期相关性权重 Zl ,两者相乘作为股票的最终空间相关性权重。

(2)Spatial Attention Mechanism.

这一步是为了模拟股票之间的短期空间属性。得到TCN输出的股票时间特征表示 H^l 后,输入到空间注意力机制中用来产生一个权重,这个权重代表股票间的相关性关系:

(1)S^l=Vssigmoid((H^lW1)W2(W3H^lT(1,2))T+bs)

W1RKl,W2RC×Kl,W3RC,VsRN×N 是参数,上标 T(1,2) 表示前两个维度的转置, bs 是bias向量。

接下来再把每个元素用softmax归一化一下,用来代表股票i和j的相关性:

Si,jl=exp(S^i,jl)v=1Nexp(S^i,vl).

(3)Graph Convolution Layer.

图卷积层用来对股票间的长期空间关系进行建模。

虽然个股的表现具有变化的波动性,但行业(industry)的整体表现通常更能反映未来的经济形势热点。这里用了图卷积网络GCN,通过消息传递来获取图中节点的依赖关系,将边和节点的信息集成到表示中。

这里关于股票的图结构的构建,作者实验了以下几种方式:

  • 股票行业分类
  • 股票收益的相关性
  • 股票收益的偏相关性
  • 因果关系(通过PC算法识别股票之间的因果结构)

仍然是用TCN的输出H^l 作为输入,

(1)对于使用股票行业分类方式构建的图结构:

由于只使用行业分类信息可能会忽略某些依赖关系(比如亚马逊归类是零售贸易,但是它也受益于互联网红利),为了避免这个问题,这里GCN使用复杂一点的结构:使用Graph WaveNet for Deep Spatial-Temporal Graph Modeling. (arXiv:1906.00121)这篇文章里的公式

(2)Zl=q=0QA~qH^lΘ1,q+A~cH^lΘ2

其中 A~=A/rowsum(A) , Θ1,Θ2RKl×Kl 是GCN中可以学习的参数。 A~c用于捕捉相关性,A~c:=SoftMax(ReLU(EET)) ,这里 ERN 是随机初始化的可学习的参数,Q是平衡 A~ 和 A~c 之间信息量的参数。

(2)对于上面说的用后三种方式(收益相关性、偏相关性和因果关系)构建的图结构来说,我们使用(3)Zl=q=0QA~qH^lΘ1,q

也就是公式(2)的第二项不需要了,因为依赖关系已经从数据中估计出来了。

这样我们得到了股票长期相关性权重 Zl 。

(4)Stock scoring

现在我们有了两个权重矩阵 Sl,Zl ,使用残差网络结构,第l个block的输出就可以写为

Hl=Sl×ZlHl1这里  是残差连接的意思。

对残差网络不熟悉的小伙伴请看这篇介绍:
小小将:你必须要知道CNN模型:ResNet

以上(1-4)步描述的就是图1里面绿框中蓝色矩形block的结构,然后我们把这个block结构堆叠L次获得第L块的输出 HL ,就是最后的股票的时空特征。

最后,我们将 HL 过一个全连接层,得到的最后股票的涨跌潜力打分:(4)v=sigmoid(WLHL+bL)这就是股票打分器的最后输出了。

2. Market Scoring Unit

由于随机赌博和突发事件,金融数据包含大量不可预测的不确定性。根据历史观察来准确判断股票的涨跌是不可行的。在以往基于RL的投资模型中,投资策略仅仅是基于对每只股票的分析,而忽略了市场的变化。

而顺应市场是一个更好的投资策略。当股市下跌时,有经验的投资者倾向于在卖空上花更多的钱。为了平衡收益和风险,本文提出了市场评分单元。以市场情绪指标为输入,动态调整资金配置。

这部分就是市场特征过了一个LSTM加一个时间维度上的attention(和AlphaStock的LSTM-HA是一样的),最终输出正态分布的期望和方差 μ,σ ,空仓资金的比例就用 ρN(μ,σ2) 来产生:

用LSTM提取市场变量 xm的表示hk=LSTM(hk1,xkm)

用注意力机制加权来捕捉较早的信息关系ek=VeTtanh(U1[hk;hK]+U2xkm)αk=exp(ek)i=1Kexp(ei)

最后的LSTM输出为 h^K=k=1Kαkhk ,然后输出正态分布的均值和方差μ,σ=Umh^K+bm

3. Portfolio Generator

和AlphaStock一样,在获得股票打分器给出的分数 v 后,选出前G只股票做多,后G只股票做空,然后使用v的softmax产生投资组合权重,

与AlphaStock不同的是,多了一个市场打分得到的空仓比例 ρ。 这可以看作是在连续动作空间Am[0,1] 中选择一个值,在训练阶段根据正态分布 N(μ,σ2) 对 ρ 进行采样,在测试阶段 ρ=μ ,然后将这个值固定到[0,1]的范围内。

以上流程完成后,按照交易流程中规定的流程完成交易周期。

4. Optimization via RL

以上过程用RL来优化,策略 π 由选股分配组合权重和空仓比例两部分组成。

(1)第一个是选股分配组合权重:πa(i|Xa,θa)=exp(vi(θa))n=1Nexp(vn(θa))

return rate是 rt=ytπθaa1yt=Pt+1(c)/Pt(c)

如果初始投资金额是 C0 ,一个轨迹 τ 的累积金额为

C|τ|=C0Πt=0|τ|(1+rt)=C0Πt=0|τ|ytπθaa

股票评分单元的优化目标为迹的对数累积财富最大化:

(2)而市场打分的策略使用高斯策略:

πm(ρ~|Xm,θm)=12πσ(θm)exp((ρ~μ(θm))22σ2(θm))

给定reward Rt ,优化目标为

把二者加权求和就是最终的优化目标:

然后用梯度下降更新就可以了。

实验

为了全面评估DeepTrader,作者对三个知名股指的成分股进行了实验,旨在回答以下问题:

Q1: DeepTrader的表现如何,尤其是在一些特殊的金融事件中,比如次贷危机呢?

Q2: DeepTrader的关键创新【attention、GCN】和【市场评分单元】,是否有必要、提高性能?

Q3: 市场评分单元奖励函数的选择,如何影响投资效果?

Q4: GCN的图结构是否影响投资效果?

Baseline

比较的方法是五种相关的方法,即Market、BLSW (1988), Csm (1993), EIIE(Jiang,2017)和AlphaStock (AS) (Wang et al. 2019)。

  • market是一种简单的买入并持有策略。
  • BLSW是一种基于均值回归的策略(Poterba和Summers 1988)。
  • CSM是一种经典的动量策略。
  • ElIE和AS是最近发展起来的两种基于RL的方法。

五种方法中,BLSW,CSM和AS可以进行做空操作。

Ablation

还实现了DeepTrader (DT)的几个变体简化版本,其中“N”意味着没有或从DeepTrader删除一些组件。

  • DT-NS从股票打分单元中去除了空间注意机制和GCN层,
  • 而DT-NM则去掉了市场评分单元。

还研究了不同的奖励函数和图结构对GCN的影响。默认情况下,我们使用最大回撤MDD作为奖励函数,股票行业分类产生图结构。

评价指标

我们在实验中使用了六个指标,分为三类:

  • 1)利润准则,包括年化收益率(annual Rate of Return, ARR);
  • 2)风险准则,包括年化波动率(annual Volatility, AVol)和最大回撤(Maximum DrawDown, MDD);(越低越好)
  • 3)风险-收益准则,包括年化夏普比率(ASR)、卡尔玛比率(CR)、Sortino比率(SoR)。


Share Http URL:  http://www.wittx.cn/get_news_message.do?new_id=1044



请输入评论