JoinQuant量化课堂 发布于2016-08-02
回复 73
浏览 51356
130
**导语**:资本市场上有诸多风险资产,各有不同的收益率和波动率。为了分散风险,我们一般会同时持有多种不同的资产,但是如何合理地进行配置是个难题。配置不好的话可能不光分散了风险,也对冲没了收益。本文要介绍的,就是著名的现代资产配置(MPT)理论。
$ $
```
作者:肖睿
编辑:宏观经济算命师
本文由JoinQuant量化课堂推出,难度为进阶上,深度为 level-1。
```
阅读本文需要掌握效用和[风险模型](https://www.joinquant.com/post/1774?f=study&m=financial)(**level-1**)的知识。
$ $
本文是一系列文章中的第三篇。本系列从基础概念入手,推导出 CAPM 模型。系列中共有四篇:
1. [效用模型](https://www.joinquant.com/post/1772?f=study&m=financial)
2. [风险模型](https://www.joinquant.com/post/1774?f=study&m=financial)
3. **MPT 模型**
4. [CAPM 模型](https://www.joinquant.com/post/2275)
$ $
#### **概述**
金融资产配置的目标是将投资资金合理地分配在多种资产上,在将风险控制在一定范围内的同时把收益率最大化。其中最著名的理论是*现代资产配置理论(Modern Portfolio Theory)*,简称 MPT,由 Markowitz 在1952年提出。MPT 的核心思想是以最小化标准差(或同理的,方差)并最大化预期收益为目标来进行资产配置,有时也称为*均值-方差分析(Mean-Variance Analysis)*,是金融经济学的一个重要基础理论。
$ $
#### **模型和假设**
在 MPT 模型中,我们假设投资者对一个资产的风险的认知等同于该资产的收益率变量的标准差(见[风险模型](https://www.joinquant.com/post/1774?f=study&m=financial))。因此,任何一个资产或者资产组合都可以根据其收益和风险被放在一个二维图坐标图上,该图的横轴是收益率的标准差,竖轴是收益率的预期值。
投资者追求的是风险低并且收益高的资产配置。因此,固定收益率不变,我们要将风险降到最低,也就是要得到最小的横轴值;或者固定风险不变,将收益率提升到最高,也就是要得到最大的竖轴值。
假设市场上有 $n$ 种不同的金融资产(可以狭义地想象为股票) $1,2,\dots, n$。对于某一资产 $i$ ,用 $r_i$ 表示该资产的收益率的随机变量,$E[r_i]$ 表示收益率的预期,$\sigma _i $ 表示 $r_i$ 的标准差。
我们将市场上所有收益率方差大于 $0$ 的资产叫做*风险资产(risky assts)*,将收益率没有不确定性的资产叫做*无风险资产(risk-free assets)*。并且,假设市场上所有无风险资产的收益率是一样的,叫做*无风险利率(risk-free interest rate)*,写作 $r_f$。
一个*风险资产配置(risky portfolio)* $P$ 是由风险资产 $i=1,2,\dots, n$ 按照某个权重比例组成的,每一个资产 $i$ 在 $P$ 中的权重是 $w_i$,满足 $\sum _{i=1} ^n w_i = 1$。我们假设市场是完全开放的,并且可以无限制地买多或卖空,因此 $w_i$ 可以是任何实数。
根据单个资产的收益率,可以计算资产配置 $P$ 的收益变量的一些性质。首先,资产组合收益率的随机变量是
\[ r_P = \sum _{i=1} ^n w_i r_i, \]
它的预期收益是
\[ E[r_P] = E\left[\sum _{i=1}^n w_i r_i \right] = \sum _{i=1} ^n w_i E[r_i],\]
方差是
\[ \text{Var}(r_P) = E[ r_P - E[r_P]] = \sum _{i=1} ^n \sum _{j=1} ^n w_i w_j \text{Cov}(r_i, r_j), \]
并且有标准差
\[ \sigma _P = \sqrt{\text{Var}(r_P)}. \]
$ $
#### **有效前沿**
现在,我们固定预期收益,然后拥有该预期收益,并且标准差最小的资产组合。也就是说,对于任意一个预期收益值 $\mu$,找到一个由配置权重 $w = (w_1,w_2,\dots, w_n)$ 定义的资产配置 $P$,要求 $P$ 的预期收益率为 $\mu$,并且,在所有可以配置出的预期收益为 $\mu$ 的组合中,$P$ 的方差是最小的。用最优化问题表示出来的话,就是
\begin{align*}
\text{最小化}\qquad & \text{Var}(r_P) = \sum _i^n \sum _j ^n w_iw_j \text{Cov}(r_i, r_j)\\
\text{满足}\qquad & E[r_P] = \sum _{i=1} ^n w_i E[r_i] = \mu\\
& \sum _{i=1} ^n w_i = 1
\end{align*}
这个问题的最佳解用 Lagrange 乘子的方法可以找出,但解决过程比较复杂,这里就不多做解释。对于每一个值 $\mu$,我们求得一个风险资产配置 $P$,满足 $E[r_P] = \mu$,并且 $\sigma _P$ 是最小的。将这些最优解画成图,在标准差-预期的坐标上得到一条抛物线。根据计算所用到的资产的信息不同,这根曲线会不尽相同,但基本上遵循这个形状。
![bullet.jpg][1]
这条曲线被叫做*有效前沿(efficient frontier)*。由于它的形状像一枚子弹尖,所以有时也叫做*马科维兹子弹(Markowitz bullet)*。有效前沿存在一个波动率最小的位置,也就是图中曲线最靠左的地方,并且在这个点以上的位置才是真正“有效”的;我们是固定预期收益算得的最低风险而得到的这条曲线,如果再固定风险并选择最大的预期收益,则会筛选掉有效前沿的下半部分。所以,很多时候人们所说的“有效前沿”会特指上半部分。
$ $
我们举个例子。风险资产采用从沪深三百股票池中随机选出的五支股票,取 2014 年到 2016 年的所有收盘价数据,经计算得出它们的平均日均收益率分别是
\[ \mathbf{r} = [0.00106,0.00283,0.002323,0.00279,0.00125],\]
并且收益率的标准差是
\[ \mathbf{\sigma} = [0.0249, 0.0270, 0.0351, 0.0361, 0.0333]. \]
画在协方差-预期轴上,如下
![hs300and5.jpg][2]
图中的五个蓝色三角是我们模型中选用的五支股票;背景中的粉点是沪深三百中的其他股票,作为参考。
计算这五支股票收益率的协方差,得到矩阵
\[ \begin{bmatrix}
0.000620& 0.000404& 0.000184& 0.000383& 0.000380\\
0.000404& 0.000728& 0.000162& 0.000345& 0.000385\\
0.000184& 0.000162& 0.00123& 0.000559& 0.000400\\
0.000383& 0.000345& 0.000559& 0.00130& 0.000718\\
0.000380& 0.000385& 0.000400& 0.000718& 0.00111
\end{bmatrix}\]
这个矩阵的 $(i,j)$ 位置是第 $i$ 和第 $j$ 个资产之间的协方差。通过穷举出用五支股票可以组成的资产配置(允许一定限度的卖空),绘出一个看起来很好吃的图
![portfromfive1.jpg][3]
图中的每一个点代表一个风险资产组合,颜色偏绿代表夏普比率高,偏紫的代表夏普比率低(下一节会介绍夏普比率)。图中最左侧勾勒出来的曲线就是以这五支股票所构成的有效前沿,是在固定收益率的情况下能配置出的最小标准差。
有效前沿上风险最少的配置(最左侧的顶点)有标准差 $0.0212$,并且有预期收益率 $0.00202$。
![minsigma.jpg][4]
上图中紫色五角星就是最低风险的配置,它的预期收益大约是五支股票的平均,但风险要小于其中的每一支。
理论上的有效前沿是无限延伸的,并且前沿右侧的所有空间都是可以通过配置这五支股票得到。因为计算量的有限性,看上去很好吃的图里只包含了可行资产配置里的一部分,不过其中已经包括了本模型中最重要的一个股票组合。是什么呢?
$ $
#### **加入无风险资产**
有效前沿左侧的区域是通过风险资产无法配置出的。但是!如果把无风险资产加入资产配置,那么左侧的一些位置是可以获取的。
我们选择有效前沿上的一个资产配置 $P$,并选择比例 $\alpha \geq 0$,将本金的 $\alpha$ 配置于 $P$,并将 $1-\alpha$ 配置于无风险资产。如果 $\alpha \leq 1$,那么 $1 - \alpha \geq 0$,也就是说,我们将 $1-\alpha$ 倍的本金存入银行或买入债券,获取那部分的无风险利率。如果 $\alpha \geq 1$,那么 $1- \alpha \leq 0$,意思是,我们贷款本金 $\alpha-1$ 倍的资金,支付无风险利率,并用贷款连同本金一并配置于 $P$。如此,以 $\alpha$ 为系数,使用 $P$ 和无风险资产配制出一个组合,我们将它的收益随机变量记为 $r_\alpha$。计算得到
\begin{align*}
E[r_\alpha ] & = E[ \alpha r_P (1-\alpha) r_f] = \alpha E[r_P] (1-\alpha) r_f, \\
\sigma_\alpha & = \sqrt{\text{Var} (\alpha r_P (1-\alpha)r_f)} = \sqrt{\alpha ^2 \text{Var} (r_P)} = \alpha \sigma _P.
\end{align*}
和上面的有效前沿的计算不同,这里 $\sigma_\alpha$ 和 $E[r_\alpha]$ 不是复杂的多项式关系,而是简单的线性关系。因此,将所有 $\alpha \geq 0$ 所对应的点画出,我们得到的是穿过 $(0,r_f)$ 和 $(\sigma _P, E[r_P])$ 的整条射线。
![bullet2.jpg][5]
如上图所示,如果蓝点是无风险利率,红点是一个有效前沿上的风险资产配置 $P$,那么黄线上的所有点都是可以按照一定比例配置无风险资产和 $P$ 得到的。
使用常用的直线坡度计算方法,所得的黄线的坡度是 $P$ 和 无风险资产的收益差除以它们的标准差的差。也就是,
\[ S_P := \frac{E[r_P] - r_f}{\sigma _P - \sigma _{r_f} } = \frac{E[r_P] - r_f}{\sigma _P}. \]
这就是著名的*夏普比率(Sharpe ratio)*。
$ $
#### **市场组合和资本市场线**
经计算可以证明,用市场信息计算得来的有效前沿上必定有一个夏普比率最高的点,我们将其叫做*市场组合(market portfolio)*。
我们知道,一个配置的夏普比率等同于连接无风险资产和这个配置的直线的坡度;那么市场组合的夏普比率最高,就意味着它连接无风险资产的线坡度最陡。因此,这条线必定与有效前沿构成切线关系,如下图所示。
![bullet3.jpg][6]
图中的蓝点是无风险资产,红点是市场组合,穿过它们的射线叫做*资本市场线(capital market line)*。红点和蓝点之间的位置是将一份资金存于无风险资产,并将余下资金买入市场组合而得到的;红点右侧的位置是以无风险利率进行一些贷款,并将本金连同贷款全部买入市场组合的配置。
设无风险利率为 $r_f$,市场组合为 $M$,并且市场组合的夏普比率为 $S_M$ 的话,资本市场线的公式为
\[ \mu = r_f S_M \cdot \sigma .\]
资本市场线的意义在于,固定标准差,那么市场上收益预期最高的投资组合在这条线上;或者,固定预期收益,那么市场上标准差最低的投资组合在这条线上。所以,资本配置线可以直观地理解为理论上的“最佳配置线”。
$ $
实际中,无风险利率不是唯一的,贷款和存款所支付的利率也不是一样的。为了方便起见,我们一般会把国债的利率作为模型中的无风险利率。
现在,在之前的示例中加入无风险资产进行计算。按国债年化利率为 $4\%$ 来计算,无风险的日化利率为
\[ (1 0.04)^{\frac{1}{250}} - 1 \approx 0.00015689. \]
计算得知,有效前沿上最高的夏普比率是 $0.11885$,由此得知资本市场线的公式为
\[ \mu = 0.00015689 0.11885\cdot \sigma. \]
将资本市场线画出,如下
![CML.jpg][7]
资本市场线和有效前沿相切在夏普比率最高的资产配制上,我们将这个组合称作 $M$。计算可得,该组合的日化预期收益率为 $E[r_M]= 0.0037746$,并且标准差为 $\sigma _M = 0.030439$。将其与原生的五支股票以及最低风险组合进行对比,如下图
![relationCML.jpg][8]
图中红色五角星是组合 $M$,黑线是资本市场线。
再假设,我们想用这五支股票和无风险资产配制出预期日化收益率为 $0.003$ 并且风险最低的组合,那么就应该去资本市场线上找相应的位置。设我们要找的组合是由 $\alpha$ 份 $M$ 和 $1-\alpha$ 份无风险资产构成的,利用资本市场线的公式倒推的标准差
\[ \sigma _\alpha =\frac{\mu_0 - r_f}{\text{Sharpe}(M)} =\frac{0.003 - 0.00015689} {0.11885} \approx 0.023922. \]
用第四节中所述的公式
\[\sigma _\alpha = \alpha \cdot \sigma _M, \]
得出
\[\alpha = \frac{\sigma _\alpha}{\sigma_M} = \frac{0.023922}{0.030439} \approx 0.786. \]
因此,该组合中每个 $1$ 元钱的配置比例为 $0.786$ 的 $M$ 以及 $1-0.786=0.214$ 的国债。对应下图中的红方块。
![portfolio.jpg][9]
这个新的股票组合的预期收益率高于它的五个成分股,但风险比其中的每一支都低。
$ $
#### **结语**
一个资产组合的预期收益是它的成分资产的线性加权平均,但组合的波动性和风险却更复杂,是由成分资产两两之间的相关性决定的。在 MPT 模型的分析中,通过合理地配置资产,可以在保证高收益的同时也降低风险。理论上,最优的风险组合就是夏普比率最高的市场组合。在本系列的下一篇文章中,我们将介绍著名的 CAPM 模型:在已知市场组合的定价的情况下,该如何推算市场上其他风险资产(或风险组合)的收益率。
\[ \]
```
本文由JoinQuant量化课堂退出,版权归JoinQuant所有,商业转载请联系我们获得授权,非商业转载请注明出处。
文章更迭记录:
v1.1,2016-10-13,修正公式,感谢 KTBFFH 指出
v1.0,2016-08-02,文章上线
```
[1]: https://image.joinquant.com/7509fe497b1a1106a0b7e9fb317ff998
[2]: https://image.joinquant.com/a701a05cd8bf5191d8132c5fb81a1cd3
[3]: https://image.joinquant.com/8223c15b963bda0c60366402ca6339b4
[4]: https://image.joinquant.com/52d388c671a447dfb870b518ec76ff51
[5]: https://image.joinquant.com/7578cdff5a4fd47a86c4568163b4d48e
[6]: https://image.joinquant.com/af3f77f9b9f514761462c1add904d8b3
[7]: https://image.joinquant.com/171ed87432d191b3908739b4e1c537d8
[8]: https://image.joinquant.com/0d84e7effe707cdf9c3749ae4766e6f1
[9]: https://image.joinquant.com/1895626b46b2873cb639190a938d0968
评论
@小兵哥 什么的实现代码?你是指做成策略吗?还是指文中画图的代码?
2016-08-02
@宏观经济占卜师 谢谢快速回复,做成策略更佳。
2016-08-02
@小兵哥 这个是有计划, 不过得等等哇:)
2016-08-02
@宏观经济占卜师 继续期待。
2016-08-02
1.文中风险资产 P的权重Wi具体怎么配置?
2.有效前沿具体怎么绘制,最左端的值怎么得到?
3.加入无风险资产后最高夏普比例怎么算出,也就是市场组合M点怎么算?
不知道@宏观经济占卜师 能否给我们这些菜鸟级别的人具体讲解,在此谢谢!
2016-09-08
@山岩上的废墟
(1) 在问题之初,权重 $(w_1,\dots, w_n)$ 可以是任何数,只要满足 $\sum _{i=1} ^n w_i =1$ 就可以,MPT 要做的就是看哪个权重分配更好,这就是你的 2. 和 3. 的问题。
(2) 这个我稍微讲一下。本文里为了把图做出来,是选了五支股票,然后穷举了 $(w_1,\dots, w_5)$ 在一定范围内的可能性(一共 $130$ 多万个),这样只要对所有这些配置算预期收益和标准差,一排序,就知道最左边的是什么了。
**但是**,在实际应用场景中这么做会发生组合爆炸,如果有几百几千种资产的话,这样算花费的时间会超过宇宙的年龄。数学中有一门学科叫数学规划,就是为了用高效率的算法,在一定的条件限制下,寻找最大化或最小化某一个函数的解。
在这个问题中,条件限制是固定预期收益率 $\mu$ (这个 $\mu$ 自己定),并且权重总和等于 $1$,也就是:
\[ \sum _{i=1} ^n w_i E[r_i] = \mu;\ \sum_{i=1}^n w_i = 1.\]
要最小化的函数就是标准差:
\[ \min \sum _{i=1} ^n \sum _{j=1} ^n w_i w_j\text{Cov}(r_i, r_j). \]
这个是一个**[二次规划(quadratic programming)](https://zh.wikipedia.org/wiki/%E4%BA%8C%E6%AC%A1%E8%A7%84%E5%88%92)**问题,就这个问题而言,一般常用的解法是用**[拉格朗日乘子(Lagrange Multiplier)](https://zh.wikipedia.org/wiki/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0)**。这些知识以后量化课堂都会讲,也会讲如何用已有的工具包来实现计算。
(3) 步骤 2. 的优化算法算完以后,对于每一个预期收益值 $\mu$,我们得到一个最低可能的标准差 $\sigma$,这个函数 $\alpha (\mu ) = \sigma$ 构成一条曲线。通过用微积分求这条曲线的坡度,并让这个坡度等于当前点连接无风险利率的坡度:
\[ \alpha'(\mu) = \frac{\alpha(\mu)}{\mu - r_f}. \]
(上面等式的右边是夏普比率的倒数)求得的解对应着市场组合 $M$。
2016-09-09
@JoinQuant量化课堂
在这里非常感谢能够及时回答,资产配置P的预期收益μ自己来定,这个μ又与每个资产ri预期收益相关,那么这两者我根据什么来定比较合理呢
2016-09-09
@山岩上的废墟 资产的预期收益 $E[r_i]$ 是已定的,它是由资产的历史收益计算而来的。$\mu$ 是任何你想自己设定的收益率;比如你想要一个平均日收益率 $0.3\%$ 的组合,那就设成这么多,然后解上面的二次规划问题,得到该收益率下风险最小化的组合。虽然理论上来说市场组合 $M$ 是最好的,但这是因为理论假设我们可以通过融资来放大收益(比如市场组合的收益是 $0.15\%$,你想要 $0.3\%$,那么就可以开一倍杠杆买市场组合),但在现实中有融资的渠道和成本的限制,可能不如直接将 $\mu$ 设置成你想要的目标收益率方便。
2016-09-09
@JoinQuant量化课堂
非常感谢你的解答,现在清楚多了。
2016-09-09
@JoinQuant量化课堂
直接用股票的历史价格数据来做为期望收益和方差,似乎不太合适吧,这就好比投资者策略是买入股票后就不进行操作,如果在牛市末期这样计算可能很危险。
我想作者只是假定股票历史的平均收益和方差就是为来收益和方差的期望,实战中应该用交易策略进行回测后得到期望收益和方差,在进行最优组合配置。
不知道您是不是这个意思呢?
2016-09-12
@英杰同学 在理论假设中每个资产的收益率有一个随机分布,并且这个分布是**不变**的。我们很想知道这个分布是什么,但这是不可能的,我们只能用历史数据去估算,并且统计学理论告诉我们历史数据越多那么估算越准确。文中举例使用的一年数据的确是比较短的,实际应用中应该使用五年以上的数据,这样就不存在是牛还是熊的问题了,整个周期都算在内了。
当然,这只是理论。也许你会顾虑资产在未来的收益率和方差发生变动,那么这个理论就失效了。但这种变动是无法用回测来计算的,因为回测使用的也是只历史数据。并且我们,在有界的时间内,又怎么知道究竟是分布变了,还是在没变的分布上发生了一连串小概率事件呢?对于未来,我们终究只能估测,没法预测。
2016-09-12
@JoinQuant量化课堂
这样看的话这种预测方式更加适合银行、券商、地产等相对稳定蓝筹股,不太适合突发因子比较多得中小创股票。
是不是可以这样理解呢?
2016-09-12
@英杰同学 并不完全是这样的。这些股票的“稳定”是因为它们的分布的标准差更低,如果我们开着三倍杠杆去买蓝筹股,就不“平稳”了。这种不确定性是在 MPT 模型之内的,MPT 就是为了处理这种“不可预测”,把“不可预测”变成了“但可以控制”。可是,任何经济和金融的模型都有边界,跑出去就会失效。比如一个资产的概率分布变了,三十年来年平均收益都是 $7\%$ 左右,从某一天开始却变成了 $15\%$,那么这个理论就无法解释这种事件。
2016-09-12
加入无风险资产那块。
如果 α≥1,那么 1−α≤0,意思是,我们贷款本金 α-1 倍的资金,支付无风险利率。这改一下哈
2016-10-03
问一个理论问题。
如果市场是完全市场的话,那么无风险资产可以用基本证券复制出来(就是各个状态下回报为1的证券),这么说的话,无风险资产其实也是市场证券的一种组合。所以无风险资产也应该在有效前沿上,而不应该独立在曲线之外。另外,我看几乎所有的书,都是把无风险资产独立在市场组合之外。
2016-10-07
@KTBFFH 改正啦,谢谢指出。
2016-10-13
@mraining 无风险资产是没法复制证券的,因为无风险资产没有波动率,单单是风险这一项就无法复制。
如果你把无风险资产和有风险资产混合出来的资产也当场风险资产,那么有效前沿则变成两条射线的而非一条二次曲线,其中一条射线就是资本市场线。
市场组合中的确是没有无风险资产。资本市场线上所有其他的点都是无风险资产和市场组合混合的结果,只有市场组合中的无风险资产配置权重是 $0$。
2016-10-13
您好,想问下股票间的协方差是怎么计算的呢?是取一个周期(比如10天),然后序列地取出选取的5支股票的收益率,计算的吗?
2016-10-31