python 组合优化 回撤最小_【揭秘专业投资者的武器】经典组合优化模型 在行业资产配置中的应用示例...

组合优化的目的在于给予高收益,低风险的标的更多的权重,来提高组合整体表现。策略里面大部分情况下都会默认平均持仓的方法,由于没有考虑各个标的风险的不同,标的之间的相关性,并未较好的解决鸡蛋在一个篮子里的问题,若是稍加关注一下对组合权重的处理,就会考虑到各标的间的涨跌是否本身就有较强关联这样的问题,这个时候就是需要研究各标的历史价格的协方差、波动率等统计量。

对组合中各标的权重进行适当优化调整,对组合收益会有不小的提升。接下来我们将研究几种不同组合优化方法对组合收益的影响,偏重于优化目标方法设置,标的选择均是权益类资产,用于全A股测试,同时考虑到研究的实际意义,我们设置行业资产配置这样的组合情境(同样也可以做不同板块配置优化),基于申万一级行业数据,采用了较为常见的最小方差、最大夏普、风险平价这样的模型,应用在行业配置中,来探究组合优化模型效果。

1、行业指数数据准备:

接下来将28个申万一级行业指数进行研究,给予不同权重配置,首先,获取了行业指数数据,构造收益序列效果如下图所示:

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:17 上传

下载附件 (333.06 KB)

可以看到,各行业之间涨跌存在一定的差异,但在极端行情如2015年6月之前的牛市和之后的熊市都有着一致的表现。

下面获取行业间相关性矩阵,并以热力图进行展示:

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:19 上传

下载附件 (250.21 KB)

热力图颜色由深到浅,表示相关度有低到高的过程。

从图中可以明显看到银行业与非银金融与其他行业有着较为明显的不同,化工、电器设备、机械设备、纺织服装等行业都有较高的相关度。

2、设置不同优化方法:

接下来,我们将针对申万行业5年的历史数据,按不同的组合优化方式,每季度进行仓位平衡,下面就对几种优化方法进行说明,并通过调用scipy.optimize提供的优化算法,构造对应的目标函数进行求解获取行业配置权重。

(1)平均分仓

就是对28个行业进行等权重资金配置。

(2)等波动率

等波动率是使得每个股票贡献的表征风险相等,如组合中第i个标的的权重为wi,波动率为wiσi

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:20 上传

下载附件 (3.42 KB)

即权重应满足如下关系

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:20 上传

下载附件 (3.3 KB)

此优化方法下的行业配置权重

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:21 上传

下载附件 (92.67 KB)

(3)最小方差

最小方差,也可以称为最小波动或最低风险

ω为投资权重向量,Σ为各标的的收益率协方差矩阵

组合的波动率满足

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:24 上传

下载附件 (2.87 KB)

只要找到ω使得使得σ最小即可

此优化方法下的行业配置权重

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:24 上传

下载附件 (86.52 KB)

组合长期对银行有较高的权重配置,尤其在2015年熊市之后不断进行权重增加,到2017年年初达到最大权重。

下面我们贴一张相同时间轴的银行指数走势图:

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:26 上传

下载附件 (231.22 KB)

(4)风险平价

风险平价模型是通过衡量组合各标的对于组合的风险贡献度,来制定投资模型的各类资产权重,目标是使得组合标的达到等风险贡献

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:27 上传

下载附件 (135.94 KB)

此优化方法下的行业配置权重

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:28 上传

下载附件 (104.39 KB)

(5)最大夏普

夏普率用来表示每承受一单位风险,会产生多少的超额报酬,是对策略的收益与风险进行综合考虑。

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:28 上传

下载附件 (23.59 KB)

即寻找目标,使得目标 (-1)·SharpeRatio最小

此优化方法下的行业配置权重

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:29 上传

下载附件 (77.18 KB)

最大夏普配置,最小方差模型的配置权重中,可以看到有标的权重过于集中,针对这种情况可以考虑针对模型加入更多的约束条件,比如加入收益预期。

3、组合收益表现

模型模拟进行了季度调仓,保存调仓时点计算出的权重结构,构造回测,以下是不同组合优化的净值表现:

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:29 上传

下载附件 (85.1 KB)红色的线是等权重配置,可以看到最小方差、风险平价、等波动率优化后是有增益效果

紫色的线是最波动最小,即最小方差配置,净值表现最好

最大夏普和最小方差的是组合优化表现的两个极端

中间三种组合方法的区分度还不是很明显

不同优化方法对应的风险指标

08b05ce0d596c72a04d00d75c1365631.gif

2019-1-4 16:57:30 上传

下载附件 (11.06 KB)组合优化处理后普遍优于平均分仓的效果

最小方差组合效果显著,累计收益从39.2%提升至76.9%,年化收益从7.98%提升至12.85%,最大回撤从56.46%降低至40.51%,夏普比率从0.12提升至0.41

最大夏普模型表现最差,且模型持股过于集中

几种优化方法整体提升效果一般,区分度不够明显,如年化波动0.2467略微降低至0.2187,最大回撤仅从56.46%优化到47.87%

4、结束语

组合优化方法是分散化投资的理论工具,分散化投资降低风险,是寻找相关度低的资产作为投资标的,而A股市场标的基本都有着较高的贝塔值,这使得所有行业同样与大盘有着一致的牛熊,因此组合优化效果不尽如人意,基于组合优化方法,在更为宏观的市场领域内,选择相关度低的资产进行配置,这样的场景能更好的发挥组合优化模型的工具优势。

另外,针对策略持仓的组合优化方法,目前聚宽平台已经提供了优化器功能,支持对股票、基金进行投资优化,大家不妨去官网试试吧。

你可能感兴趣的:(python,组合优化,回撤最小)