Skip to content

第38章:基准与策略归因 ​

2025 年,A 股几个宽基指数的全年涨幅是:沪深300 +17.66%、中证500 +30.39%、中证1000 +27.49%、中证2000 +36.42%(Wind 数据)。假设你的只做多组合这一年赚了 30%——同一份持仓、同一年,只换比较对象,结论就有四种:对沪深300 是超额 +12.34 个百分点,对中证500 是 −0.39 个百分点,对中证1000 是 +2.51 个百分点,对中证2000 是 −6.42 个百分点。“赚了多少”这句话本身不含信息,它必须跟着“跟谁比”。

但这只是第一层。就算基准定对了,那个 +12.34 个百分点仍然可能是三件完全不同的事:押对了行业(2025 年申万一级行业里有色金属涨 94.73%,食品饮料跌 9.69%);持仓整体比基准更偏小盘(中证2000 比沪深300 多涨 18.76 个百分点);或者真的在每一个行业里都挑中了更好的公司。三者的可复制性完全不同——前两种要求你每年押对行业或风格,只有第三种要求你分辨公司。

本章要回答三个问题:该拿什么当基准;超额里行业配置、风格暴露、个股选择各占多少;以及亏损该记在谁头上。

第36章已经把“先扣掉暴露,再看剩下多少是选择”立成一个必须做的动作(风格暴露指组合在市值、估值、波动这些共同特征上偏离基准的程度),本章把它做成能照着算的分解:行业这一层用 Brinson 分解,风格这一层用“主动暴露乘以因子收益”。第37章回答策略在别的条件下还成不成立,本章回答它挣的到底是什么钱——只有知道来源,第39章要管的那些暴露才有对象。

一、先定基准:同一份持仓,四个基准四种结论 ​

一个数字怎么变成四种结论 ​

把开头那组数字摆成表,问题就藏不住了。下表沿用“组合 2025 年赚 30%”这个教学示意,四个基准都是真实涨幅:

比较对象2025 年涨幅组合的超额收益
沪深300+17.66%+12.34 个百分点
中证500+30.39%−0.39 个百分点
中证1000+27.49%+2.51 个百分点
中证2000+36.42%−6.42 个百分点

同一份持仓,“大幅跑赢”和“明显跑输”只隔着一行表格。所以任何一句“我的策略今年赚了 30%”,在补上基准之前都不能拿来评价。

示意:同一组合在四个宽基基准下的超额收益,符号从正变负

读图:四根柱子是同一个组合、同一年的超额收益,只有比较对象不同。从左到右,基准的持仓市值越来越小,超额从 +12.34 个百分点一路变到 −6.42 个百分点。柱子过零线那一刻,结论就从“跑赢”翻成“跑输”,而组合本身一个字都没改。 这就是基准必须最先定下来的原因。

选基准的三条检查 ​

知道基准重要,不等于知道该选哪一个。下面三条可以照着做,顺序不能反。

第一,持仓匹配度。 把组合和候选基准的市值、行业权重、估值水平并排放一行看。第36章给过一个具体检查,做法是这样的:把股票池里的股票按市值从大到小排序、等分成五档,再分别算组合相对基准在每一档里的平均超额。如果超额几乎全挤在市值最小的那一两档,说明组合的实际栖息地就在小盘,基准就该落在那边,而不是沪深300。 反过来说,如果持仓市值中位数和沪深300 差不多,却拿中证1000 当基准,超额会被人为抬高——抬高的部分不是你挣的。

第二,可投资性。 基准必须是真能买到的东西。对个股组合,这意味着基准指数要有对应的、规模与成交额足够的 ETF(第18章、第32章);对一个只做多不能做空的账户,这也意味着你没法靠做空把基准的某一部分对冲掉。一个买不到的基准,它的超额无法兑现——你可以在报告里写“跑赢中证2000 六个百分点”,但账户里拿不到这六个百分点。

