介绍
均值—方差模型是由H.M.Markowitz(哈里·马科维茨)在1952年提出的风险度量模型,这是现代资产配置的起点。马科维茨把风险定义为期望收益率的波动率,首次将数理统计的方法应用到投资组合选择的研究中。这种模型方法使相互制约的目标能够达到最佳的平衡效果。其最有名的应用者是耶鲁大学校友捐赠基金主理人斯文森。
耶鲁大学教育基金的资产数量及配置变化
前摩根史丹利投资管理公司董事长巴顿·M·毕格斯(Barton M. Biggs)说:“世界上只有两位真正伟大的投资者,他们是斯文森和巴菲特。”
其中斯文森是耶鲁大学的校友捐赠基金的主理人,《机构投资的创新之路》就是他主笔的书。1985年斯文森回到耶鲁接管捐赠基金之后,到2019年,该基金的资产从10亿美元增长到了303亿美元,接近30倍,而这是在基金不断为大学提供开支的情况下做到的。要知道,在耶鲁大学的支出逐渐提升的情况下,1985年教育基金仅提供耶鲁大学10%的开支,而在《机构投资的创新之路》出版时,教育基金提供了耶鲁大学45%的开支。
斯文森的业绩如此优秀,来自于他自己开创的“耶鲁模式”,从图中可以看到,相比于巴菲特的集中式持股,斯文森主要依赖于分散化的资产配置。从《机构投资的创新之路》中可以读到,其主要原理是改善后的均值-方差模型。接下来我们来详细讲述一下均值-方差模型。
方法详述
均值-方差模型的基本假设
1、投资者在考虑每一次投资选择时,其依据是某一持仓时间内的证券收益的概率分布。
2、投资者是根据证券的期望收益率估测证券组合的风险。
3、投资者的决定仅仅是依据证券的风险和收益。
4、在一定的风险水平上,投资者期望收益最大;相对应的是在一定的收益水平上,投资者希望风险最小。
* 作者备注:第1点中提到的概率分布模型一般使用的是正态分布,那么后续2、3、4中提到的期望收益率就是收益的期望值(均值),风险就是方差。而正态分布可以完全用均值和方差两个参数表征,有利于模型的解析。实际上资产们的收益分布不完全符合正态分布,这是该方法的一个bug。
均值-方差模型的构建过程
根据上述基本假设的第四点,抽象出数学模型表达为:
收益最大化:
风险最小化:
根据上述作者备注,假设R1到RN都符合正态分布,进一步假设U(.)是常见的凹函数。
跳过一系列解方程的过程,这是一个二次规划问题,最后解的形式为:
其中
其中
期望收益率与收益率标准差
上述有效边界图形指出:单个资产或组合资产的期望收益率由风险测度指标标准差来决定;风险越大收益率越高;风险越小收益率越低。风险对收益的决定是非线性(二次)的双曲线形式,这一结论是基于投资者为风险规避型这一假设进行的。
相关性的定性分析方法
确定相关系数的难度非常大,从不同经济环境下债券和股票收益之间的相关性中便可见一斑,在正常情况下,债券收益与股票收益之间呈现出高度的争先管关系。利率下降时,由于债券价格和收益率之间呈相反关系,债券价格将会上升。利率下降时,由于投资者用更低的折现率对未来收入的现金流进行折现,股票价格也将会上升。由于正常情况下,股票与债券之间呈现出高度的正相关关系,因此投资组合难以达到分散化的效果。
当发生超预期的通货膨胀时,债券投资者将会遭受损失。物价上涨侵蚀了债券支付的固定本息的购买力,导致投资者推低债券价格。对股票而言,尽管通货膨胀短期内可能产生负面影响,但是长期看来,其影响是正面的。可能发生超预期的通货膨胀时,股票和债券的长期相关系数很低,这样可以使组合达到充分的分散化效果。
在通货紧缩的环境中,由于经济不景气导致企业盈利下降,股票的表现非常糟糕,相比之下,随着物价水平下降,债券支付的固定本息显得更具吸引力,因此债券的收益相当可观。可见在通货紧缩时期,由于股票和债券之间的相关性很低甚至为负,投资组合可以达到分散化的效果。
在符合预期和超预期的通胀环境中,股票收益和债券收益的表现存在根本性区别,这对财务建模者而言无疑是一个谜团,就是是采用通胀符合预期时股票和债券之间的相关系数呢,还是采用通胀超预期时的相关系数呢?前者不能达到分散化的目的,后者可以。导致这一问题更加复杂化的是,通常投资者更关心的是,在未预期的环境中(通常是通货紧缩)债券的分散化功能。
优缺点
复杂性问题
从上述数学模型可以看出,这个二次规划问题相对较为复杂,基本需要编程解决计算问题。在应用时需要依据多个完美假设前提(正态分布假设、有效市场等);关于风险、收益、相关性等的评估也需要一定的经验,仅依赖历史数据的应用效果不尽如人意。
斯文森(关于优缺点的论断)
将均值-方差最优化分析和对未来的模拟检验结合起来得出的组合仍受到诸多限制,组合的效果取决于对未来收益、风险和协方差的假设。虽然预测的收益不可能完全正确,但是上述方法的作用是它能够对各种变量之间的相互关系进行评估。如果只有收益和风险假设的正确度是上述分析方法中的最大障碍,那么所得结论仍然具有较强的说服力。
更严重的问题是,资产类别的风险和各类资产之间的相关性不稳定。发生危机时,各类风险资产市场倾向于同向变动,这在短期里降低了分散化投资的价值。由于证券收益的分布特征不完全符合正态分布,资产类别之间的关系也不稳定,因此,资产配置过程中运用定量分析模型时面临严峻的挑战,但是,与其他不甚严密的组合构建方法相比,定量分析更加严谨。
国内市场适应性问题
关于资产配置在国内市场是否适用,曾经有一波非常大的讨论,甚至到现在还是层出不穷。
从历史数据看,中国在2008年以后,房地产的收益高、风险几乎没有;历史上股票已经44次在3000点上下爬来爬去了,那么按照资产配置模型,由于房地产的期望值高、方差小,经过量化计算,我们是不是应该从此满配房产呢?很显然,历史数据并不那么可信。
我调研了三篇文章(照道理应该看更多内容,但是实际上大同小异,结论也相差不远),关于资产配置是否适合在国内市场使用,分别是2008年同济大学的一篇博士论文,2016年的一篇自然科学基金面上项目论文和一篇2014年收益数据实证的论文。
先看一下三篇的结论。
“全球化资产配置的过程中,提升投资绩效或改善资产组合的风险收益特性的最根本的方法是充分的分散化,包括市场分散化、行业分散化、资产种类分散化以及币种分散化等。”
“我们使用中国股票市场数据构建四个投资组合类别,来检验10种资产配置策略在中国市场的业绩表现。结果发现,在中国市场,参数不确定性的存在确实显著地影响了均值方差模型的有效性,导致了很差的模型业绩表现。……并没有任何一个最优化策略能够在统计上优于简单多样化策略。”
“本文研究对比了16个投资组合模型在我国资本市场的表现,研究结果表明,尽管不同的投资组合模型都有改善估计误差的作用,但由于在我国资本市场中估计误差较大,致使不同投资组合模型都有改善估计误差的作用,但由于在我国资本市场中估计误差的改善效果有限 ,导致各配置模型表现甚至不及简单的等权重模型。”
其他可参考结论摘要:
“低收益率伴随高相关性体现在不同市场和不同行业间,商品资产与股票资产间存在收益率和相关性的同向发展,因此加入商品资产对资产配置有一定的收益改善作用”
“中国市场中的各类资产的相关性相对较高,增加资产种类带来的收益无法超过其带来的预测误差、交易成本等负面影响;而全球市场中各行业的相关性略低于各主要证券市场之间的相关性,因此采取行业分散原则,略优于采用市场分散原则,因此中国市场指数+全球行业指数的组合模式具有相对较高的投资绩效”
“2004年到2014年数据,收益相关性研究显示,国内股票市场短期收益主要受到香港股票市场和日本股票市场的影响,而从中长期看主要受香港股票市场、美国股票市场和英国股票市场的影响。波动相关性研究显示,国内股票市场短期波动主要受到香港股票市场的影响,中长期波动则同时与香港股票市场、日本股票市场、美国股票市场和英国股票市场保持较高相关性。波动方向上中国股票市场与香港股票市场同步。中期尺度上(8天和16天),日本、美国和英国股票市场与国内股票市场之间存在明显的波动溢出特征,波动领先的时差约3天。”
“中国市场的金融、公用事业、石油天然气与国际市场的行业相关性较高”
工具、回测方法及结果
数据来源
Wind 金融终端(公司才能用)
集思录(有比较全面的ETF\QDII\LOF等的实时数据,历史数据时间不长约3个月)
且慢(有一些比较简单的数据)
雪球(可以找到一些综合性数据的时间片段)
大众宽客(公众号,有一些ETF的相关性数据)
老罗话指数投资(可以看到部分来自wind的数据)
macroaxis https://www.macroaxis.com/invest/toolSummary(求人不如求己,这种相关性的事情肯定有人做了嘛,国外市场看这里)
python上面有很多相关的数据导入方法 https://pandas-datareader.readthedocs.io
上述数据中,除了Wind金融终端外,很难找到连续的足够多年的直接数据用于MV模型的分析。直接数据指的是基金每天的价格、变化幅度等。Wind上甚至能直接获得ETF的均值和方差等数据。
类似这样的相关性图可以从多个源找到
综合以上表格和前述各类结论,结合我们可以购买的资产类型,参考斯文森的6类资产配置,
资产名称 |
与沪市相关性 |
预期通胀场景 |
超预期通胀场景 |
通缩场景 |
沪深300/中证500等 |
1 |
—— |
—— |
—— |
标普500/纳斯达克等 |
0.4 |
基本与标准行同向相关,但相关性比较低 |
基本同向相关,可能会发生风险溢出,长期来看通胀对股票市场是利好 |
可能会发生风险溢出,导致相关性反而增加 |
华宝油气/南方石油等 |
0.32 |
与石油开采情况有关,未知与标准行是否同向相关 |
油气等资源类物料价格加速上涨,短期内与标准行非同向相关,长期可能同向 |
油气等资源类物料价格加速下跌,与标准行同向相关,不应该用于分散风险,因为物料风险更大 |
日本 |
0.35 |
基本同向相关,但相关性较低,由于市场不同,可以用于分散风险 |
基本同向相关,但相关性较低,由于市场不同,可以用于分散风险 |
考虑到风险溢出,可能会发生同向相关,但日本市场经常作为避险市场,所以短期内可以用于分散风险 |
德国30 |
0.57 |
基本同向相关,但相关性较低,由于市场不同,可以用于分散风险 |
基本同向相关,但相关性较低,由于市场不同,可以用于分散风险 |
考虑到风险溢出,可能会发生同向相关,相比日本市场与美国市场相关性更加高,是发达市场中制造业含量比较高的指数,与经济相关非常高,不建议用于分散风险 |
美国REIT |
未知 |
作为房产租赁行业,与经济景气程度非常相关,与标准行可能是同向相关,由于市场不同可以用于分散风险,风险介于股市和债券之间 |
房产类资源在超预期场景下,应该是短期非同向 |
房价在通缩场景下应该会下跌,没人租赁房产,与经济相关度非常高,不建议用于分散风险 |
亚洲美元债 |
未知 |
由于是美元资源,可以对冲人民币资产贬值的情况 |
由于是美元资源,可以对冲人民币资产贬值的情况 |
通缩场景下的债券应该会比较好,但是亚洲美元债以新兴国家为主,可能会发生无法偿债的情况,也需要考虑配置一些别的地区的美元债 |
纯债/理财 |
-0.25 |
同向 |
导致收益下降 |
可用于分散风险 |
黄金 |
-0.04 |
黄金资产从长期看没有投资价值 |
黄金资产从长期看没有投资价值 |
通缩场景可以用于分散风险 |
恒生指数 |
0.56 |
与沪深300等国内股票市场较强相关,不适合分散风险,但沪深300长期存在溢价,可以考虑在溢价比较大的情况下,购买部分 |
与沪深300等国内股票市场较强相关,不适合分散风险,但沪深300长期存在溢价,可以考虑在溢价比较大的情况下,购买部分 |
与沪深300等国内股票市场较强相关,不适合分散风险,但沪深300长期存在溢价,可以考虑在溢价比较大的情况下,购买部分 |
MV模型的python实现
Pandas库提供了专门从财经网站获取金融数据的API接口,可作为量化交易股票数据获取的另一种途径,该接口在urllib3库基础上实现了以客户端身份访问网站的股票数据。需要注意的是目前模块已经迁徙到pandas-datareader包中,因此导入模块时需要由import pandas.io.data as web更改为import pandas_datareader.data as web。
通过参考GitHub上的代码,参考个人可买的类目。
稍微修改过的代码参考:MVmodel_done.py
各类目相对起始点的收益情况
各类目相关性
期望收益与收益率方差
由于我的目标是期望收益大于10%,方差小于10%。从中选择出一系列的weights,也就是投资类目的权重,参考accept_weights.csv。accept_weights的描述参考下图。
从中选择出收益最高的一行如下:
Returns |
Volatility |
Sharpe Ratio |
510300.SS Weight |
510500.SS Weight |
^GSPC Weight |
^IXIC Weight |
DAX Weight |
^N225 Weight |
511010.SS Weight |
^HSI Weight |
518880.SS Weight |
0.11 |
0.10 |
1.09 |
0.15 |
0.02 |
0.11 |
0.27 |
0.00 |
0.22 |
0.04 |
0.03 |
0.16 |
回测(MV模型、简单分散、漫步华尔街分散方案)
时间轴拉长看,获取从2008年到2019年的数据。
从图中可以看出,跑的最好的是美国股市,相比简单分散和华尔街配置,我们算出来的居然还是强行跑赢了。
2005年开始的数据,看到08年的凹陷了吗,可怕,风险溢出,所有资产对半折。
这次终于有点输了,在收益上看的。