点击此处查看最新的网赚项目教程

前言

股票投资中收益和风险始终存在着不确定性,对于理性投资者来说,他们倾向于在风险和收益之间达到均衡点。对于单只股票来说,在回测中使用夏普比率可以很好地去综合考虑收益与风险之间的关系。而对于多只股票组合投资时,会引入基金经理常常需要考虑的问题——仓位如何分配?

本文给大家分享一个经典的模型——Markowitz均值-方差投资组合理论模型,一起来了解下如何运用Markowitz模型在多种资产上确定最优的投资比例。

Markowitz模型简介

股票投资中收益和风险始终存在着不确定性,对于理性投资者来说,他们倾向于在

1952年,美国芝加哥大学的经济学家Markowitz应用了数学中的均值、方差概念来定义资产组合中收益和风险这两个关键因素,从而系统地阐述了资产组合和选择问题,标志着现代资产组合理论(Modern Portfolio Theory,简称MPT)的开端。

该理论认为,由于资产投资的风险在于收益的不确定性,因此可将收益率视为一个随机变量,投资组合的期望收益是该随机变量的期望值,收益的波动率用随机变量的方差/标准差来表示,以此衡量投资组合的风险。

于是,在波动率为横坐标、收益率为纵坐标的二维平面中描绘各种优化投资组合,从而形成了一条曲线。这条曲线在最小方差点以上的部分就是著名的Markowitz投资组合“有效前沿”(Efficient Frontier,有效边界),对应的投资组合称为有效投资组合。

协方差cov计算公式_协方差cov运算法则_covxy计算公式协方差

根据投资组合理论,我们可以对多只股票(资产)的组合配置进行以下的优化过程:

获取多只股票数据,分析股票的收益率和波动率

生成大量随机权重的收益/风险组合

找到风险最小时的投资组合

找到有效边界(有效前沿)

找到夏普率较高的随机组合,即收益-风险均衡点

计算个股收益率

首先我们选取002372伟星新材、000876新希望、000851高鸿股份、600797浙大网新、000651格力电器这5只股票进行分析,并且将代码名称以列表格式存储,如下所示

协方差cov运算法则_协方差cov计算公式_covxy计算公式协方差

构建一个空的DataFrame表格,用于存储获取的股票数据,然后分别下载这5只股票的收盘价数据,并且合并至表格中,如下所示:

covxy计算公式协方差_协方差cov运算法则_协方差cov计算公式

然后计算每个股票的收益率,此处计算的是对数收益率,具体方法可参考小册《股票交易策略:收益与风险维度度量策略效果》这一节。如下所示:

covxy计算公式协方差_协方差cov运算法则_协方差cov计算公式

我们可视化每只股票收益率的直方图,了解一下分布情况。可见每支股票的分布形状是近视正态分布,但仍然有“肥尾”现象。

covxy计算公式协方差_协方差cov计算公式_协方差cov运算法则

当然也可以可视化出个股的每日叠加的收益率曲线,了解一年中的收益率走势情况,如下所示:

covxy计算公式协方差_协方差cov计算公式_协方差cov运算法则

计算协方差矩阵

在构建最优的投资组合过程中,计算投资组合的协方差矩阵是非常关键的一步。

在介绍协方差矩阵之前,先提下相关矩阵,相关矩阵中的相关系数是用以反映变量之间相关关系密切程度的统计指标,着重研究线性的单相关系数。可以使用Pandas的 .corr()方法来计算得到相关矩阵,用于估算多只股票收益之间的线性关系。如下所示:

协方差cov计算公式_协方差cov运算法则_covxy计算公式协方差

矩阵中每个一元素都是其对应股票的相关系数,取值从-1到1,正数代表正相关,反之负数代表负相关。我们观察到矩阵的对角线永远是1,因为自己和自己当然是完全相关的。另外相关矩阵也是对称的,即上三角和下三角呈镜像对称。

为了便于观察,将协方差矩阵用热图的形式展现,如下所示:

协方差cov计算公式_covxy计算公式协方差_协方差cov运算法则

相关系数只反了股票之间的线性关系,但并不能说明股票的波动情况,而协方差矩阵则包含这一信息。协方差是表示两个随机变量之间的线性相关性,协方差矩阵表示一组随机变量之间的两两线性相关性,因此协方差矩阵中的每个元素代表了两个随机变量之间的协方差。