第三,可算性。 基准的权重和收益要能按 point-in-time 取到,还要知道它什么时候调样、按什么规则调样(第27章)。沪深300、中证500、中证1000 这些指数的成分与权重是公开可得的,所以能算;自己临时拼的一个“等权平均收益”不是合格基准,因为它的权重在事后才可知,回测里很容易混入未来信息。

对个股加 ETF 的混合组合,基准要分开定:个股部分对照股票指数,ETF 部分对照它跟踪的指数,最后按两部分的资金占比合并成一个混合基准。

边界:基准要写死,而且换基准要重报 ​

基准和股票池、成本假设一样,是必须在研究开始前写死的东西,不能等看到结果再挑(第30章的三条纪律)。研究中途换基准,等于把之前所有“超额”数字作废重算。

ETF 组合在这里有一个特殊情形:一篮子行业或主题 ETF 没有天然的宽基基准。这时要么自己按持仓权重拼一个混合基准,要么坦白说“这个组合只做绝对收益评价,不谈超额”。声称“跑赢沪深300”却又满手行业 ETF,是最常见的自我美化:那笔超额里绝大部分是行业选择,而沪深300 根本不承担这种比较。

二、行业配置还是行业内选股:一次 Brinson 分解 ​

两个组合,同样的超额,完全不同的本事 ​

甲、乙两个组合,2025 年都跑赢基准 10 个百分点。甲的持仓里,有色金属从基准的 4% 加到 12%,其余行业基本照抄基准——它挣的是“押对了涨 94.73% 的那个行业”。乙的行业权重和基准一模一样,但它在每一个行业里持有的都是该行业内表现更好的那一批公司。

两个组合的绩效数字完全相同,可复制性却不同:甲要求你每年都能判断对哪个行业最强,乙要求你能在同一行业里持续分辨公司。不拆开看,你没法知道自己练的是哪一种本事,也没法知道自己明年会栽在哪一种失败上。

三块贡献,一块都不能少 ​

把超额拆成三块,用的是 Brinson 分解(Brinson、Hood 与 Beebower,1986;Brinson 与 Fachler,1985 的改进版)。设 wiP、wiB 是组合与基准在第 i 个行业上的权重,riP、riB 是该行业内组合持仓与基准成分的实际收益,RB 是基准总收益,则:

RP−RB=∑i(wiP−wiB)(riB−RB)+∑iwiB(riP−riB)+∑i(wiP−wiB)(riP−riB)

三块依次是:

  • 行业配置收益 ∑i(wiP−wiB)(riB−RB):权重偏离乘以该行业相对基准总收益的超额。它回答“超配的那些行业,是不是比基准整体涨得更好”。
  • 个股选择收益 ∑iwiB(riP−riB):按基准权重加权、衡量行业内选得好不好。它回答“如果行业权重完全照抄基准,我还能不能多赚”。
  • 交互项 ∑i(wiP−wiB)(riP−riB):权重偏离与选股偏离的乘积。它回答“我超配的行业里,是不是恰好也选得更好”。

用 2025 年的真实行业涨幅算一遍 ​

下面换一个示意组合来演示分解:它 2025 年拿到 27.70%,与开头那个赚 30% 的组合不是同一个,两节的示意数字互不相干。例子用 2025 年申万一级行业的真实涨幅(有色金属 +94.73%、食品饮料 −9.69%),组合的权重与行业内选股收益是教学示意。为看清结构,把 31 个行业合成三组:

行业组基准权重组合权重基准内该组收益组合内该组收益
有色金属4%12%+94.73%+99.73%
食品饮料8%2%−9.69%−14.69%
其余行业合计88%86%+16.64%+18.64%

(其余行业这一组的收益是反解出来的:让基准总收益正好等于沪深300 的 17.66%。)

先算两端的总收益。基准:0.04×94.73%+0.08×(−9.69%)+0.88×16.64%=17.66%。组合:0.12×99.73%+0.02×(−14.69%)+0.86×18.64%=27.70%。超额 10.05 个百分点。 现在把它拆开:

