量化交易中文教材

第 22a 章 绩效评估(上):绩效的度量与预测问题

对应 Harris《Trading and Exchanges》第 22 章 “Performance Evaluation and Prediction” 的前半部分(22.1–22.3)。第 22 章的核心问题是如何区分技能与运气。本书把它拆成两章:本章讲清楚问题本身——为什么评估难、收益该怎么算(时间加权与资金加权、几何连乘、相对收益、风险调整与择时分解)、过去绩效要预测未来需要满足哪三个条件;第 22b 章讲统计检验为什么几乎无力、多重比较与样本选择偏差如何误导我们,以及经济学的替代方法。

学习目标

读完本章,你应当能够:

  1. 解释为什么组合绩效同时取决于技能、运气和投资政策,以及为什么相对评估比绝对评估更有用。
  2. 正确计算总收益与持有期收益:几何连乘;区分时间加权收益(持有期收益)与资金加权收益(IRR),知道资金进出不调整会怎样夸大绩效。
  3. 计算市场调整收益、风险调整超额收益(已实现 alpha)和择时收益,并用三分解 \(R_p=(R_p-\beta R_m)+(\beta-1)R_m+R_m\) 做绩效归因。
  4. 说出用过去绩效预测未来必须同时成立的三个条件,以及基金业绩持续性的实证结论。
  5. 识别估值平滑造成的收益正自相关和被低估的波动率,并做简单的反平滑。

读前导读

这一章在解决什么问题。 这一章是你最熟悉的领域。CFA 三级的绩效评估(收益度量、业绩归因、风险调整指标)和 GIPS 的核心要求,本章几乎都会碰到:时间加权与资金加权、几何连乘、基准选择、Jensen alpha、择时与选股的拆分、不流动资产的估值平滑。Harris 的角度和 CFA 教材不同:他关心的不是"怎么把报告做规范",而是"看了这些数字,能不能判断经理有没有本事、明年还能不能赚钱"。答案相当悲观:把收益算对、把基准选对只是第一步,即使都做对了,过去的业绩仍然很难预测未来。原因在下一章(22b)用统计学讲清楚。

读这一章时可以对照你熟悉的框架。22.3.2 时间加权与资金加权,就是 GIPS 要求以 TWR 为主要口径的理由:经理不控制资金进出时点,就不该为此加分或扣分。22.3.5 的三分解是一种"基于收益的归因"(returns-based attribution),与 Brinson 的"基于持仓的归因"(配置效应 + 选择效应)互为补充:前者只需组合与市场收益,后者需要持仓和行业权重。22.3.3 的估值平滑,对应 GIPS 对私募、不动产估值政策的披露要求,也解释了为什么这类资产报告的 Sharpe 比率常常好得不真实。

需要先想起来的数学。

  • 连乘记号与对数。 \(\prod_{t=1}^T(1+r_t)\) 表示把 \(T\) 个因子相乘,类似 \(\sum\) 表示相加。取对数可以把连乘变成相加:\(\ln\prod(1+r_t)=\sum\ln(1+r_t)\),所以对数收益可以直接相加。例如 \(+100\%\) 与 \(-50\%\):\(\ln2+\ln0.5=0\),累计收益为零。见 第 00 册第 04 章 级数与收敛 和 第 08 章 读懂数学证明与符号。
  • IRR 是方程的根。 资金加权收益 \(y\) 满足 \(\sum_tCF_t/(1+y)^t=0\),一般没有解析解,要数值求解(代码中的 brentq 就是在区间内找根)。你在 CFA 里用金融计算器按 IRR 键做的是同一件事。
  • AR(1) 的方差与自相关。 若 \(x_t=(1-\theta)u_t+\theta x_{t-1}\),\(u_t\) 独立同分布,则 \(x_t\) 的一阶自相关为 \(\theta\),方差为 \(\frac{1-\theta}{1+\theta}\mathrm{Var}(u)\)。这是估值平滑分析的全部数学(下面推导拆解会展开)。见 第 00 册第 07 章 概率中的分析工具。
  • 回归截距的含义。 用 \(R_p=\alpha+\beta R_m+e\) 回归时,截距 \(\alpha\) 吸收了所有不能被"常数 \(\beta\) 乘以市场收益"解释的平均收益。若真实 \(\beta\) 随时间变化且与市场方向相关,这部分择时收益就会跑进截距。

怎么读这一章。 22.3.1–22.3.2(收益计算)对你是复习,可以快读,但 Beardstown 专栏和代码第 2 部分值得看。22.3.5 的三分解和"必须用同期贝塔"是核心,必读。22.3.3 的估值平滑与代码第 4 部分对评估另类投资很实用。22.4 预测三条件和实证证据是通向 22b 的桥梁,必读。22.1、22.2 是动机,读一遍即可。


