第四节:多期Brinson归因——单期与多期模型的区别,链接方法

聊完单期归因,咱们得面对一个更现实的问题。

你想想看,一个投资组合,不可能只拿一天吧?

实际工作中,我们往往要分析一个季度、半年甚至一年的业绩。这时候,单期Brinson就不够用了。为什么?因为单期模型假设每期独立,但现实中,收益是复利累积的。你把每期的归因结果简单相加,会发现——对不上账。

嗯,这就是多期归因要解决的问题。

单期 vs 多期:核心差异在哪?

单期模型,说白了就是拍一张快照。它假设期初的配置和选股,决定了这期的超额收益。但多期模型,你得拍一部电影。因为基金经理会在期间调仓,上期的选股结果会影响下期的配置基数。

我举个例子你就明白了:

  • 单期模型:你月初配了10%的科技股,科技股涨了5%,那配置贡献就是0.5%。简单粗暴。
  • 多期模型:你月初配了10%,科技股涨了5%,月底科技股占比变成10.5%了。下个月你继续配科技股,但基数变了。这时候,上期的选股收益,会通过“复利效应”影响下期的配置贡献。

所以,多期归因的核心难点在于:如何把跨期的交互效应,合理地分配给各期

核心区别总结

  • 单期:线性相加,无复利效应
  • 多期:复利累积,存在交互效应
  • 单期:每期独立归因
  • 多期:需要链接方法,把各期串起来

三种主流链接方法:Carino、Menchero、Grap

我个人习惯把这三种方法,理解为“分蛋糕”的不同方式。总超额收益是一块大蛋糕,我们要把它切成几块,分给各期。但切法不同,结果就不同。

1. Carino方法:最直观的“对数链接”

Carino的思路很简单:既然复利是乘法的,那我用对数把它变成加法不就行了?

具体来说,它给每期的超额收益乘上一个“链接系数”:

# Carino链接系数计算
def carino_link(r_period, r_total):
    """
    r_period: 单期组合收益率
    r_total: 多期总组合收益率
    """
    import math
    k = math.log(1 + r_total) / math.log(1 + r_period)
    return k

嗯,这里要注意:Carino方法有个前提——假设各期收益率都为正。如果某期亏损严重,对数就没定义了。我在项目中遇到过这种情况,某季度市场暴跌,Carino直接报错,搞得我手忙脚乱。

我的经验:Carino适合市场平稳、收益率波动不大的场景。如果遇到极端行情,建议换方法。

2. Menchero方法:最稳健的“优化链接”

Menchero方法,说白了就是Carino的升级版。它不依赖对数,而是通过优化算法,找到一个“最优链接系数”,使得各期归因结果之和,恰好等于总超额收益。

它的核心公式长这样:

# Menchero链接系数(简化版)
def menchero_link(r_period, r_total, n_periods):
    """
    通过迭代优化,找到链接系数
    """
    # 实际项目中会用牛顿法或最小二乘
    # 这里展示核心思想
    k = (1 + r_total) ** (1/n_periods) - 1
    k = k / r_period  # 近似解
    return k

我曾经在实盘归因系统中,全面改用Menchero方法。原因很简单:它不挑市场环境。无论牛熊,都能稳定输出结果。而且,它还能处理负收益的情况——这一点Carino做不到。

避坑指南:Menchero虽然稳健,但计算量稍大。如果你要归因几千只基金,建议用C++或Numba加速。我曾经用纯Python跑一次全市场归因,跑了整整两个小时……后来改成C++,30秒搞定。

3. Grap方法:最简洁的“几何链接”

Grap方法,我个人觉得是最“优雅”的。它直接从几何角度出发,把多期收益拆解为各期收益的乘积,然后通过“几何分解”得到链接系数。

它的公式非常简洁:

# Grap链接系数
def grap_link(r_period, r_total):
    """
    Grap方法:几何平均分解
    """
    # 链接系数 = 总收益 / 各期收益的几何平均
    k = (1 + r_total) / (1 + r_period)
    return k

你看,就一行代码。但简洁不代表简单。Grap方法有个隐含假设:各期收益的波动率相近。如果某期波动特别大,结果会偏差。

三种方法的对比

方法 核心思想 优点 缺点 适用场景
Carino 对数链接 计算简单,直观 负收益时失效 市场平稳期
Menchero 优化链接 稳健,适用所有场景 计算量稍大 实盘生产环境
Grap 几何链接 公式简洁,易于实现 波动率敏感 学术研究、快速原型

多期归因的核心流程图

为了让你更直观地理解,我画了一张流程图。它展示了从单期归因到多期链接的完整路径:

多期Brinson归因流程 第1期单期归因 配置效应 + 选股效应 第2期单期归因 配置效应 + 选股效应 第N期单期归因 配置效应 + 选股效应 选择链接方法 Carino方法 Menchero方法 Grap方法 多期总超额收益归因结果

实战中的选择建议

说了这么多,到底该用哪个?

我个人建议:

  • 做学术研究或快速验证:用Grap。代码简单,跑得快,结果也够用。
  • 做生产环境的归因系统:用Menchero。虽然计算量大点,但胜在稳健。我在实盘系统中,就是用的Menchero,跑了两年没出过问题。
  • 做历史回测,且市场平稳:用Carino。它最直观,客户也容易理解。

一个小技巧:如果你不确定用哪个,可以三种方法都跑一遍,看看结果差异。如果差异很小(比如小于0.1%),那随便选一个都行。如果差异很大,说明市场波动剧烈,这时候优先相信Menchero。

好了,多期归因的核心逻辑就这些。说白了,就是怎么把单期的“快照”拼成一部“电影”。链接方法就是那个“剪辑师”,不同的剪辑师,剪出来的片子风格不同,但故事主线是一样的。

专注资料整理