现代投资组合理论python实现

  • 什么是现代资产组合理论

现代资产组合理论(Modern Portfolio Theory,简称MPT),由马柯维茨提出,也有人将其称为现代证券投资组合理论、证券组合理论或投资分散理论。是将概率论和线性代数的方法应用于证券投资组合的研究,探讨了不同类别的、运动方向各异的证券之间的内在相关性,并于1959年出版了《证券组合选择》一书,详细论述了证券组合的基本原理,从而为现代西方证券投资理论奠定了基础。

  • 现代资产组合理论的内容

Markowitzd(1952)利用单个证券收益率的方差衡量单个证券的风险,利用单个证券收益率的方差和与其他证券收益率的协方差来衡量证券组合的风险,并建立最小方差模型,用来确定证券的最优组合,即下图中曲线abc上的任意一点,这样的组合称为前沿证券组合,所有的前沿证券组合的集合构成的证券组合前沿,即下图中曲线abc。同时满足风险水平一定时收益最高、收益一定时风险最小条件的前沿证券组合为有效证券组合,即下图中曲线bc上任一点。所有有效证券组合的集合构成有效证券前沿。

现代投资组合理论python实现_第1张图片

  • 现代资产组合理论的实践

一、大类资产确定

根据市场风险,主要来自利率风险、通胀风险和信用风险,和组合理论思想,选择股票,债券、和黄金3大类,房地产暂不考虑。

股票选择A股的权重股上证50作为大盘股,易方达中小盘作为中小盘股,美股标普500作为外盘分散投资,债券选择最近比较火的招商产业A(信用风险比较大,但是纯利率债收益又低),和易方达黄金作为商品投资。

其中股票和债券有跷跷板效应,债券对冲股票下行风险,黄金对冲高通胀风险,易方达中小盘防大小盘风格轮换。

二、历史波动率和收益率统计

防止使用未来数据的收益率和波动率,统计日期截止到2013年11月29日

基金编码

基金名称

成立时间

资产大类 收益(年化)

波动率(年化)

510050.OF

华夏上证50ETF

 2004-12-30

A股股权

0.1031

0.2463

050025.OF

博时标普500ETF联接A

2012-06-14

美股股权

0.09096873

0.18565612

159934.OF

易方达黄金ETF

2013-11-29

黄金

0.059189

0.1081

110011.OF

易方达中小盘

2008-06-19

股权

0.180951

0.2272

217022.OF

招商产业A

2013-11-29

债券

0.081229

0.0221

 

 

 

 

三、相关系数矩阵确定与有效前沿计算

并且为了应对市场相关性变化等因素,设置1年进行调仓一次,根据前3年年化波形率和相关系数矩阵重新计算协方差

范围

年化波动率

相关系数矩阵

计算有效前沿

201312-20161201 现代投资组合理论python实现_第2张图片 现代投资组合理论python实现_第3张图片 现代投资组合理论python实现_第4张图片

201412-20171201

现代投资组合理论python实现_第5张图片 现代投资组合理论python实现_第6张图片 现代投资组合理论python实现_第7张图片

201512-20181201

现代投资组合理论python实现_第8张图片 现代投资组合理论python实现_第9张图片 现代投资组合理论python实现_第10张图片

201612-20191201

现代投资组合理论python实现_第11张图片 现代投资组合理论python实现_第12张图片 现代投资组合理论python实现_第13张图片

 

四、历史回测

回测使用2013年12月到2019年底的行情数据,持仓一年进行一次调仓。

目标收益

调仓时间和比例

按照【510050,050025,159934,110011,217022】顺序,单位%

回测结果

9%

2016-12

[0, 0, 5, 10,85]

即【510050=0%,050025=0%,159934=5%,110011=10%,217022=85%】

2017-12

[0, 0, 4, 10,86]

 

2018-12

[0, 0, 8.5, 10,81.5]

 

2019-12

[0,0,0,8.8,91.2]

现代投资组合理论python实现_第14张图片

10%

2016-12

[0, 0, 4, 20,76]

2017-12

[0, 0, 2, 20,78]

2018-12

[0, 0, 12, 21,67]

2019-12

[0,0,0,19,81]

现代投资组合理论python实现_第15张图片

11%

2016-12

[0, 0, 3, 30,67]

2017-12

[0, 0, 0, 28,72]

2018-12

[0, 0, 16, 32,52]

2019-12

[0,0,0,29,71]

现代投资组合理论python实现_第16张图片

结论:回测结果基本符合预期,使投资者避免买高站岗的风险,不用担心踏空与机遇失之交臂,策略适合定投。但是存在没有占比的资产,导致风险过于集中,可以设置最小占比方式解决问题。

  • 存在问题

1、资产选择存在问题,易方达中小盘有风格偏移现象,可以用中证500替换

2、预期收益率使用历史收益率存在难以确定问题,会导致整体组合比例严重变化

3、存在个别资产没有占比问题,由于个别资产收益较高,风险低,且相关性较大导致

4、相关性、历史波动,收益率都是历史值,不代表未来,需要建立在历史重演的基础上

5、调仓使用近年的相关性,带有趋势跟踪性质,容易追涨杀跌

你可能感兴趣的:(金融,python,量化投资,投资组合)