22.1 为什么要评估绩效,评估什么

许多人交易是想成功投机——买入将升值的、卖出将贬值的。但预测价格很难,有人能做到,多数人不能。成功的投机者必须平均而言预测得足以跑赢市场;不成功的最终亏钱,充其量赚得比买入并持有指数基金少。Harris 的话很直接:若只为投机利润而交易却不能成功,就应停止交易。 由此有两个“最重要的决策”:

  • 投机者最重要的决策是是否交易——他必须能预测自己的绩效,否则不应投机。
  • 投资委托人最重要的决策是是否雇用主动经理(active investment managers)——雇用主动经理就是押注他们成功,若不能预测哪些经理会成功,就不应雇用。

认为自己做不到的投资者会把钱交给被动经理(passive managers),最常见的是指数复制(index replication)(第 23 章)。绩效评估与预测的局限性,有助于解释指数投资为何如此流行。 投资管理合同常使经理报酬与绩效挂钩,理解评估的局限,也就理解了这类合同的问题。

本章的结论会让人不舒服:仅基于过去绩效的预测通常很不可靠,用其他信息可以预测得更好。作者甚至说:未能理解“过去绩效不必然预测未来收益”以及样本选择偏差如何影响推断,可能比交易者犯的任何其他错误造成的损失都多。

22.2 绩效评估问题:技能、运气与投资政策

组合绩效部分取决于管理质量,也取决于决定组合中每个品种价值的所有因素:

  • 宏观因素:利率、经济活动、生产率、汇率;
  • 微观因素:行业供需、技术创新、政府干预;
  • 公司特定因素:管理好坏、工厂意外烧毁、研究人员偶然发现等。

主动经理试图预见所有这些因素。但没人能预见大多数影响组合收益的因素,不可预见的因素对绩效有看似随机的影响:表现好的组合可能由有技能的经理管理,也可能由幸运的经理管理;表现差的可能是无技能,也可能是运气差。

原书专栏“Sizzler 染上大肠杆菌”是一个运气差的例子:Sizzler 1998 年破产重组后到 2000 年中盈利加速,许多仔细研究过它的分析师认为振兴策略成功,不少经理据此买入。2000 年 7 月,密尔沃基一家特许店 42 名顾客感染大肠杆菌、17 人住院、一名三岁女孩死亡,股价下跌 35%。这些投机者可能非常了解公司,甚至考虑过卫生程序是否充分——但此事件大概不可预测,他们只是运气不好。

另一个专栏把技能和运气组合成四种人:有技能且幸运——受祝福(Blessed);无技能但幸运——让人受不了(Insufferable);有技能但不幸——受诅咒(Cursed);无技能且不幸——注定失败(Doomed)。

**投资政策(investment policies)**也显著影响绩效:它可能禁止有技能的经理利用好的因素,也可能迫使无技能的经理“不知不觉地”利用好因素。例如必须满仓股票的组合,价值随市场波动而与管理无关——“水涨船高”(a rising tide lifts all boats):市场大涨时最差的组合也可能有高收益,市场大跌时最好的组合也可能亏损。

所以好的评估必须区分技能与运气:把总绩效分解为管理的贡献和无人能预见或控制的因素的贡献。后者很难估计,即使最好的经理绩效估计也噪声很大。

22.3 绩效评估方法

上面的讨论说明,相对绩效评估比绝对绩效评估更有价值。绝对评估只计算组合总收益;相对评估估计组合相对于基准或同行跑赢/跑输多少。但相对绩效 = 组合总收益 − 基准总收益,所以要先把绝对收益算对。

22.3.1 绝对绩效:总收益

总收益是度量区间内组合价值的百分比变化。没有资金进出时很简单:价值从 100 增到 120,年总收益 20%。总收益要包括持仓带来的所有现金和证券流动:

  • 流入:股息、利息、证券出借费;
  • 流出:佣金、管理费、融资利息、借券费、空头需支付的股息(short dividends);
  • 期货、期权、互换和空头头寸收付的变动保证金(variation margin);
  • 并购、分拆等公司行动带来的证券流动。

多期收益必须几何连乘:

\[ R_{0,T}=\prod_{t=1}^{T}(1+r_t)-1 . \]

原书两个专栏:

  • “什么时候 100 − 50 = 0?”:第一年涨 100%、第二年跌 50%,算术相加 50%,实际两年收益恰为零(翻倍后减半)。
  • “−94.7% + 95.6% = 非常坏的消息”:ProFunds UltraOTC 基金 2000 年 3 月 10 日至 2001 年 4 月 4 日下跌 94.7%,随后到 5 月 2 日上涨 95.6%。期初投资的 10,000 美元,最后只值 \(10{,}000\times0.053\times1.956\approx\) 1,037 美元。

