【文献阅读】AlphaStock

1 研究动机是什么?

传统的 QT(quantitative trading)策略通常是基于某种特定的金融逻辑,只能利用金融市场中的某些特定的特征,因此很容易受到不同状态的复杂市场的影响。近年来,使用 Deep Learning 从复杂的金融信号中提取特征的方法逐渐兴起。同时,Reinforcement Learning 采用深度神经网络,来加强传统的浅投资策略(traditional shallow investment strategies)。但将技术应用在现实的金融市场中仍会面对许多挑战:

1. 收益和风险的平衡。现有的深度学习模型重在价格预测,而没有风险意识,这与基本的投资原则相悖,同时导致收益欠佳。而强化学习模型有考虑到这个问题,但如何在风险收益平衡的 RL 框架中采用最先进的 DL 方法,目前暂未有研究。

2. 对资产之间关系的建模。市场上许多金融工具可以用来从资产之间的相互关系中获得风险意识利润,比如:BWSL策略。而现有的 RL/DL 策略很少有关注此信息。

3. 解释投资策略。即如何从 DL 和带有深层次的 RL 所支持的策略中提取可解释的规则。


2 预备知识

2.1 金融相关知识

1. Holding period:持有期。在投资一项资产中,一个持有期是 最小时间单位。我们将时间轴划分为固定长度的持有期,例如一天、一个月等。

2. Sequential investment:序列化投资序列化投资是一个持有期的序列。对于第 t 个持有期,策略使用原始资本投资于 t 时刻的资产,并在 t+1 时刻得到利润(可正可负数)。资本加上第 t 个持有期获得的利润等于第 t+1 个持有期的原始资本。

3. Asset Price:资产价格。资产价格是一个带有时间单位的序列。

4. Long position:多头头寸。多头头寸是在 t1 时刻买入,然后在 t2 时刻卖出的交易操作。资产 i 在 t1 到 t2 之间多头头寸的利润是:

 也就是,投资者预料到价格会上涨,故提前买入,等价格上涨后卖出的行为。

5. Short position:空头头寸。空头头寸是在 t1 时刻卖出,然后在 t2 时刻买入的交易操作。资产 i 在 t1 到 t2 之间多头头寸的利润是:

 也就是,投资者因预料价格会下跌提前提出卖出价格大笔卖出或者使卖出大于买入的行为。

一个做空的交易者从经纪人哪里借入一只股票并以 t1 的价格(高价卖)卖出,在 t2 时,交易者买回卖出的股票(低价买),然后归还给经纪人。

6. Portfolio:投资组合。投资组合定义为一个向量。每个元素是对应资产在总资产下的占比。

 M:投资组合的资金。

 7. Zero-Investment portfolio:零投资组合。Zero-Investment portfolio 是投资组合的集合,其净资产总额为零。

比如,A 买了(做多)X公司的一股股票,那么他完全受到该股票价值变动的影响。但如果,A同时卖出(做空)同一支股票,那么任何变动的影响都将被抵消。所以,多头和空头头寸的组合就是一个零投资组合

2.2 BWSL策略

Buy-winners-and-sell-losers 的核心就是 买入价格涨幅高的资产(winners),卖出价格涨幅低的资产(losers)

本文使用零投资组合的方式执行 BWSL 策略,包括两种组合:买入赢家的多头组合卖出输家的空头组合

1. 首先,在 t 时刻,借入“loser”股票并卖出(做空)。我们能借到的股票 i 的数量如下。其中,bt-(i) 为股票 i 在空头组合中所占比例。

2. 然后,在 t 时刻,买入“winner”(做多)。我们能买入股票 i 的数量如下。

这里用来做多的资金 M 是之前卖空的收益,因此投资组合的净投资为0。

3. 在 t 时刻结束时,卖出多头组合。我们能得到的金额是所有股票在 t+1 时以新价格p_t+1出售股票的收益。

 4. 同时,在 t 时刻结束时,买回空头组合并归还。买回股票所需要花费如下。

计算收益情况:

回报率计算:

如果我们想要 Rt > 0,那么需要:

可以看出,BWSL策略看重的是相对价格。尽管整个股票市场的所有股票都在跌,只要有 b+ 跌的速度小于 b- 跌的速度,就能保证获利。

2.3 优化目标

为了保证同时考虑风险和收益,本文采用的是 Sharpe radtio 来评估策略的表现。单位波动率超过无风险投资汇报的平均回报。

举例而言,假如国债的回报是3%,而你的投资组合预期回报是15%,你的投资组合的标准偏差是6%,那么用15%-3%,可以得出12%(代表超出无风险投资的回报),再用 12%/6%=2,代表投资者风险每增长1%,换来的是2%的多余收益


3 AlphaStock 模型框架

AlphaStack 是一个基于深层注意力网络的强化学习方法。它的本质上就是 BWSL(buying winners and selling losers)策略。它由三部分组成。

1. LSTM-HA。即带 history attention 的 LSTM 网络,用于从多个时间序列中提取资产表示

2. Cross-Asset Attention Networks(CAAN),即跨资产注意力网络。该网络能够充分模拟资产之间的相互关系以及资产价格上涨的先验情况

3. Portfolio generator,即投资组合生成器。根据注意力网络的输出赢家分数给出每种资产的投资比例

使用 RL 框架来优化模型。优化目标为 return-risk-balanced objective(收益-风险的平衡),即 Sharpe Radtio