来源有色金属食品饮料其余行业合计
行业配置0.08×77.07%=6.17(−0.06)×(−27.35%)=1.64(−0.02)×(−1.02%)=0.027.83
个股选择0.04×5.0%=0.200.08×(−5.0%)=−0.400.88×2.0%=1.761.56
交互项0.08×5.0%=0.40(−0.06)×(−5.0%)=0.30(−0.02)×2.0%=−0.040.66
合计10.05

(单位均为百分点,因四舍五入各项之和与总数相差不超过 0.01。)

三块加起来正好等于 10.05,一分不多一分不少——这是这套分解的价值:它不是三种估计,而是一次彻底的切分。

示意:10.05 个百分点的超额拆成行业配置 7.83、个股选择 1.56、交互项 0.66

读图要注意最后那段结论:这 10.05 个百分点里,7.83 个百分点是“多配了有色金属”这一件事带来的,1.56 个百分点才是照抄基准权重、靠行业内挑股挣到的,剩下 0.66 是“押注叠加”——在超配的行业里恰好也选得更好。也就是说,这套被称作“选股策略”的东西,2025 年大约八成的超额来自一次行业判断。

交互项不是杂物。它为正,说明你把钱加在了自己也更会挑的行业上;如果它显著为负,说明你的行业判断和选股能力在互相拆台——在最会挑的行业上反而配得最少。这种组合本身就是一条值得处理的信号。

边界 ​

它假设期内不调仓。 上例用一整年做单期,实际等于假设你年初就拿着这套权重不动。真实归因要按月或按季滚动做,再把各期贡献连起来。

各期贡献不能直接相加(跨期这一种不能加)。 收益是复利相乘的,Brinson 的各期贡献却是可加的,所以简单求和会与累计超额对不上。业界的做法是用链接系数对各期结果做缩放(Cariño 1999 的对数链接法是最常见的一种),使各期之和等于真正的累计超额。看到一份多年归因报告,先问它用了哪种链接方法;说不上来的,各期数字多半是硬加出来的。

行业分类标准会改变结论。 申万一级 31 个行业、中信一级 30 个行业、按产业链粗分的七八个板块,切出来的“行业配置收益”不是同一个数。报告里必须写明用的是哪一套。

权重为零的行业要特殊处理。 组合完全不配某个行业时,该行业内没有持仓、收益无从计算,直接填零会凭空产生一笔“选股收益”。标准做法是把它设成等于基准行业收益,这样不影响等式成立。

不要把 Brinson 读成“行业配置最重要”。 那篇 1986 年的论文有个被引用了几十年的数字:资产配置政策解释了样本基金季度收益变动的 93.6%。它解释的是收益随时间的波动,不是收益的水平,而且后来 Ibbotson 与 Kaplan(2000)用截面回归给出的“基金之间收益差异有多大比例来自配置政策”约为 40%。本章的例子里行业配置占八成,是这个示意组合的特定结果,不是普遍规律。

三、除了行业还有风格:因子归因与市值下沉 ​

扣掉行业之后剩下的,可能仍然是风格 ​

上一节那个组合,就算行业权重完全照抄基准、一年只挣到 1.56 个百分点,也还不能宣布“选股有效”。因为它可能只是在每一个行业里都买了更小的那只——行业权重一样,市值暴露不一样。

2025 年把这件事放得很大:中证2000 涨 36.42%,沪深300 涨 17.66%,差 18.76 个百分点;同期万得微盘股指数(由市值最小的一批股票等权构成)上涨 70.7%。在这一年,“每个行业里挑市值更小的那只”本身就是一种能挣到钱的行为,但它挣的是风格,不是选股。 反过来的年份也有:2024 年 1 月,万得微盘股指数单月跌 21.28%,沪深300 只跌 6.29%,同一套做法当月就大幅落后。