推导拆解:为什么算术平均会系统性高估?用对数收益看。设各期对数收益 \(g_t=\ln(1+r_t)\),累计收益 \(=e^{\sum g_t}-1\),可加的是 \(g_t\) 而不是 \(r_t\)。由二阶泰勒展开 \(\ln(1+r)\approx r-\tfrac12r^2\),平均对数收益约为 \(\bar r-\tfrac12\overline{r^2}\)。所以几何平均收益 \(\approx\) 算术平均收益 \(-\tfrac12\sigma^2\),波动越大,两者差得越多,这就是常说的"波动拖累"(volatility drag),与第 17 章 ValueLine 案例用的是同一个近似。 UltraOTC 是 3 倍杠杆基金,波动极大,拖累也极大:要从 −94.7% 回本,需要上涨 \(1/0.053-1\approx1787\%\),而不是 94.7%。这也是 CFA 里强调"杠杆 ETF 不适合长期持有"的数学原因。

22.3.2 资金进出:时间加权与资金加权

投资者追加或撤出资金、组合向投资者分配时,组合总价值会变化,不调整就会误导:追加资本夸大绩效,分配压低绩效。两种处理方法:

  • 内部收益率(IRR):最常用。问的是:储蓄账户要获得多高的复利,才能恰好复制组合的资金流入流出(期初、期末余额等于组合期初、期末价值)。IRR 近似为各次资本变动之间收益的时间与价值加权的几何平均——即资金加权收益率(money-weighted return):规模大的时段权重大。
  • 持有期收益(holding period return):一份组合份额的收益——期初投入 1 美元能赚多少,通常假设分配再投资。即时间加权收益率(time-weighted return):把每段子区间收益几何连乘,与资金进出无关。

资本追加和分配**按比例(pro rata)**时(每个投资者都严格按持股比例参与),两者相同;否则不同。评估经理时应用时间加权收益——资金进出的时机通常由投资者而非经理决定。

金融直觉:用练习 2 的数字看两者差在哪。上半年 +10%,下半年 −10%。经理的"每 1 元表现"是 \(1.1\times0.9-1=-1\%\),这是 TWR。但投资者在年中追加了 100 万元,赶上了亏损的下半年,大部分钱只经历了 −10%,所以按资金加权算年化约 −7.3%。两个数字都对,回答的问题不同:TWR 回答"经理管得怎么样",MWR 回答"投资者这笔钱实际赚了多少"。这就是 GIPS 以 TWR 评估经理、而对能控制资金调用时点的私募基金(由 GP 决定 capital call)允许用 MWR 的道理:谁控制现金流时点,就该为时点负责。实务上,GIPS 要求在发生大额现金流时对组合重新估值,以便准确计算子区间收益,这正是"把每段子区间收益几何连乘"的落地。

原书专栏“Beardstown 女士们”:这个约 15 人的投资俱乐部 1994 年出版了畅销书,封面宣称截至 1993 年的 10 年年均收益 23.4%。被质疑后在普华永道协助下重算,实际年均收益只有 9.1%,同期标普 500 为 14.9%——每年跑输近 6%。她们解释是把 2 年收益误当 10 年收益;但许多人认为她们其实是没有扣除定期追加的资金。教训:资金进出必须调整。

22.3.3 当期收益率、资本利得与估值

分析者常把总收益分为当期收益率(current yield)——组合从资产获得的利息和股息除以组合价值(例:1 亿美元组合一年获股息 1,000 万美元,当期收益率 10%)——和资本利得收益(capital gains return)——总收益减当期收益率。对普通收入与资本利得税率不同的投资者,这一区分很重要。

估值问题:要估计期初、期末所有头寸的价值。活跃交易品种简单(最后成交价或中点);不常交易的品种难得多,要从相关品种的价格推估——房地产靠评估,评估依赖可比物业的成交价;不常交易的债券依赖类似债务工具的价格。

原书专栏“一帆风顺,急流在前”:投资者喜欢稳定的组合,经理因此希望报告稳定的价值。持有不流动资产的经理在没有成交价时,可能迟迟不调整估值,尤其在价值下跌时,使投资者误以为基金风险小。真实价值与估值差距大到一定程度,赎回等压力会迫使经理卖出资产、成交价远低于上次估值,报告价值大跌——看似安全的基金其实风险很高。经理平滑估值时,报告收益呈正序列相关,这是投资者可以检查的信号。

原书专栏“AIMR-PPS”:为使不同经理的绩效可比,投资管理与研究协会(AIMR)制定了绩效呈报标准(AIMR-PPS)。

现状补充:AIMR 于 2004 年更名为 CFA 协会(CFA Institute);AIMR-PPS 已并入全球投资业绩标准(GIPS),GIPS 要求以时间加权收益为主要口径(部分私募类资产允许资金加权),并对组合综合(composite)的构建与披露有详细规定,目的之一正是防止只展示表现好的账户。

