模型"/>
基金评价专题2:单期Brison模型
目录
1. 模型介绍
2.案例演示
2.1 基础数据
2.2 超额收益
2.3 选股收益
2.4 配置收益
2.5 交叉收益
2.6 完整代码
3. 模型评价
3.1 模型优点
3.2 模型缺点
3.3 注意事项
免责声明:本文由作者参考相关资料,并结合自身实践和思考独立完成,对全文内容的准确性、完整性或可靠性不作任何保证。同时,文中提及的数据仅作为举例使用,不构成推荐;文中所有观点均不构成任何投资建议。请读者仔细阅读本声明,若读者阅读此文章,默认知晓此声明。
1. 模型介绍
传统的Brison模型将投资组合的超额收益拆分为配置收益、选股收益和交叉收益;其中各收益的解释如下:
选股收益指的是投资组合持仓股票的涨跌幅偏离其对应行业涨跌幅带来的收益之和。
配置收益指的是投资组合行业偏离基准带来的收益之和。
交叉收益是指行业配置和选股共同作用带来的收益。
超额收益 = 投资组合收益-基准组合收益 = 配置收益+选股收益+交叉收益
由于上述各个收益的公式展示比较复杂(公式本身不难,但是就是有点绕),因此本文不再展示公式,以案例的形式来做出说明,这样相对理解起来更容易。有需要的读者可参考其他文档。
2.案例演示
2.1 基础数据
data_dict = {'股票名称': {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'g', 7: 'h', 8: 'i'},'股票权重': {0: 0.0556, 1: 0.0711, 2: 0.1044, 3: 0.1244, 4: 0.0622, 5: 0.1022, 6: 0.0711, 7: 0.1844, 8: 0.1089},'股票所属行业': {0: '钢铁', 1: '计算机', 2: '房地产', 3: '基础化工', 4: '家用电器', 5: '银行', 6: '传媒', 7: '非银金融', 8: '环保'},'股票收益率': {0: 0.072, 1: -0.0915, 2: 0.04, 3: 0.173, 4: 0.084, 5: 0.063, 6: -0.053, 7: 0.126, 8: -0.1},'基准行业权重': {0: 0.05, 1: 0.1, 2: 0.1, 3: 0.15, 4: 0.1, 5: 0.1, 6: 0.1, 7: 0.2, 8: 0.1},'行业收益率': {0: 0.028, 1: -0.1, 2: 0.05, 3: 0.08, 4: 0.062, 5: 0.05, 6: -0.036, 7: 0.07, 8: -0.08}}# 数据转换
data_df = pd.DataFrame(data_dict)
为了方便实验,构建了简单(仅以股票行业作为举例),结果如下:
数据假设投资组合和基准组合包含的行业一致,同时投资组合每个行业下仅有一只股票(主要是为了方便演示,实际操作中只需要多一个对行业的分组求和步骤即可。),因此投资组合的股票收益率对应等于投资组合的行业收益率。
2.2 超额收益
超额收益很好理解,即投资组合的收益减去基准组合的收益,计算如下:
basic_re = (data_df['基准行业权重']*data_df['行业收益率']).sum()
p_re = (data_df['股票权重']*data_df['股票收益率']).sum()
alpha = round(p_re-basic_re,4)
得到的alpha的结果为2.14%。
2.3 选股收益
简单来说,选股收益就是所选股票跑赢(或跑输)其行业指数所获得的收益。以a股票为例:它在过去一段时间内的涨跌幅为7.2%,所属行业是钢铁,钢铁行业指数同期的涨跌幅是2.8%,因此a股票相对行业的超额为7.2%-2.8% = 4.4%。钢铁行业在基准组合中的仓位权重是5%,因此其为组合带来的选股收益是4.4%*5%=0.22%。其余股票以此类推,将所有股票对应的选股收益加总,就得到了投资组合的选股收益,相应的代码如下:
# 计算选股收益
select_stock_re = (data_df['基准行业权重']*(data_df['股票收益率']-data_df['行业收益率'])).sum()
得到的 select_stock_re的值为2.7%。
2.4 配置收益
简单来说,配置收益就是在行业的配置上超配或者少配获得的收益。以钢铁行业为例,其在投资组合中的占比为5.56%(即对应股票a的仓位权重),在基准组合中的占比为5%。因此投资组合超配了5.56%-5% = 0.56%的钢铁行业,期间钢铁行业的涨跌幅为2.8%,因此投资组合在钢铁行业上的配置收益为0.56%*2.8% = 0.02%。相应的代码如下:
# 计算配置收益
select_industry_re = (data_df['行业收益率']*(data_df['股票权重']
-data_df['基准行业权重'])).sum()
得到的 select_industry_re的值为-0.18%。
2.5 交叉收益
交叉收益本质上是配置和选股的共同作用。在钢铁行业上,基准和投资组合的权重分别为5%和5.56%,收益分别是2.8%和7.2%。因此,对应的配置作用为5.56%-5%=0.56%,对应的选股作用为7.2%-2.8% = 4.4%,交叉收益为4.4%*0.56% = 0.02%。对应的代码如下:
select_industry = data_df['股票权重']-data_df['基准行业权重']
select_stock = data_df['股票收益率']-data_df['行业收益率']
cross_re = (select_industry*select_stock).sum()
得到的cross_re的值为-0.38%。
2.6 完整代码
import pandas as pd# 测试数据
data_dict = {'股票名称': {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'g', 7: 'h', 8: 'i'},'股票权重': {0: 0.0556, 1: 0.0711, 2: 0.1044, 3: 0.1244, 4: 0.0622, 5: 0.1022, 6: 0.0711, 7: 0.1844,8: 0.1089},'股票所属行业': {0: '钢铁', 1: '计算机', 2: '房地产', 3: '基础化工', 4: '家用电器', 5: '银行', 6: '传媒', 7: '非银金融', 8: '环保'},'股票收益率': {0: 0.072, 1: -0.0915, 2: 0.04, 3: 0.173, 4: 0.084, 5: 0.063, 6: -0.053, 7: 0.126, 8: -0.1},'基准行业权重': {0: 0.05, 1: 0.1, 2: 0.1, 3: 0.15, 4: 0.1, 5: 0.1, 6: 0.1, 7: 0.2, 8: 0.1},'行业收益率': {0: 0.028, 1: -0.1, 2: 0.05, 3: 0.08, 4: 0.062, 5: 0.05, 6: -0.036, 7: 0.07, 8: -0.08}}# 数据转换
data_df = pd.DataFrame(data_dict)# 超额收益
basic_re = (data_df['基准行业权重'] * data_df['行业收益率']).sum()
p_re = (data_df['股票权重'] * data_df['股票收益率']).sum()
alpha = round(p_re - basic_re, 4)# 计算选股收益
select_stock_re = (data_df['基准行业权重'] * (data_df['股票收益率'] - data_df['行业收益率'])).sum()# 计算配置收益
select_industry_re = (data_df['行业收益率'] * (data_df['股票权重'] - data_df['基准行业权重'])).sum()
# 计算交叉收益
select_industry = data_df['股票权重'] - data_df['基准行业权重']
select_stock = data_df['股票收益率'] - data_df['行业收益率']
cross_re = (select_industry * select_stock).sum()
out_df = pd.DataFrame({'选股收益': [format(select_stock_re, '.2%')],'配置收益': [format(select_industry_re, '.2%')],'交叉收益': [format(cross_re, '.2%')],'超额收益': [format(alpha, '.2%')]})
最终,代码输出的结果为:
从结果可以得出结论,该组合相对基准的超额收益为2.14%,其中贡献来源主要是选股,配置和交叉主要表现为负贡献。
3. 模型评价
3.1 模型优点
1. 使用基金组合的持仓数据,在评价的深度上较基础指标有很大提升。
2. 定量化的标准计算,具有较强的可复现性以及可比性。
3.思路简洁,容易理解。
4. 模型在对基金组合进行绩效评估的同时,也体现组合的风险暴露。
5. 模型不仅可以适用于单一资产,也可适用于多个大类资产的组合(将行业切换成对应的各个大类资产即可)。
3.2 模型缺点
1. 模型对于数据以及处理的要求较高,存在一定门槛。
2.模型仅适用于有基准比较的投资组合,具有一定局限性;同时对于风格漂移较大的基金组合,其评价意义也会降低。
3.模型仅考虑了三类因素,忽略了其他可能因素;同时交叉收益对于组合的评价意义不大。
3.3 注意事项
1. 本文仅从科普的角度计算了单期的Brison计算,多期的Brison并非是单期的叠加,这里需要格外注意。
2.模型的数据基于历史,并不能反映未来,不可过度依赖。
免责声明:本文由作者参考相关资料,并结合自身实践和思考独立完成,对全文内容的准确性、完整性或可靠性不作任何保证。同时,文中提及的数据仅作为举例使用,不构成推荐;文中所有观点均不构成任何投资建议。请读者仔细阅读本声明,若读者阅读此文章,默认知晓此声明。
更多推荐
基金评价专题2:单期Brison模型
发布评论