这里要先把两把尺子分开。 第二节的 Brinson 分解、以及本节下面第一张因子表,起点都是“相对基准的超额”;本节最后那张“从总收益往下扣”的表,起点是“组合自己的绝对收益”。起点不同、扣的层次也不同,两组数字不能互相对照。真实归因里行业与风格还会互相重叠——超配有色金属同时也抬高了小盘暴露——所以行业层与风格层的贡献也不能加在一起。实务中一次通常只选一套口径来报:想知道“行业判断值多少”就用超额口径,想知道“我总共承担了多少偏离”就用总收益口径。

因子贡献等于主动暴露乘以因子收益 ​

风格这一层的算法只有一句话:某一因子的贡献 = 组合相对该因子的主动暴露 × 该因子当期的因子收益。

ck=(XkP−XkB)×fk

XkP、XkB 是组合与基准在因子 k 上的暴露,两者之差叫主动暴露;fk 是该因子当期的因子收益。两个词都要就地讲清楚(第19章讲过因子收益的来源):

  • 因子暴露是标准化的坐标:全市场股票的该特征值经去极值、标准化后,0 是平均水平,+1 表示比平均高一个标准差。以规模因子为例,数值越小代表市值越小,所以 −0.55 读作“偏小盘 0.55 个标准差”。组合的暴露就是各持仓暴露按权重加权平均。
  • 因子收益是“暴露每增加一个单位,当期能带来多少收益”,由每一期对全市场做横截面回归估计出来(第19章)。它每期都在变:小盘占优的月份规模因子收益为负(因为暴露越大、即市值越大,收益越差),大盘占优时转为正。

用一个月度示意把这一步走完。下表是某组合相对基准的主动暴露,以及当月的因子收益(均为教学示意):

因子主动暴露(组合 − 基准)当月因子收益贡献
市场+0.05+2.0%+0.10
规模−0.55−1.2%+0.66
价值+0.20+0.4%+0.08
动量+0.35−0.8%−0.28
波动−0.10+0.3%−0.03
因子合计+0.53

规模那一行的读法是:组合比基准偏小盘 0.55 个标准差,而该月规模因子收益是 −1.2%(大盘吃亏),所以偏小盘这一侧挣到 (−0.55)×(−1.2%)=+0.66%。动量那一行是反的:组合偏动量 0.35 个标准差,而该月动量因子收益为负,所以赔掉 0.28%。

假设这个组合当月对基准的超额是 +0.70%,那么残差(也就是选股那一部分)是:

e=0.70%−0.53%=0.17%

0.70% 的超额里,0.53% 来自暴露,只有 0.17% 是因子解释不了的残差。 残差才是通常说的选股能力——它不依赖你押对了哪一类股票,只依赖你在一群特征相近的公司里挑得更好。

这一步需要的因子不止五个。实务中的风险模型(以 Barra 的中国版为例)用九个一级风格因子:波动、动量、价值、规模、流动性、质量、成长、股息率、情绪,再加三十个左右的行业因子。因子清单变长,残差就会变小——这是好事也是风险:扣得越干净,剩下的越像真本事;但扣得过头,也可能把本来属于你的收益算成了风格。

从总收益到残差 alpha:一层一层扣 ​

风格归因和“Beta 收益与 Alpha 收益”是同一件事的两种说法,只是扣的层数不同。用开头那个 2025 年赚 30% 的示意组合把它走完(无风险利率取 2025 年末十年期国债收益率 1.85%;β 是组合相对市场的涨跌放大倍数——市场的超额收益变动 1 个百分点,组合平均变动 β 个百分点):

层次怎么算这一层扣掉后还剩
组合总收益—30.00%
无风险利率十年期国债 1.85%1.85%28.15%
市场 Beta 部分β=1.15×(17.66%−1.85%)18.18%9.97%
规模下沉约 30% 的仓位等效从沪深300 移到中证2000:0.30×18.76%5.63%4.34%
残差(选股 alpha)剩下的部分4.34%—

(β 与规模迁移比例都是教学示意,指数涨幅与无风险利率是 2025 年真实数据。注意这一层各项的单位是收益率,不是相对基准的百分点——它切的是组合自己的总收益,不是超额。)