22.3.4 相对绩效:市场调整收益

没有比较基础的原始收益对评估没用:市场跌 20% 时跌 10% 的股票组合表现相对好;市场涨 30% 时涨 15% 的表现相对差。

相对收益 = 组合收益 − 对应基准收益。基准代表“没有主动管理时组合预计的表现”。基准比较的目的是去除评估中的噪声:好的基准调整掉不应归于经理的表现,剩下的更能代表经理。

股票组合最常用的基准是市场指数,市场调整收益 = 组合收益 − 市场指数收益(上例中分别为 +10% 和 −15%)。原书表 22-1 列出了常用基准,节选如下:

资产类别 基准(原书写作时)
美国大盘股 S&P 500、S&P 100、Russell 1000、NYSE Composite
美国小盘股 Russell 2000、Wilshire Small Cap 1750
美国全市场 Russell 3000、Wilshire 5000
美国大盘科技股 Nasdaq 100 等
德国 / 伦敦 / 东京 / 法国股票 DAX / FTSE 100 / TOPIX、Nikkei 225 / CAC 40
欧洲 / 全球股票 MSCI Europe / MSCI World
商品期货、部分对冲基金 LIBOR、Goldman Sachs Commodity Index、3 个月国库券收益率
美国投资级公司债、高收益债、市政债 Lehman Brothers、Merrill Lynch、CSFB 等的债券指数

现状补充:表中部分基准已改名或停用。Lehman Brothers 的债券指数在 2008 年后归入 Barclays,现为 Bloomberg 债券指数;Goldman Sachs 商品指数现为 S&P GSCI;LIBOR 已于 2023 年 6 月底基本停止发布,美元市场改用 SOFR 等无风险利率。中国市场常用的基准有沪深 300、中证 500、中证 1000、中债指数等。

原书专栏“愚蠢的 John”:John 把钱从利率 5% 的储蓄账户取出投入股市,主动交易赚了 23%,很满意。但同年标普 500 涨了 33%——他用错了参照系,跑赢储蓄账户 18%,却跑输市场 10%。次年他又跑输市场 10%,而那年标普跌 10%,他亏 20%。两年下来:

\[ (1+0.23)(1-0.20)-1=-1.6\%,\quad 1.33\times0.90-1=19.7\%\ (\text{标普}),\quad 1.05^2-1=10.3\%\ (\text{储蓄}). \]

22.3.5 风险调整收益与择时

风险调整进一步调整组合对已知风险的暴露。最基本的是市场风险,用**贝塔(beta)**刻画:贝塔 0.5 的股票在市场涨跌 1% 时只涨跌 0.5%。组合贝塔是各证券贝塔的价值加权平均;市场本身贝塔为 1。低贝塔组合在上涨市往往跑输、下跌市跑赢;高贝塔相反。

风险调整超额收益(risk-adjusted excess return),也称组合的已实现 alpha(realized alpha):

\[ \alpha^{\text{realized}}=R_p-\beta R_m , \]

用来判断经理在考虑市场风险后是否选出了赢家。(这里沿用原书的简化写法,未扣除无风险利率;正式的 CAPM alpha 写作 \(R_p-R_f-\beta(R_m-R_f)\)。)

经理改变组合贝塔以利用对市场方向的预测,就是择时(market timing)。降低贝塔的方式包括卖出证券持现金、卖高贝塔买低贝塔、卖指数期货、买看跌、卖看涨、卖空;反之提高贝塔。择时收益为

\[ \text{Timing}=\beta R_m-R_m=(\beta-1)R_m . \]

于是原始收益可以三分解:

\[ \boxed{R_p=\underbrace{(R_p-\beta R_m)}_{\text{超额收益(选股)}}+\underbrace{(\beta-1)R_m}_{\text{择时收益}}+\underbrace{R_m}_{\text{市场收益}}} \]

用于把绩效归因于市场、经理的择时能力和其他一切(包括经风险调整的选股能力)。两个实施要点:

白话解释:三分解是一个恒等式,右边三项相加后 \(\beta R_m\) 一加一减抵消,剩下 \(R_p\),所以它永远成立,有意义的是每一项的解释。练习 3 的数字:\(R_p=18\%\),\(\beta=1.2\),\(R_m=10\%\)。市场给了 10%;经理把贝塔从 1 提到 1.2,多拿 \(0.2\times10\%=2\%\),这是择时;剩下 \(18\%-12\%=6\%\) 无法用市场暴露解释,归为选股。 和 CFA 里的归因方法对照:Brinson 模型按"行业权重偏离 × 行业收益"算配置效应,按"行业内选股"算选择效应,需要持仓数据;这里只用组合和市场的收益,属于基于收益的归因,数据要求低,但只能分出"贝塔择时"和"其他一切"两块。CFA 讲过的 Treynor–Mazuy(加入 \(R_m^2\) 项)和 Henriksson–Merton(加入 \(\max(R_m,0)\) 项)回归,是在不知道每期贝塔时从收益序列中间接检验择时能力的方法;本节假设每期贝塔已知,可以直接分解。

  • 要高频计算,并用同期贝塔:经理每次交换不同贝塔的资产,组合贝塔就变了;用一个全样本常数贝塔,会把择时收益混进 alpha(下面的代码会演示)。

    推导拆解:为什么常数贝塔会把择时算成 alpha?设真实组合收益 \(R_{p,t}=\alpha+\beta_tR_{m,t}+e_t\),把贝塔写成平均值加偏离 \(\beta_t=\bar\beta+\delta_t\)。则 \(R_{p,t}=\alpha+\bar\beta R_{m,t}+\delta_tR_{m,t}+e_t\)。 用常数贝塔回归时,\(\delta_tR_{m,t}\) 这一项没有对应的解释变量,被并入误差。取平均:若经理会择时,看多(\(\delta_t>0\))时市场多半上涨,\(\delta_tR_{m,t}\) 平均为正,记为 \(\overline{\delta R_m}\)。这个正的均值无法被 \(\bar\beta R_m\) 解释,就被截距吸收,回归 alpha 约为 \(\alpha+\overline{\delta R_m}\)。代码中同期贝塔分解得到样本选股 0.18%、择时 2.39%,两者之和约 2.57%;常数贝塔回归给出 alpha 2.67%,与这个和相近,说明择时收益几乎全部被算进了 alpha(剩下的小差异来自回归贝塔 0.99 与平均贝塔不完全相同)。

  • 可推广到多因子:股票组合最常用的附加因子是公司规模和预期增长相关的风险。这就是今天因子归因(factor attribution)的雏形。

原书专栏“买入并持有基准”:用“经理不交易时组合会有的收益”作基准(基准是期初组合),直观上直接衡量主动交易的贡献。但它只识别度量期内的超额表现——经理年初买入一只预期两年内大涨的股票,只有第一年的涨幅算他的,第二年的计入新基准。这会使经理偏重短期想法、推迟实施年末产生的想法。改进:以“假设经理所有交易推迟一年发生”的组合为基准,使每笔交易至少获得一整年的评估。

22.4 绩效预测问题

评估过去绩效通常是为了预测未来。要用过去绩效成功预测未来,三个条件必须同时成立:

  1. 过去绩效反映的是技能——若只是运气,与未来无关;
  2. 这种技能将继续产生好收益——所需技能可能随市况变化,牛市的成功者未必在熊市成功;
  3. 经理仍具备这种技能——公司可能失去关键员工或资源,经理可能年龄增长或失去动力。

任何一条不成立,用过去预测未来就无效。验证方法:

  • 条件 1:分析法——识别决定过去绩效的技能,难点在于必须充分理解管理过程;统计法——证明运气不能合理解释过去绩效,常被用来回避分析法的困难,但它有自己的大问题(第 22b 章)。
  • 条件 2:先识别技能,再判断它是否继续有用。比条件 1 更难——解释过去比预测未来容易。
  • 条件 3:一般可直接询问,但只有知道要找什么技能时才可靠。

由于验证困难,多数人干脆不验证,直接假设过去能预测未来——而这种预测出了名地不精确。

金融直觉:这三个条件与 CFA 经理遴选(manager selection)里"重过程、轻业绩"的尽调框架一一对应。条件 1 对应投资理念与流程是否可解释、可重复;条件 2 对应这套方法依赖的市场环境是否还在(如 Reg FD 之后靠接触管理层获取信息的优势消失);条件 3 对应团队稳定性、关键人风险和激励安排。尽调问卷里那些看似"软"的问题,本质上都在检查条件 2 和 3,因为单靠业绩数字连条件 1 都很难验证。

**原书专栏“Regulation FD”**是条件 2 失效的例子:SEC 2000 年采用公平披露规则(Regulation FD)之前,善于安排内部人访谈的经理常能获得有价值的重大信息;规则要求上市公司向任何人披露重大信息时须同时向公众披露之后,这种技能大为贬值,具备它的经理的过去绩效不再能预测未来。

**原书专栏“我们对过去绩效的信仰”**给了一个进化论的解释:祖先靠学会“过去发生的事常会再发生”而存活,不这样想的旁支常被吃掉或饿死——自然选择把“绩效具有持续性”的信念硬编码进了大脑。

实证证据