Sharpe Radtio:计算投资组合每一单位总风险,会产生多少的超额报酬。理性的投资者将选择并持有有效的投资组合,即那些在给定的风险水平下使期望回报最大化的投资组合,或那些在给定期望回报率的水平上使风险最小化的投资组合。

进一步,为了增加 AlphaStock 的可解释性,作者提出了 seneitivity analysis method(敏感性分析方法),以解释模型如何根据输入的多角度特征来选择资产进行投资。

3.1 原始特征

模型包括两种特征:技术面基本面。具体为如下七个:

首先是三个技术面:

1. Price Rising Rate(PR):在最后一个持有期内股票价格上涨的速度。对于每个股票 i,定义为:p_{t}^{i}/p_{t+1}^{i}

2. Fine-grained Volatility(VOL):一个持有期可以被进一步划分为多个子阶段。本文设置一个月为持有期,因此一个子阶段可以是一个交易日。VOL 定义为从 t-1 到 t 的所有子阶段价格的标准差。

3. Trade Volume(TV):从 t-1 到 t 的股票交易总量。它反映了股票的市场活动。

然后是四个基本面:

4. Market Capitalization(MC):市值,是一种度量公司资产规模的方式,数量上等于该公司当前的 股票价格 乘以该公司 所有的普通股数量。市值通常可以用来作为收购某公司的成本评估,市值的增长通常作为一个衡量该公司经营状况的关键指标。市值也会受到非经营性因素的影响而产生变化,例如收购和回购。

5. Price-earnings Ratio(PE):市盈率,公司市值与其年度收益的比率。

6. Book-to-market Ratio(BM):账面市值比,公司账面价值与市场价值比率。

7. Dividend(Div):公司在第 t-1 个持有期内,从公司收益中给股东的奖励。

3.2 股票特征提取

在 t 时刻的历史状态使用向量表示上述特征,记为 x_t。

Look-back window(回顾窗口):时刻 t 上的最后 K 个历史持有期,即从时刻 t-K 到 t 的时期。本文将回顾窗口表示为一个关于 x 的矩阵 X。

本文使用 LSTM 网络将矩阵 X 递归编码为向量:

其中,h_k 是 LSTM 在第 k 步编码的隐藏状态。当走到最后一步时输出 h_K,h_K 用来作为这个股票的表示。它包含了 X 中元素的顺序依赖性。

进一步,本文引入了 history state attention。用所有的中间隐藏状态 来增强   。按照标准的注意力机制,增强后的表示记为 r。

3.3 Winners 与 Losers 的选择

首先使用 The Basic CAAN Model 来对股票之间的相互关系建模。

CAAN模型采用 自注意力机制,给定股票的表示 r^{(i)} ,我们为股票 i 计算一个查询向量 q^{(i)},一个关键向量 k^{(i)} 和一个值向量  。其中,下式的三个 W 是需要学习的参数。

股票 j 与股票 i 的 相互关系 建模为:使用股票 i 的 q^{(i)} 来查询股票 j 的  ,即(其中 Dk 是缩放参数)。

然后,本文将归一化的 相互关系 \beta _{ij}作为权重,将其他股票的   值相加,计算得分 a。其中 SATT 为注意力函数。

 本文使用全连接层将注意力向量 a 转化为 winner 得分:

其中 w, e 两个向量分别是全连接层的 weight 和 bias,需要训练得出。

winner 得分 s_{t}^{(i)} 说明:股票 i 在第 t 个持有期内成为 winner 的程度。一只得分较高的股票更有机会成为 winner。

进一步,作者提出可以使用 历史的价格上涨率排名的先验知识 来学习股票之间的关系,也就是上文的  。

本文用   表示股票 i 在 上一次持有期间(从 t-1 到 t) 的价格上升率的排名。然后,使用股票 c_{t-1}^{(i)} 坐标上的相对位置作为股票相互关系的先验知识。在 c_{t-1}^{(i)} 坐标轴上计算它们的 离散相对距离

其中,Q 是预设的量化系数。本文使用查找矩阵来表示每个离散值 d_{ij} 。以d_{ij} 为索引,对应的列向量 是相对距离 的嵌入向量。然后,作者使用列向量 计算先验关系系数

 其中 w 是一个可学习的参数。因此,股票 i 与股票 j 之间的关系可以按照下式计算:

计算完成之后的步骤跟 The Basic CAAN Model 后续步骤一样,计算出 winner 得分即可。

3.4 投资组合生成器

首先,作者根据 winner 得分把股票进行降序排列,得到每只股票的 i 的序号 o^{(i)} 。设置 G 为组合 的预设规模。选取前 G 个股票来做多,最后 G 个股票来做空,其余的股票则未被选中。

为了简化,作者使用一个向量 b^{c} 来记录两个投资组合的信息。

3.5 使用强化学习进行优化

本文把 AlphaStock 的策略套用在强化学习的训练中。将 T 个周期的投资表示为轨迹:

action 是一个 I 维向量。当 agent 投资股票i时,action^{(i)}_{t} = 1,否则为0。

RL 的最优化目标是找到一个参数 \theta 使得 \mathbf{\theta ^{*} = arg max_{\theta}J(\theta)}。因此本文使用 梯度提升算法 去迭代优化 \theta

进一步,为了保证算法最起码能够击败市场,本文在 RL 的训练中使用了阈值H_{0} 为整个市场的Sharpe ratio,这样设置后,梯度上升算法就只会激励那些表现优于市场的参数

 

Guess you like

Origin blog.csdn.net/weixin_41960890/article/details/121501133