Brinson 归因与 Carino 连接¶
定义¶
单期把主动收益拆成配置、选择和交互。多期用对数平滑系数,使各期主动收益的加权和等于复利之后的主动收益。
公式¶
\[
A_{\mathrm{BF}}=\sum_j (w_{p,j}-w_{b,j})(R_{b,j}-R_b)
\]
满仓教学例子的主动收益 0.030 拆成 0.0160、0.0080、0.0060。现金被漏掉时,Fachler 合计对不上主动收益。两期复利主动收益是 0.036090。Carino 系数 0.903092,连接后 0.030675 与 0.005415 相加回到这个数。
直觉¶
行业配得对不对,要和基准总收益比,不能只看这个行业自己涨没涨。两期直接相加会漏掉交叉项。
实务要点 / 常见误区¶
- Hood 用行业收益本身。权重和相等时,两种配置的合计相同,行业列不同。
- Sharpe (1992) 要求风格系数非负且和为 1。把 1 和 0.5 归成 ⅔ 与 ⅓,残差平方和大于约束解 0.814815 与 0.185185。
- 没有持仓就不要填写风格暴露。
相关概念¶
- 实施缺口与市场冲击 (
implementation_shortfall_and_impact) - 结构化风险模型 (
structural_risk_model_barra) - 主动管理基本定律 (
fundamental_law_of_active_management)
代码¶
import math
def carino_scale(port: float, bench: float) -> float:
# 简单收益差很小时,这个比接近 1。先四舍五入再相除会丢最后一位。
return math.log((1.0 + port) / (1.0 + bench)) / (port - bench)
教材:M14 绩效评估与归因