研究者发现:某年表现最好的基金与次年表现最好的基金之间几乎没有相关性;过去表现好的与过去表现差的,成为未来好表现者的可能性差不多。例外是表现最差的基金倾向于年年垫底——它们通常因交易太多、费用太高而亏损,只要这些条件不变就一直垫底。这些结果非常稳健:对股票、债券、商品基金都成立,跨年份、跨国家一致,按季、按月度量都相似,也不依赖于用什么标准挑选最佳基金。它们强烈表明:统计方法无法从过去收益可靠地预测未来绩效。 第 22b 章解释为什么会这样。


量化实战:把收益算对

下面的代码依次演示:几何连乘(复算原书三个专栏);时间加权与资金加权收益的差别,以及“不扣除追加资金”会把收益夸大到什么程度;用同期贝塔做三分解,并展示用常数贝塔回归会把择时收益错算为 alpha;最后演示估值平滑如何制造正自相关、压低波动、抬高夏普比率,以及如何用一阶自相关做简单的反平滑。

import numpy as np, pandas as pd
from scipy.optimize import brentq
import statsmodels.api as sm

# ---------- 1) 几何连乘 ----------
link = lambda rs: np.prod(1 + np.asarray(rs)) - 1
print(f"+100% 后 -50%:算术和 {1.0 - 0.5:+.0%},几何连乘 {link([1.0, -0.5]):+.0%}")
print(f"UltraOTC:-94.7% 后 +95.6%,10,000 美元变为 {10000 * (1 + link([-0.947, 0.956])):,.0f} 美元")
print(f"愚蠢的 John 两年:{link([0.23, -0.20]):+.1%};标普 {link([0.33, -0.10]):+.1%};储蓄 {link([0.05, 0.05]):+.1%}")

# ---------- 2) 时间加权(持有期)收益 vs 资金加权(IRR)----------
# 一个投资俱乐部:每年初追加资金,年内收益率如下
r = np.array([0.30, -0.10, 0.05, 0.12, -0.20, 0.25, 0.08, 0.15, -0.05, 0.10])
contrib = np.array([10_000] + [5_000] * 9)          # 每年初投入
value = 0.0; vals = []
for c, ri in zip(contrib, r):
    value = (value + c) * (1 + ri); vals.append(value)
twr = (np.prod(1 + r)) ** (1 / len(r)) - 1
cf = np.append(-contrib, vals[-1])                   # 年初流出、期末收回
irr = brentq(lambda y: np.sum(cf / (1 + y) ** np.arange(len(cf))), -0.9, 1.0)
naive = vals[-1] / contrib[0]                         # 不扣除追加资金的“总收益”
print(f"\n时间加权年化 {twr:.2%};资金加权(IRR) {irr:.2%};期末价值 {vals[-1]:,.0f},累计投入 {contrib.sum():,}")
print(f"错误做法:期末价值/首笔投入 => 10 年 {naive - 1:.0%},折合年化 {naive ** 0.1 - 1:.2%}")

# ---------- 3) 收益三分解:超额 + 择时 + 市场 ----------
rng = np.random.default_rng(22)
T = 240                                              # 20 年月度
rm = rng.normal(0.008, 0.045, T)
signal = 0.3 * np.sign(rm) + rng.normal(0, 1, T)     # 对市场方向有微弱预测力的信号
beta_t = np.clip(1.0 + 0.25 * np.sign(signal), 0.5, 1.5)   # 看多时 beta=1.25,看空时 0.75
alpha_m = 0.0015
rp = alpha_m + beta_t * rm + rng.normal(0, 0.015, T)
dec = pd.DataFrame({"超额(选股)": rp - beta_t * rm, "择时": (beta_t - 1) * rm, "市场": rm})
print("\n年化分解(用同期 beta):")
print((dec.mean() * 12).map(lambda x: f"{x:.2%}").to_string())
se = dec["超额(选股)"].std() / np.sqrt(T) * 12
print(f"(真实选股 alpha 为年化 {alpha_m*12:.2%};超额收益均值的标准误为年化 {se:.2%})")
fit = sm.OLS(rp, sm.add_constant(rm)).fit()
print(f"若用全样本常数 beta 回归:alpha 年化 {fit.params[0]*12:.2%}(t={fit.tvalues[0]:.2f}),beta {fit.params[1]:.2f}"
      " —— 择时收益被混进了 alpha")

# ---------- 4) 估值平滑:正自相关与被低估的波动率 ----------
true_r = rng.normal(0.006, 0.04, T)
theta = 0.6                                          # 报告收益 = 0.4×本期真实 + 0.6×上期报告
rep = np.zeros(T)
for t in range(T):
    rep[t] = (1 - theta) * true_r[t] + theta * (rep[t-1] if t else 0.006)
