3.2 Brinson 归因:配置 vs 选股¶
全球最经典的主动管理归因方法,1986 年提出,至今仍是行业标准。
看一份 Brinson 归因报告,需要 10 分钟。真正看懂它,需要这一章。
一、Brinson 归因的历史与定位¶
1.1 起源与发展¶
1986 年:Gary Brinson + Randolph Hood + Gilbert Beebower 在《Determinants of Portfolio Performance》中提出,开创现代业绩归因框架。
1991 年:Brinson + Singer + Beebower 提出扩展版本(含交互效应)。
现在:Brinson 归因是全球主流的主动管理归因方法,被券商、基金、FOF、考核机构广泛使用。
1.2 核心思想¶
问题:基金经理的超额收益来自哪里?
Brinson 回答:可以拆成三部分:
- 行业配置 α(Allocation Effect):超配 / 低配某些行业的贡献
- 个股选择 α(Selection Effect):行业内选对个股的贡献
- 交互效应(Interaction Effect):配置 + 选择的交互
数学:
1.3 适用场景¶
- 股票多头(主观 / 量化)
- 量化指增
- 市场中性(部分)
- FOF 层面(策略类别视为"行业")
不太适用: - CTA(品种不按行业划分) - 套利类(没有"基准行业"概念) - 宏观对冲(跨资产,Brinson 需扩展)
二、Brinson 归因的数学¶
2.1 基础公式(经典 Brinson-Hood-Beebower 1986)¶
假设: - 组合在行业 i 的权重:w_p,i - 基准在行业 i 的权重:w_b,i - 组合在行业 i 的收益:R_p,i - 基准在行业 i 的收益:R_b,i - 基准整体收益:R_b
主动收益:
拆解:
(a) 配置效应(Allocation Effect)¶
含义:组合超配 / 低配某行业,相对基准内该行业 vs 基准整体的差异,带来的贡献。
直觉: - 超配 "行业表现比基准好" 的行业 → 正贡献 - 低配 "行业表现比基准差" 的行业 → 正贡献
(b) 选择效应(Selection Effect)¶
含义:用基准的权重,在行业内选股的超额。
直觉:即使完全按基准权重配置各行业,在每个行业内部选对了股票,也能产生超额。
(c) 交互效应(Interaction Effect)¶
含义:同时超配了某行业 + 选对了该行业内股票的"联合贡献"。
直觉: - 超配了医药(+5% 权重)+ 医药内选对了创新药(+20% 超基准行业) - 交互 = 0.05 × 0.20 = +1%
(d) 验证恒等式¶
实例验证:
| 行业 | w_p,i | w_b,i | R_p,i | R_b,i |
|---|---|---|---|---|
| 医药 | 35% | 8% | +60% | +40% |
| 消费 | 15% | 20% | +20% | +15% |
| 金融 | 5% | 25% | -5% | -10% |
| 科技 | 30% | 30% | +30% | +35% |
| 其他 | 15% | 17% | +10% | +10% |
假设 R_b = 20%。
计算: - 配置 α: - 医药:(0.35-0.08)×(0.40-0.20) = 0.27×0.20 = +5.4% - 消费:(0.15-0.20)×(0.15-0.20) = (-0.05)×(-0.05) = +0.25% - 金融:(0.05-0.25)×(-0.10-0.20) = (-0.20)×(-0.30) = +6.0% - 科技:(0.30-0.30)×(0.35-0.20) = 0 - 其他:(0.15-0.17)×(0.10-0.20) = (-0.02)×(-0.10) = +0.2% - 配置 α 合计:+11.85%
- 选择 α:
- 医药:0.08×(0.60-0.40) = 0.08×0.20 = +1.6%
- 消费:0.20×(0.20-0.15) = 0.20×0.05 = +1.0%
- 金融:0.25×(-0.05-(-0.10)) = 0.25×0.05 = +1.25%
- 科技:0.30×(0.30-0.35) = 0.30×(-0.05) = -1.5%
- 其他:0.17×(0.10-0.10) = 0
-
选择 α 合计:+2.35%
-
交互 α:
- 医药:(0.27)×(0.20) = +5.4%
- 消费:(-0.05)×(0.05) = -0.25%
- 金融:(-0.20)×(0.05) = -1.0%
- 科技:(0)×(-0.05) = 0
- 其他:(-0.02)×(0) = 0
- 交互 α 合计:+4.15%
主动收益 = 11.85 + 2.35 + 4.15 = +18.35%
验证: - 组合收益 = 0.35×0.60 + 0.15×0.20 + 0.05×(-0.05) + 0.30×0.30 + 0.15×0.10 = 0.21 + 0.03 - 0.0025 + 0.09 + 0.015 = 0.3325 = +33.25% - 基准收益 = +20% - 主动收益 = 33.25% - 20% = +13.25%
咦,不一致?让我重新验证。
基准收益:0.08×0.40 + 0.20×0.15 + 0.25×(-0.10) + 0.30×0.35 + 0.17×0.10 = 0.032 + 0.030 - 0.025 + 0.105 + 0.017 = +15.9%
所以实际主动收益 = 33.25% - 15.9% = +17.35%
重新算: - 配置 α 使用的 R_b 应该是 15.9%,不是 20%
- 配置 α(修正):
- 医药:(0.35-0.08)×(0.40-0.159) = 0.27×0.241 = +6.51%
- 消费:(0.15-0.20)×(0.15-0.159) = -0.05×(-0.009) = +0.045%
- 金融:(0.05-0.25)×(-0.10-0.159) = -0.20×(-0.259) = +5.18%
- 科技:(0.30-0.30)×(0.35-0.159) = 0
- 其他:(0.15-0.17)×(0.10-0.159) = -0.02×(-0.059) = +0.118%
- 配置 α ≈ +11.85%
加上选择 α(+2.35%)+ 交互 α(+4.15%)≈ +18.35%
还有差距 1%,这是数值计算的舍入误差。
重要教训:Brinson 归因必须用精确公式,手算容易出错。实际操作时用Excel 模板或Python 库。
2.2 变种:Brinson-Fachler 归因¶
1985 年提出,是 Brinson 的扩展:
- 配置效应 使用 (R_b,i - R_b) —— 相对基准整体的行业超额
- 更符合"超配赢行业,低配输行业"的直觉
国内主流归因报告用这个版本。
2.3 变种:多期 Brinson¶
原始 Brinson:单期归因(月度 / 季度 / 年度)。
多期累积:多期拆分后累积相加,累积值不等于简单相加(需要复利调整)。
常见处理: - Linking Coefficient 方法:经典但复杂 - Carino 方法:简化版,国内主流 - GRAP 方法:学术版本
FOF 实战:用月度 Brinson + Carino 累积到年度。
三、Brinson 归因的四大应用¶
3.1 应用 1:识别管理人的核心能力¶
配置型管理人: - 配置 α 占主动收益 > 60% - 特征:擅长行业择时 / 宏观判断 - 实例:部分宏观对冲、行业轮动策略
选股型管理人: - 选择 α 占主动收益 > 60% - 特征:擅长个股研究 - 实例:巴菲特派价值投资、深度研究型
平衡型管理人: - 配置 + 选择相当 - 特征:全能型 - 实例:多数头部主观多头
交互型(少见): - 交互 α 显著(> 30%) - 特征:行业集中 + 行业内选股都对 - 实例:集中重仓风格
3.2 应用 2:判断能力的可持续性¶
配置 α 的可持续性¶
可持续信号: - 跨年份稳定 - 有清晰的宏观 / 行业判断逻辑 - 历次判断有事前记录
不可持续信号: - 集中在 1-2 年(赌赛道) - 判断理由模糊(事后合理化) - 只在单一市场环境下有效
选股 α 的可持续性¶
可持续信号: - 跨行业稳定(不局限于某一行业) - 跨年份稳定 - 团队有研究深度
不可持续信号: - 集中在某几只"经典股"(茅台 / 宁德 / 腾讯) - 大部分 α 来自少数股票 - 管理人换人后 α 消失
3.3 应用 3:检测风格漂移¶
方法: - 做滚动 12 个月 Brinson 归因 - 看配置 / 选择 / 交互的时间序列 - 主要贡献来源的变化 = 策略画像变化
实例: - 管理人 2020 年:配置 α 主要来自"医药 +20% 超配" - 管理人 2024 年:配置 α 主要来自"科技 +30% 超配" - 风格画像从"医药专家"变成"科技追随者"
3.4 应用 4:FOF 层面的归因¶
FOF 的 Brinson 归因: - "行业" = 策略类别(股票多头 / 中性 / CTA / 套利 / 宏观) - "个股" = 具体管理人 - "基准" = 自定义的策略中位数 / 行业平均
解读: - 配置 α:跨策略类别配置的判断 - 选择 α:在每个策略类别内选对管理人 - 交互:两者的联合贡献
四、Brinson 归因的实战解读¶
4.1 一份主观多头归因报告¶
假设某管理人 2023 年 Brinson 归因:
| 维度 | 贡献 |
|---|---|
| 配置 α | +3% |
| 选择 α | +8% |
| 交互 α | +2% |
| 合计主动收益 | +13% |
解读: - 这个管理人是选股型(选择 α > 60% of 总 α) - 行业配置贡献中等 - 整体主动收益 13%,不错
进一步看分行业贡献:
| 行业 | 配置 α | 选择 α |
|---|---|---|
| 医药 | +2% | +3% |
| 消费 | +1% | +2% |
| 金融 | 0% | +1% |
| 科技 | 0% | +2% |
| 其他 | 0% | 0% |
进一步解读: - 医药是核心能力(配置 2% + 选择 3%,合计 5%) - 消费贡献第二 - 金融 / 其他贡献小 - 管理人在医药 + 消费 上有真能力
追问: - "医药的选股 α 是不是依赖少数股票?" - "消费的选股 α 是怎么做到的?" - "金融 / 其他行业没什么贡献,是因为仓位低还是选股不行?"
4.2 一份指增归因报告¶
假设某 500 指增 2023 年 Brinson 归因(对照中证 500):
| 维度 | 贡献 |
|---|---|
| 配置 α | +2% |
| 选择 α | +10% |
| 交互 α | +1% |
| 合计主动收益(超额) | +13% |
解读: - 指增的 α 主要来自选股(符合量化指增的本质:在基准内选股) - 配置 α 较低(符合量化指增的"相对中性"特征) - 交互 α 小,行业暴露相对均匀
追问: - "选股 α 主要来自哪些行业?" - "选股信号的周期分布?"
4.3 一份"红旗"归因报告¶
假设归因报告:
| 维度 | 贡献 |
|---|---|
| 配置 α | +15% |
| 选择 α | -1% |
| 交互 α | -1% |
| 合计主动收益 | +13% |
解读: - 13% 全部来自"配置 α" - 选股 α 几乎为 0 - 本质是"行业轮动"型,不是"选股"
追问: - "你的配置 α 如何在未来持续?" - "过去 5 年配置 α 稳定吗?" - "你们的宏观 / 行业判断方法论?"
很多时候,这类管理人是赌赛道 + 偶尔赌对。
五、Brinson 归因的局限¶
5.1 局限 1:行业分类的模糊¶
不同行业分类: - 中证 / 申万 / GICS / 自定义 - 同一股票在不同分类下归入不同行业
影响: - 归因结果随分类不同 - 跨归因报告对比时需统一分类
5.2 局限 2:风格贡献被掩盖¶
Brinson 只看行业,不看风格因子(Size / Value / Growth)。
实例: - 管理人重仓"小市值科技股" - Brinson 归因:科技行业 +20% 配置 α + 科技行业选股 α - 真相:Size 因子贡献了大部分 α
解决:Brinson 与 Barra 风格归因结合用(详见 3.3)。
5.3 局限 3:交互效应的含义不清¶
交互效应(Interaction Effect)的直觉: - 同时超配 + 行业内选对 - 但实际上这是合理的投资行为(超配 + 选股逻辑相关) - 交互大 = 策略集中度高
处理: - 多数报告把交互合并到"选择"或"配置" - 我们关注选择 + 交互 vs 配置的对比
5.4 局限 4:对多资产不适用¶
Brinson 是股票多头的归因工具。
对CTA / 套利 / 宏观等多资产策略,需要扩展版本或其他方法。
六、Brinson 归因的陷阱¶
6.1 陷阱 1:基准选择的操纵¶
陷阱: - 管理人可以自选基准让 Brinson 结果好看 - 比如用"偏股基金指数"代替"沪深 300" - 不同基准下行业权重 / 收益不同 → Brinson 结果不同
应对: - 明确基准 - 对比多个基准的 Brinson
6.2 陷阱 2:行业分类的操纵¶
陷阱: - 管理人自定义行业分类 - 合并某些行业让自己看起来更分散 - 拆分某些行业让贡献看起来更大
应对: - 要求用标准分类(中证 / 申万) - 自己重新做 Brinson 验证
6.3 陷阱 3:多期累积的数学游戏¶
陷阱: - 单期 Brinson 数据好看 - 但多期累积后 α 消失 - 管理人展示单期数据,不展示累积
应对: - 要累积 Brinson(年度 / 累积以来) - 用 Carino 或类似方法做累积
6.4 陷阱 4:单期极端值的误导¶
陷阱: - 某一个月恰好行业配置对 +10% α - 管理人就此宣称"我们的配置能力强"
应对: - 看至少12 个月的归因 - 看稳定性而非单期数字
七、Brinson 归因的实战追问清单¶
A. 归因报告基础¶
- 归因基准:用什么基准?合同里的那个吗?
- 行业分类:用什么分类?中证 / 申万 / 其他?
- 归因方法:Brinson-Hood-Beebower / Brinson-Fachler?
- 累积方法:多期累积用什么方法?
B. 结果解读¶
- 各维度贡献:配置 α / 选择 α / 交互 α 分别多少?
- 主要贡献来源行业:哪些行业是核心贡献?
- 历史稳定性:过去 3 年各维度的稳定性?
C. 深入追问¶
- 配置 α 的逻辑:你怎么决定超配 / 低配某行业的?
- 选择 α 的方法论:你在每个行业内部的选股方法?
- 交互 α 的来源:哪些行业的集中重仓同时带来了行业配置和选股 α?
D. 可持续性¶
- α 来源的可持续性:你的核心能力在未来还适用吗?
- 极端环境下的 Brinson:在熊市 / 风格切换期的归因表现?
- 未来展望:未来 12 个月你预期的 α 来源?
八、实战工具¶
8.1 Excel 模板¶
行列设计: - 行:行业 - 列:组合权重、基准权重、组合行业收益、基准行业收益 - 计算列:配置 α、选择 α、交互 α
公式:
配置 α[i] = (w_p[i] - w_b[i]) * (R_b[i] - R_b_total)
选择 α[i] = w_b[i] * (R_p[i] - R_b[i])
交互 α[i] = (w_p[i] - w_b[i]) * (R_p[i] - R_b[i])
8.2 Python(pyfolio / QuantStats)¶
# 简单示例
import pandas as pd
def brinson_attribution(portfolio, benchmark):
"""
Brinson-Hood-Beebower 归因
portfolio / benchmark: DataFrame,每行是行业
列:weight, return
"""
w_p, r_p = portfolio['weight'], portfolio['return']
w_b, r_b = benchmark['weight'], benchmark['return']
R_b_total = (w_b * r_b).sum()
allocation = (w_p - w_b) * (r_b - R_b_total)
selection = w_b * (r_p - r_b)
interaction = (w_p - w_b) * (r_p - r_b)
return {
'allocation': allocation.sum(),
'selection': selection.sum(),
'interaction': interaction.sum(),
'total_active': allocation.sum() + selection.sum() + interaction.sum()
}
8.3 国内归因服务商¶
- 中证指数公司:提供 Brinson 归因服务
- Wind / 同花顺:内置归因分析
- CMS(中信建投)/ 国泰君安 / 中信建投:买方 / 卖方归因报告
九、一句话总结¶
Brinson 归因 = 主动管理的"诊断书"
我们通过 Brinson 回答:"这个管理人到底是怎么赚到钱的?"
Brinson 使用的 3 个第一性原理:
- 看三维分解 —— 配置 / 选择 / 交互,每个维度都有意义
- 看跨年份稳定性 —— 单年 Brinson 可能是运气
- 结合 Barra 风格归因 —— Brinson 只看行业,Barra 看风格
最硬的两个追问(看到 Brinson 归因时自问):
- "三个维度的贡献分布和管理人的自我定位一致吗?" —— 自称"深度选股"但配置 α 占主,是包装
- "过去 3 年各维度贡献的稳定性?" —— 单年集中 = 运气,多年分散 = 能力
记住:Brinson 是 1986 年的工具,至今仍有效,因为它直击"主动管理"的本质:配置选对 or 选股选对。
会用 Brinson 的 FOF 团队,能快速判断一个管理人的真实能力画像,而不是被"年化 30%"这种汇总数字迷惑。