现代投资组合理论(Modern Portfolio Theory,MPT)告诉我们投资者应该分散投资来实现最小化风险最大化投资回报。大邓刚开始学习这方面知识,用了将近一天的时候才搞懂MPT理论的推导,顺便复习了部分高中数学知识,这样会让我们更加有新信心的去使用自己编写的代码。现在我们从实战开始接触理论。
项目代码下载
如果没时间阅读,可直接浏览至文章末尾获取本文章的项目代码
一、资产组合理论导论
1.1 风险厌恶(Risk aversion)
在投资组合理论中,我们常常使用方差来刻画资产的风险。这里举个例子,方便大家理解。
假设你现在将要进行投资,有两种策略:资产A给你带来的收益是200元,或者0元。每种情况发生的概率也是各50%
资产B给你带来的收益是400元,或者-200元(亏损)。每种情况发生的概率也是各50%
资产的数学期望收益
两种投资策略的波动性-标准差
如果你是风险偏好者,你可能会选择B,因为B的潜在的最大收益最大。但是MPT理论认为大多数的投资者是风险厌恶者,不喜欢玩心跳,所以更倾向于选择A。
1.2资产组合池(portfolio)
假设我们将采用分散投资,每种资产的比例为 w1、w2、w3...wn,我们知道所有投资比例之和为1,即 w1+w2+w3+...+wn=1 。假设R0、R1、R2…Rn分别代表每种资产的收益,则资产组合投资收益为
我们预期的投资组合收益为
1.3 相关性
在计算资产组合风险前,我们需要先回忆一下高中数学中的方差和相关性的计算方法。方差和相关性主要是刻画任意两个变量之间的线性关系。
X和Y的方差计算公式
1.4 风险
现在我们将要计算资产组合的风险,这里使用 资产组合收益的方差 来刻画投资风险。
本来大邓直接看到推导完的结果,但是忽略了中间过程,心里怎么也不相信。所以花了很多时间用来找推导过程的教程和视频,终于找到一份比较详细的,现在贴给大家看。我们将该公式中的加总用累加zigma符号表示,一步步的进行推导
现在我们先看看简单的例子,如何将累加和的平方展开?
我们再将上面的公式抽象一下
因此,资产组合收益的方差可以表示为
最后我们将上面的符号全部用向量(或矩阵)来表示,这样后期我们使用python写代码时候可以直接使用numpy表达。
二、实战
2.1 加载数据
这里我参考JoinQuant中的一篇文章,其选取的股票的收益比较符合正太分布,我就直接拿来用吧。'000651', #