ac1 = pd.Series(rep).autocorr(1)
unsm = (rep[1:] - ac1 * rep[:-1]) / (1 - ac1)        # 用一阶自相关反平滑
sr = lambda x: x.mean() / x.std() * np.sqrt(12)
print(f"\n真实收益:波动 {true_r.std()*np.sqrt(12):.1%},夏普 {sr(true_r):.2f}")
print(f"平滑后报告:一阶自相关 {ac1:.2f},波动 {rep.std()*np.sqrt(12):.1%},夏普 {sr(rep):.2f}")
print(f"反平滑后:波动 {unsm.std()*np.sqrt(12):.1%},夏普 {sr(unsm):.2f}")

输出:

+100% 后 -50%:算术和 +50%,几何连乘 +0%
UltraOTC:-94.7% 后 +95.6%,10,000 美元变为 1,037 美元
愚蠢的 John 两年:-1.6%;标普 +19.7%;储蓄 +10.3%

时间加权年化 5.97%;资金加权(IRR) 5.71%;期末价值 77,451,累计投入 55,000
错误做法:期末价值/首笔投入 => 10 年 675%,折合年化 22.72%

年化分解(用同期 beta):
超额(选股)     0.18%
择时         2.39%
市场        12.35%
(真实选股 alpha 为年化 1.80%;超额收益均值的标准误为年化 1.20%)
若用全样本常数 beta 回归:alpha 年化 2.67%(t=1.71),beta 0.99 —— 择时收益被混进了 alpha

真实收益:波动 13.6%,夏普 0.43
平滑后报告:一阶自相关 0.61,波动 6.9%,夏普 0.82
反平滑后:波动 14.0%,夏普 0.39

逐段解读:

  1. 几何连乘复现了原书三个专栏的数字。在量化回测中,日收益序列的累计净值必须用连乘,算术累加会在高波动策略上严重失真。

  2. 资金进出:这个俱乐部真实的时间加权年化收益不到 6%,资金加权 5.7%(后期资金多、而后期收益略差)。但如果像 Beardstown 那样拿期末价值除以首笔投入,10 年“收益”675%、年化 22.7%——几乎就是那本畅销书封面上的数字量级。

  3. 三分解:这位经理真实的选股 alpha 是年化 1.8%,另有择时能力(看多时加贝塔)。用同期贝塔分解,择时贡献 2.4%、选股 0.18%——选股估计只有真实值的十分之一,因为 20 年月度数据的标准误高达 1.2%(这正是第 22b 章的主题:技能淹没在噪声中)。而如果像很多人那样对全样本做一次 CAPM 回归,得到的贝塔约等于 1,alpha 2.67%:择时收益被算成了 alpha。归因时必须搞清楚经理的贝塔是不是在变。

  4. 估值平滑:报告收益只吸收 40% 的真实变动,结果一阶自相关 0.61,年化波动从 13.6% 降到 6.9%,夏普比率从 0.43 虚增到 0.82。用一阶自相关反推(\(r^{\text{true}}_t\approx(r^{\text{rep}}_t-\rho r^{\text{rep}}_{t-1})/(1-\rho)\)),波动和夏普基本恢复。评估私募股权、地产、信用类基金或流动性差的对冲基金时,看到高夏普、低波动、显著正自相关的组合,应先做这一检查(更完整的方法是 Getmansky–Lo–Makarov 的多阶平滑模型)。

    推导拆解:平滑模型的三个结论都能算出来。设报告收益 \(x_t=(1-\theta)u_t+\theta x_{t-1}\),\(u_t\) 是独立的真实收益,方差 \(\sigma^2\)。 第一,方差:\(x_t\) 平稳时两边取方差,\(\mathrm{Var}(x)=(1-\theta)^2\sigma^2+\theta^2\mathrm{Var}(x)\)(\(u_t\) 与 \(x_{t-1}\) 独立,交叉项为零),解得 \(\mathrm{Var}(x)=\frac{(1-\theta)^2}{1-\theta^2}\sigma^2=\frac{1-\theta}{1+\theta}\sigma^2\)。\(\theta=0.6\) 时比值为 0.25,标准差减半,与输出 13.6% → 6.9% 一致。 第二,自相关:\(\mathrm{Cov}(x_t,x_{t-1})=\theta\mathrm{Var}(x)\),所以一阶自相关就是 \(\theta\),输出 0.61 对应真实 0.6。 第三,均值不变(平滑不改变长期平均收益),波动减半,所以夏普比率约翻倍:0.43 → 0.82。 反平滑就是把模型倒过来解:\(u_t=(x_t-\theta x_{t-1})/(1-\theta)\),用估计的自相关 \(\hat\rho\) 代替 \(\theta\)。GIPS 对私募和不动产要求披露估值方法和外部评估频率,正是因为评估值的滞后会产生这种平滑。

本章小结