接下来我们可以运用Pandas内置的cov()方法计算协方差矩阵。如下所示:

covxy计算公式协方差_协方差cov运算法则_协方差cov计算公式

投资组合风险与收益

投资组合的风险取决于投资各组合中资产收益率的相关性。因此除了计算协方差矩阵之外,还需要计算年化收益率。如下所示:

covxy计算公式协方差_协方差cov计算公式_协方差cov运算法则

根据理论,风险需要分散,每个股票都会有一定比例的投资权重。一个资产组合的收益率(均值),为组合中个股收益率(均值)的权重之和。对于有多个资产的资产组合的均值和方差可以描述为:

协方差cov计算公式_covxy计算公式协方差_协方差cov运算法则

当我们给定相应的投资比例之后,计算投资组合的期望收益率时,首先要将每只股票的收益率乘上对应的权重,然后加权、求和再平均后即可计算所得该组合投资的期望收益。

投资组合的风险可以用标准差来衡量,只要知道组合权重和协方差矩阵,就可以通过以下公式进行计算。

协方差cov运算法则_协方差cov计算公式_covxy计算公式协方差

接下来我们可以用蒙特卡洛法随机生成多组权重,并根据权重计算出组合收益率和组合波动率。需要注意到此处的权重系数范围在0-1之间,并且权重系数总和为1。

设定此过程重复5000次,即得到5000种组合收益率和波动率,当样本数越多就越能覆盖到各种权重组合,包括常用的等权重投资组合、市值加权投资组合。然后将数据可视化为散点图。如下所示:

协方差cov运算法则_协方差cov计算公式_covxy计算公式协方差

图中横坐标是代表风险的标准差,纵坐标是收益率,每一个点都代表着一种投资组合的情况。Markowitz投资组合理论认为,理性的投资者最终是在风险和收益之间做出选择,总是在给定风险水平下追求期望收益最大化,或者是在给定收益水平下追求期望风险做最小化。因此只有在有效边界上的点才是最有效的投资组合。如下所示:

协方差cov运算法则_covxy计算公式协方差_协方差cov计算公式

最优的投资组合

接下来我们作为理性的投资者来选择有效边界上的某一点作为投资组合。

首先我们找到最小风险组合(GMV portfolio),并绘制在收益-风险的散点图中。如下所示:

协方差cov计算公式_协方差cov运算法则_covxy计算公式协方差

接下来介绍一个能够同时对收益与风险加以综合考虑的经典指标——夏普比率(Sharpe Ratio)。

夏普比率计算的是每承受一单位的风险所产生的超额回报,它是基金绩效评价标准化指标。

接下来我们计算上述蒙特卡洛模拟的组合所对应的夏普比率,并将之作为第三个变量绘制在收益-风险的散点图中,此处采用颜色这一视觉线索来表征夏普比率。如下所示:

covxy计算公式协方差_协方差cov运算法则_协方差cov计算公式

我们发现散点图上越往左上方,越具有较高的夏普比率,而越高夏普率,说明该组合的权重分配越优。接着开始找到夏普比率最大的组合(MSR),将其绘制在收益-风险的散点图中。如下所示:

covxy计算公式协方差_协方差cov运算法则_协方差cov计算公式

我们提取出最大夏普比率投资组合对应的权重,并转化为Numpy数组,如下所示:

[0.12617847 0.74273907 0.04905298 0.00580558 0.07622391]

由此处5只股票组成的例子可知。12.6%的权重买002372伟星新材,74.3%的权重买000876新希望,4.9%的权重买000851高鸿股份,0.5%的权重买600797浙大网新,7.6%的权重买000651格力电器。这样的组合,根据以往数据,可以分析得出组合年化收益率为72%,波动率为42.6%,夏普率为1.61。

总结

虽然Markowitz的投资组合理论中涉及到很多假设情况,但重要的是它揭示了“资产的期望收益由其自身的风险的大小来决定”这个结论。同时有效边界上也印证了风险与收益成正比,要想更高的收益率就需要承担更大的风险,但投资组合在有效边界上,则是性价比最高的组合。

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: cai842612