一个 2025 年赚 30% 的偏小盘组合,扣掉市场涨跌和规模下沉之后,真正属于选股的可能只剩 4.3% 左右,不到总收益的七分之一。 这就是为什么只看总收益会严重高估策略:前两层不要求你做任何判断,只要在场、并且站在小盘那一侧就能拿到。

三种 alpha 不是同一个数 ​

“我的 alpha 是多少”这句话必须补上“扣掉了什么”,因为它们数值差得很远:

口径扣掉了什么剩下的东西意味着什么
CAPM alpha只扣市场涨跌含全部风格与行业偏离,通常被高估
多因子 alpha市场 + 规模、价值、动量等风格风格之外的选择能力,但对行业偏离不设防
行业中性后的选股收益再加行业权重同一行业内挑公司的能力,最严格也最小

第36章那个“先扣掉行业和市值”的动作,对应的就是最后一行。报数时把口径写清楚,否则两个人的 alpha 根本没法放在一张表里比。

边界 ​

  • 因子收益是估出来的,不是观察到的。 它来自每期的横截面回归,估计误差会直接进入贡献值。单月归因的噪声很大,要看的是多个月的分布,不是某一个月。
  • 暴露不等于收益。 偏小盘 0.55 个标准差只是你站的位置,它值多少钱取决于当期的因子收益。风格反转时,同一个位置立刻变成亏损来源。
  • 残差为正也不等于策略好。 残差小、稳定、且能给出经济解释,才算可信;残差大但波动剧烈,可能只是模型漏掉了某个因子(第31章讲过因子冗余与共线性的同类问题)。

四、回撤也要归因:亏损同样分三层 ​

同一个分解,用在亏钱的那段 ​

前面三节拆的是收益,同样的方法必须再拆一遍亏损——因为回撤的原因决定了该做什么,而这一点从净值曲线上看不出来。

2026 年 7 月是一个现成的样本:万得全A(覆盖全部 A 股的宽基指数)当月跌 13.14%,科创50 跌 25.90%,同期红利指数(由高股息股票构成的指数)上涨约 12.8%,沪深300 跌 7.86%。假设你的组合当月跌 18.0%(教学示意),那么对沪深300 的超额回撤是 −10.14 个百分点。把它拆开:

来源贡献说明
行业配置−2.4超配的行业(科技方向)当月跌得更多
风格暴露−8.0小盘与高波动暴露在去杠杆中同时被卖出
行业内选股+0.3在同一行业里挑得仍然比基准好
合计−10.1与 −10.14 的差异来自四舍五入

读这张表的关键在最后一行:选股那一层还是正的。 这套策略的选股逻辑没有坏,坏的是它承担的那两份暴露在这个月同时反向兑现。

两种回撤,两种处理 ​

把回撤拆完之后,判断只剩两个方向:

  • 亏损集中在暴露层(上例的风格 −8.0):机制没坏,是暴露在兑现它的反面。这类回撤的处理是暴露管理——按第39章要讲的限额降低偏离,或者按计划扛住。改因子、改参数是错的,因为信号本身还在工作。
  • 亏损集中在残差层(行业内选股由正转负,且连续数月):这是信号在退化。第37章把“可以上模拟盘”的通过条件写成两句话——样本外各段的超额方向要与样本内一致,量级不低于样本内的约一半;残差连续为负就是这两句话被破坏,对应第42章要处理的失效判断:那时该做的是回到因子检验,而不是调仓位。

分辨这两件事,是回撤归因唯一的用途。 净值跌 18% 本身不提供任何决策信息;知道这 18% 里有多少是市场、多少是暴露、多少是选股,才知道下一步该动哪里。