绩效取决于技能、运气和投资政策,评估的核心任务是把技能从运气中分离出来,所以相对评估比绝对评估更有用。收益要算对:多期几何连乘,资金进出要调整,评估经理用时间加权收益;当期收益率与资本利得要分开;不常交易资产的估值可能被平滑,表现为收益正自相关。相对评估从市场调整收益到风险调整收益(已实现 alpha),再到“超额 + 择时 + 市场”三分解和多因子归因,每一步都在去掉不属于经理的部分。用过去绩效预测未来需要三个条件同时成立,实证上基金业绩几乎没有持续性,只有最差的基金持续垫底。

概念/公式 要点
技能 vs 运气 四种组合:受祝福、让人受不了、受诅咒、注定失败
投资政策 水涨船高;政策可迫使或禁止经理利用某些因素
几何连乘 \(R_{0,T}=\prod(1+r_t)-1\);+100% 与 −50% 合计为 0
时间加权 / 资金加权 持有期收益 / IRR;资金进出不按比例时两者不同
Beardstown 宣称 23.4%,重算 9.1%,标普 14.9%
市场调整收益 \(R_p-R_m\)
已实现 alpha \(R_p-\beta R_m\)(需用同期贝塔)
择时收益 \((\beta-1)R_m\)
三分解 \(R_p=(R_p-\beta R_m)+(\beta-1)R_m+R_m\)
预测三条件 过去反映技能;技能继续有效;经理仍有技能
实证 赢家不持续,输家持续(高换手、高费用)
估值平滑 正自相关、低波动、高夏普;可用自相关反平滑

练习

基础

  1. 某基金三年收益分别为 +25%、−20%、+10%。求三年累计收益与年化收益。 答案:\(1.25\times0.8\times1.1-1=10\%\);年化 \(1.1^{1/3}-1\approx3.23\%\)。
  2. 年初组合 100 万元,年中(收益为 +10% 之后)投资者追加 100 万元,下半年收益 −10%。求时间加权收益和资金加权收益(用半年复利近似)。 答案:时间加权 \(1.1\times0.9-1=-1\%\);期末价值 \((110+100)\times0.9=189\) 万元,资金加权半年收益率 \(y\) 满足 \(100(1+y)^2+100(1+y)=189\),解得 \(1+y\approx0.963\),即半年 −3.7%,年化约 −7.3%(大部分资金只经历了下半年的亏损)。
  3. 某组合今年收益 18%,平均贝塔 1.2,市场收益 10%。求市场调整收益、已实现 alpha 与择时收益,并验证三分解。 答案:市场调整 8%;alpha \(18\%-12\%=6\%\);择时 \((1.2-1)\times10\%=2\%\);\(6\%+2\%+10\%=18\%\)。
  4. 用过去绩效预测未来需要哪三个条件?各举一个失效的例子。
  5. 为什么最差的基金倾向于持续垫底,而最好的基金不持续?

进阶

  1. 原书思考题 12:统计学家如何识别投资经理对不流动资产的估值调整过慢? 答案要点:报告收益正序列相关;波动率与同类可交易资产相比异常低;与市场的同期相关性低而与滞后市场收益相关。
  2. 原书思考题 1:等金额再平衡(每期调回等额持有)的投资者,收益是否总高于买入持有者?答案如何依赖价格的序列相关?哪种策略对逆向交易者更有吸引力? 提示:再平衡本质是“卖涨买跌”的逆向策略;价格负序列相关(均值回复)时再平衡占优,正相关(趋势)时买入持有占优。可用模拟验证。
  3. 在本章代码第 3 部分,把择时信号的预测力从 0.3 改为 0,重新运行,观察常数贝塔回归的 alpha 如何变化。为什么?
  4. “买入并持有基准”会让经理偏重短期想法。设计一个你认为更合理的、用于评估主动交易贡献的基准,并说明它的缺点。
  5. 原书思考题 9:公司经理管理实物资产组合,投资经理管理金融资产组合。本章关于绩效评估的原则是否适用于评估公司 CEO?

原书推荐习题:思考题 1(等金额再平衡 vs 买入持有);思考题 12(识别估值平滑);思考题 9、10(公司经理、封闭式基金折溢价)。其余思考题见第 22b 章。

原书对照

  • Part VI 导言:PDF 第 432 页(原书页码约为 PDF 页码减 13)。
  • 原书第 22 章 Performance Evaluation and Prediction,PDF 第 455–494 页(原书第 442–481 页);本章覆盖:
    • 章首导言:PDF p.455–456;
    • 22.1 绩效评估问题(专栏 Sizzler、运气与技能的组合):p.456–458;
    • 22.2 绩效评估方法(绝对绩效、Beardstown、几何连乘两专栏;相对绩效、平滑专栏、AIMR-PPS;表 22-1;风险调整与择时;愚蠢的 John;买入并持有基准):p.458–464;
    • 22.3 绩效预测问题与实证证据(专栏 Regulation FD、我们对过去绩效的信仰):p.463–465。
  • 统计评估、样本选择偏差、经济学方法(22.4–22.10)见第 22b 章。