业绩归因Brinson模型

原创:小粉桥反手王
本文链接:https://blog.csdn.net/hzk427/article/details/104232935

单期Brinson模型

  一个时期的基金收益可以分为四个部分:资产配置收益、个股选择收益、交互收益和基准组合收益。先构建4个概念性的组合:
  Q1、Q4:基准收益组合和实际投资组合;
  Q2:积极资产配置组合。这表示基金经理能自主选择资产配置的比例,但是每个资产类别内部则完全按照其业绩基准配置,即每个资产i的收益等于在基准中资产i的收益;
  Q3:积极股票选择组合。这表示基金经理完全按照业绩基准的比例进行资产类别的配置,但是每个资产内部能够自主选择个股,即组合中每个资产i的权重等于基准中资产i的权重。
  它们的计算公式如下图:
在这里插入图片描述
  资产配置收益,即仅改变资产权重:
在这里插入图片描述
  个股选择收益,即仅改变资产类别:
在这里插入图片描述
  交互收益,即由资产配置和个股选择的交互带来的:
在这里插入图片描述
  总超额收益=Q4-Q1=AR+SR+IR。根据权重之和为1,AR也可以写成如下形式,其中基准组合收益rb=Q1:
在这里插入图片描述
  尽管新定义的加入了基准收益,但由于权重之和都为1,所以更改后的资产配置收益和原结果在总和上是相等的。这两者的差异在于,原定义强调超额资产配置的收益来源于对收益更高的资产i的超配,或对收益低的资产j的低配,比如在普涨行情中,AR要求对所有上涨行业都进行超配,但这显然是做不到的,因为一定会以对另一个行业的低配为代价。而新定义强调对表现优于基准总收益的类别i超配,或劣于基准总收益的类别j低配,这种更符合实际。
  另外,绩效评价者也可以根据自身需要对超额收益进行重新划分,比如FRM考试中将交互收益也归于个股选择收益中去。

多期行业Brinson模型

在这里插入图片描述
在这里插入图片描述

案例分析

  考虑一个投资于11个资产大类的基准投资组合以及与该基准组合投资资产类别相同的投资组合p,具体类别和各类别投资权重见代码。试对该组合的收益率表现进行业绩归因:

import pandas as pd
name = ['现金','能源','原材料','非必需消费品','必需消费品','医疗保健','金融','信息技术','电信服务','公共服务','工业']
w1 = [0.3406,0.0599,0.0173,0.0837,0.0000,0.0444,0.1678,0.0000,0.0000,0.0000,0.2863]
w2 = [0.0000,0.0279,0.0672,0.1136,0.0678,0.0443,0.4150,0.0776,0.0104,0.0000,0.1762]
r1 = [0.0000,0.6824,5.4289,0.6665,0.0000,5.8276,1.4278,0.0000,0.0000,0.0000,1.1677]
r2 = [0.0000,0.0132,0.0760,0.1019,0.2125,0.1364,0.0256,0.0681,0.0649,0.0000,-0.0033]
df = pd.DataFrame({'wp_i': w1,'wb_i': w2,'rp_i': r1,'rb_i': r2},index = name)
df
Out[1]: 
          wp_i    wb_i    rp_i    rb_i
现金      0.3406  0.0000  0.0000  0.0000
能源      0.0599  0.0279  0.6824  0.0132
原材料     0.0173  0.0672  5.4289  0.0760
非必需消费品  0.0837  0.1136  0.6665  0.1019
必需消费品   0.0000  0.0678  0.0000  0.2125
医疗保健    0.0444  0.0443  5.8276  0.1364
金融      0.1678  0.4150  1.4278  0.0256
信息技术    0.0000  0.0776  0.0000  0.0681
电信服务    0.0000  0.0104  0.0000  0.0649
公共服务    0.0000  0.0000  0.0000  0.0000
工业      0.2863  0.1762  1.1677 -0.0033

  计算各版块的Q1、Q2、Q3和Q4:

df['Q1'] = df['rb_i']*df['wb_i']
df['Q2'] = df['rb_i']*df['wp_i']
df['Q3'] = df['rp_i']*df['wb_i']
df['Q4'] = df['rp_i']*df['wp_i']
df
Out[3]: 
          wp_i    wb_i    rp_i    rb_i        Q1        Q2        Q3        Q4
现金      0.3406  0.0000  0.0000  0.0000  0.000000  0.000000  0.000000  0.000000
能源      0.0599  0.0279  0.6824  0.0132  0.000368  0.000791  0.019039  0.040876
原材料     0.0173  0.0672  5.4289  0.0760  0.005107  0.001315  0.364822  0.093920
非必需消费品  0.0837  0.1136  0.6665  0.1019  0.011576  0.008529  0.075714  0.055786
必需消费品   0.0000  0.0678  0.0000  0.2125  0.014408  0.000000  0.000000  0.000000
医疗保健    0.0444  0.0443  5.8276  0.1364  0.006043  0.006056  0.258163  0.258745
金融      0.1678  0.4150  1.4278  0.0256  0.010624  0.004296  0.592537  0.239585
信息技术    0.0000  0.0776  0.0000  0.0681  0.005285  0.000000  0.000000  0.000000
电信服务    0.0000  0.0104  0.0000  0.0649  0.000675  0.000000  0.000000  0.000000
公共服务    0.0000  0.0000  0.0000  0.0000  0.000000  0.000000  0.000000  0.000000
工业      0.2863  0.1762  1.1677 -0.0033 -0.000581 -0.000945  0.205749  0.334313

  进行业绩归因。注意这里的板块配置用的是AR’,而且各行业的基准收益率被规定为常数∑df[‘Q1’],即包含该11类资产的基准组合收益时才能做到求和后等于AR’:

result = pd.DataFrame()
result['板块配置'] = df['Q2']-df['Q1']-(df['wp_i']-df['wb_i'])*sum(df['Q1'])
result['板块内选股'] = df['Q3']-df['Q1']
result['交互收益'] = df['Q4']-df['Q3']-df['Q2']+df['Q1']
result['总超额收益'] = df['Q4']-df['Q1']
result.loc['合计'] = result.apply(lambda x:x.sum(),axis=0)
result
Out[4]: 
         板块配置    板块内选股    交互收益    总超额收益
现金     -0.018223  0.000000  0.000000  0.000000
能源     -0.001290  0.018671  0.021414  0.040507
原材料    -0.001123  0.359715 -0.267110  0.088813
非必需消费品 -0.001447  0.064139 -0.016882  0.044210
必需消费品  -0.010780 -0.014408  0.014408 -0.014408
医疗保健    0.000008  0.252120  0.000569  0.252703
金融      0.006898  0.581913 -0.346624  0.228961
信息技术   -0.001133 -0.005285  0.005285 -0.005285
电信服务   -0.000119 -0.000675  0.000675 -0.000675
公共服务    0.000000  0.000000  0.000000  0.000000
工业     -0.006254  0.206330  0.128927  0.334894
合计     -0.033462  1.462520 -0.459337  0.969721

  也就是说在资产组合p的总超额收益96.97%中,板块配置(择时能力)贡献了-3.35%,个股选择(选股能力,包含交互收益)贡献了100.32%。

参考文献

https://www.ricequant.com/community/topic/4204?page=1

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值