边界 ​

  • 先分清“市场跌的”和“我多亏的”。 只做多组合在市场下跌月份跑输基准是结构性的,不是错误。上例里沪深300 那 −7.86% 不是归因要处理的对象,要处理的是那 −10.14 个百分点的超额回撤。
  • 回撤期更短,噪声更大。 一个月、甚至一个季度的归因结果,单看意义有限(第37章讲过分段结论的噪声)。要看的是多次回撤是否落在同一层。
  • 极端日的归因会失真。 全市场跌停时,很多成交根本没有发生,那一天的收益本身是估出来的(第35章)。这类日子的归因只能看方向,不能看数值。

五、ETF 与混合组合:先穿透,再归因 ​

ETF 组合不能用同一套做法直接套上去,因为它的持仓是基金份额,不是公司。

第一,先穿透到底层。 归因需要的行业权重、市值暴露、风格暴露,都得用穿透后的公司权重来算:持有某公司的实际权重等于直接持有的权重,加上各 ETF 的账户权重乘以该公司在 ETF 净资产中的占比(第33章给过这个公式)。不穿透,行业配置收益算不出来,风格暴露也算不出来。

第二,区分“指数给的”和“你选的”。 一只沪深300 ETF 的行业权重是指数编制规则决定的,不是你的判断;你真正做出的选择是“买哪几只 ETF、各配多少”。所以纯宽基 ETF 组合的行业配置收益通常接近零,这是正常的;只有当你用行业或主题 ETF 主动偏离时,行业配置这一项才有内容。把宽基 ETF 自带的行业分布算成自己的配置能力,是 ETF 归因里最常见的错误。

第三,产品层要单列一行。 跟踪误差、折溢价、管理费与托管费、跨境 ETF 的额度与汇率影响,都属于“产品层”而不是“投资逻辑层”。它们会实打实地吃掉收益,但与选股能力无关。如果把它们留在残差里,一个跟踪得很好的 ETF 组合会显得“选股能力为负”——这不是策略的问题,是归因漏了一层。

第四,重复持仓要先去重。 同时持有沪深300 ETF 和中证1000 增强 ETF,两只产品在成分上有重叠;穿透之后对同一家公司会算到两次权重。不去重,行业权重之和会超过 100%,归因结果全部失真。

混合组合的处理顺序就清楚了:个股部分按前面四节做完整归因,ETF 部分穿透后做同样的事,产品层单独列一行,最后按两部分的资金占比合并。不要用一个个股指数去对照整个混合组合,那等于把 ETF 的指数收益算成你的 alpha。

本章小结 ​

  • 基准先定,且必须写死。同一份持仓 2025 年对沪深300 是 +12.34 个百分点,对中证2000 是 −6.42 个百分点——柱子过零线那一刻,组合本身一个字都没改。选基准查三件事:持仓匹配度、能不能真的买到、权重能不能按 point-in-time 取到。
  • 行业这一层用 Brinson 分解,超额被彻底切成行业配置、个股选择、交互项三块,一分不多一分不少。示意算例中 10.05 个百分点里有 7.83 来自一次行业押注。多期不能直接相加,要问用了哪种链接方法。
  • 风格这一层用“主动暴露 × 因子收益”扣。示意算例中 0.70% 的超额有 0.53% 来自暴露,残差只剩 0.17%。从总收益往下扣,30% 的收益扣完无风险利率、市场 Beta 和规模下沉,可能只剩约 4.3% 属于选股。报 alpha 必须写明扣掉了什么。两节的两套分解起点不同(一个切超额、一个切总收益),不能互相对照,也不应相加。
  • 回撤按同样的层次拆一遍。亏损落在暴露层就管暴露,落在残差层才怀疑信号失效——这是回撤归因唯一的用途。
  • ETF 组合要穿透到底层公司再归因,把指数自带的行业分布与自己的选择分开,并把跟踪误差、折溢价、费用单列为产品层。

这一章把“收益是谁挣的”变成了可以照着算的分解。但分解出来的是已经发生的事实:你的组合站在小盘这一侧、超配了科技,这些暴露在下一刻会带来什么,取决于它们被允许有多大。第39章把这些暴露变成可以事先设定的限额。