☰
量化策略复盘:基准收益率、策略收益率与相对收益率拆解
2026/10/29 4:57:24 网站建设 项目流程

拿最近一次内部复盘说吧。一个做多因子选股的同事,年度净值从1.00做到1.32,年化收益写着32%,语气里带着掩饰不住的兴奋。散会前有人顺嘴问了一句:你同期基准跑了多少?他愣了一下,翻出数据——大盘宽基指数那年涨了34.5%。也就是说,他辛辛苦苦盯了一整年盘、调了几十次仓、写了十几万行回测代码,最后比“什么都不做、直接买指数躺着”还少赚了2.5个百分点。会议室安静了三秒,那种安静比任何批评都难受。

这件事之后,我在自己的复盘模板里把“我赚了多少”这一栏直接删掉了,换成了三行:基准收益率、策略收益率、相对收益率。量化交易做到后面你会发现,绝对收益是一个很容易自我感动的东西——市场普涨的时候人人都是股神,市场普跌的时候亏得少也能开庆功会。真正决定你这套策略有没有存在必要的,是第三个数:相对基准,你到底多赚了还是少赚了。下面我把这三个数的算法、关系、以及我在实际计算里踩过的坑,完整拆一遍。

1. 把“赚了多少”拆成三个必须同时出现的数字

1.1 单看净值曲线,等于闭着眼睛复盘

很多人复盘的方式是打开账户净值曲线,看斜率陡不陡、回撤深不深、最大回撤发生在哪个月,然后写两句“本月表现良好,下月继续优化参数”。这条曲线本身没有错,但它缺失了最重要的参照系——同期市场发生了什么。同一条年化20%的曲线,在基准年化-10%的环境里是顶尖水平,在基准年化+35%的环境里则是严重跑输。曲线的形状完全一样,结论却截然相反。

我做量化这些年最深的体会是:绝对收益回答的是“账户里多了多少钱”,相对收益回答的是“这套方法论值不值得继续投入”。前者和你的本金规模、加减仓时点、甚至运气强相关;后者才是策略本身的“成绩单”。一个人拿十万块赚了两万,另一个人拿一千万赚了一百万,绝对收益差50倍,但如果两人的策略基准都是+25%,那前者是跑输,后者是跑平,本质上是同一水平的东西。把本金因素剥掉、把市场因素剥掉,剩下的才是你真正的能力值。

所以复盘模板里这三个数必须同时出现,缺一个就失真。缺基准,你不知道自己是不是搭了顺风车;缺策略收益的规范算法,你不知道自己算的是不是“真实收益”;缺相对收益,你没法判断这套策略该加仓、该停手还是该推倒重来。

1.2 三个数的定义、算法与相互关系

先把定义摆清楚,后面所有的坑几乎都来自定义没对齐。

指标通俗解释常用算法衡量的是什么
基准收益率同期“什么都不做、照着基准躺着”能拿到的收益基准指数区间涨跌幅,含分红再投、按复权口径计算市场给的平均回报,也就是你的机会成本
策略收益率你的账户在这段时间真实的赚钱效率剔除了出入金影响的时间加权收益率(TWR),或按资金加权的IRR策略本身的盈利能力
相对收益率你比基准多赚(或少赚)的部分算术超额 = 策略 − 基准;几何超额 = (1+策略)/(1+基准) − 1策略相对市场的增量价值

三者之间的关系,最粗的一层是加法:策略收益 = 基准收益 + 相对收益(算术口径)。这个式子看起来像废话,但它有一个非常实用的推论——你的收益可以拆成“市场给的”和“自己挣的”两块。当一个策略的年化收益里,基准贡献占了八成以上,那这个策略的核心竞争力其实是仓位,不是选股或择时;策略一旦遇到基准下跌的年份,超额收益很难独善其身。

第二层关系在风险维度上。相对收益本身是有波动的,这个波动的标准差就是跟踪误差;超额收益的均值除以跟踪误差,就是信息比率(IR)。很多人只盯着超额收益的绝对值,忽略了它的稳定性——一年跑赢基准15%但月度超额忽正忽负、跟踪误差高达20%,和一年跑赢基准6%但每个月都稳定跑赢2个点、跟踪误差只有4%,后者的可复制性远高于前者。我在筛选策略时,IR低于0.5的基本不进实盘池,哪怕它某一年的超额收益特别漂亮。

第三层关系涉及归因。用最简单的单因子模型拆:策略收益 = α + β × 基准收益 + 残差。这里的β衡量的是你的策略跟着市场一起动的程度,α才是真正独立于市场的部分。如果你的策略β是1.3,那基准涨10%你涨13%是应该的,多出来的3%不是α,只是杠杆;反过来基准跌10%你跌13%也不叫“抗跌能力差”,那叫风险暴露。只有把β剥离掉之后剩下的那部分超额,才是策略真正创造的增量。这一点在后面的第4章会专门展开。

1.3 一个把三种口径同时算一遍的小例子

假设某策略运行了一个完整年度,期初净值1.000,期中没有出入金,期末净值1.180,那么策略收益率是18%。同期基准从3200点涨到3520点,涨幅10%,基准收益率10%。算术超额8%,几何超额 = 1.18/1.10 − 1 = 7.27%。

看起来皆大欢喜。但如果这个策略在年中的最大回撤达到22%,而基准同期最大回撤只有9%,那这8%的超额是用多大的风险换来的?粗略一算,超额收益8%除以跟踪误差(假设年化12%),IR只有0.67,属于“能用但不算优秀”的区间。再往下拆β,如果回归出来β=1.15,那基准贡献的部分其实是11.5%,真正的α只有6.5%左右,扣掉交易成本和冲击成本(假设年化1.8%),净α不到5%。

5%的净α,在扣掉管理费、托管费、数据费、服务器费之后,还剩多少?这就是为什么我坚持三个数必须同时出现——单看18%很爽,拆完发现真正属于策略的增量只有不到5个点,任何一个环节出问题都会把它吃干净。

2. 基准收益率:选错参照物,后面的账全废

2.1 基准不是“随便挂个指数上去”

我见过太多人把基准当成一个形式主义的填空项:做小盘股的挂大盘指数,做红利低波的挂成长指数,做量化对冲的挂纯股票多头指数。这么挂的结果只有一个——相对收益完全失去意义,因为分子和分母根本不是一回事。

基准的本质是机会成本的可视化:假设你不做这套策略,把这笔钱放到一个“风险特征最接近、最容易执行”的替代方案里,能拿到多少。注意这里有两个限定词,“风险特征最接近”和“最容易执行”。前者保证比较的公平性,后者保证这个替代方案是真的能落地的,而不是理论上的最优组合。

举个具体的:你的策略是全市场选股、持仓80到120只、平均市值偏中小盘。那合理的基准应该是一只覆盖面广的中小盘宽基指数,而不是大盘蓝筹指数。因为大盘指数和你的持仓在风格上差了一大截,用它的涨跌来评判你的策略,等于让短跑运动员去参加游泳比赛然后再算名次。某年小盘股整体下跌15%、大盘上涨8%,你的策略亏了10%,用大盘做基准是跑输18%,用小盘做基准是跑赢5%,两个结论天差地别,而后者才是真实的。

2.2 挑选基准的四条硬标准

我把选基准的标准压在四条上,任何一条不满足我都会换掉。

第一条,可投资。这个基准必须存在一个真实可交易的载体,你能用接近其收益的方式把钱放进去。如果基准是一个理论合成的组合、或者是某个无法复制的加权方式,那它作为机会成本就是不成立的。这一条卡掉了大量“看起来很漂亮但买不到”的定制指数。

第二条,可复制。基准的编制规则要公开透明,成分调整频率、加权方式、行业分布都是可查的。那种规则半遮半掩、每季度大换血的指数,收益率本身就带着很强的运气成分,拿它做分母会让你的超额收益大幅波动。

第三条,与策略股票池的匹配度。这是最容易被忽略的一条。如果你的策略只能从某个特定池子里选股(比如限定在某几个行业、或者限定了流动性门槛),那基准也应该限定在相似的范围内。我通常的做法是:把策略历史持仓做一次行业和市值的分布统计,然后找一个分布最接近的宽基或者风格指数。分布差得太远,超额收益里就会混进大量的风格偏离收益,看着像α,其实是风格暴露。

第四条,口径一致。基准的收益率是含分红再投的还是价格指数?是税前还是税后?成分股停牌期间怎么处理?这些细节必须和你的策略收益口径对齐。用价格指数(不含分红)去比一个含分红的策略收益,长期下来会系统性高估你的超额,年化可能虚高1到2个百分点,几年下来是个不小的数字。

2.3 基准漂移:一个不动声色就让复盘失真的坑

比选错基准更隐蔽的是“基准漂移”。有两种典型形态。

第一种是策略漂移但基准不动。策略一开始做的是低估值蓝筹,做着做着因为蓝筹没机会,仓位慢慢挪到了高波动成长股,但基准还挂在那儿没改。这时候你的超额收益里,有相当一部分其实是风格切换带来的,你误以为是选股能力。这种情况在实盘中极其常见,因为调仓是一笔一笔做的,人很少会主动去审查“我的基准还配不配”。

第二种是为了好看频繁换基准。某年跑输大盘了,就换成小盘指数比;某年跑输小盘了,就换成等权指数比。这种做法在自欺欺人层面效果拔群,在改进策略层面毫无价值。我的处理方式是:基准一旦确定,至少锁定一个完整的市场周期不做更改,中间任何调整都必须写清理由和时间戳。如果确实因为策略定位发生了实质性变化需要换基准,那新旧基准要并行披露至少一年,让读者能看到换基准对超额收益的影响有多大。

还有一种情况是多重基准加权。当策略本身是多资产或者多风格混合时,单一基准不够用,需要按策略的资金分配或风险预算给多个基准加权。比如60%的仓位做价值选股、40%的仓位做趋势跟踪,那基准可以是60%价值指数加40%的某个趋势型参照。加权比例不能拍脑袋,要按实际的仓位中枢来定,而且这个比例本身也要定期复核。

3. 策略收益率:资金进出的处理方式决定你算的是不是真收益

3.1 简单收益率、时间加权与资金加权,三种口径别混用

策略收益率这块的坑,几乎全部集中在“出入金”上。假设年初净值1.00,年中你追加了一大笔资金,年底净值1.20。这个20%到底算不算策略的收益率?答案是不算,因为后半年那笔大资金进来之后,它的收益被按全年计算了,但实际只参与了半年。

三种口径:

  • 简单收益率= (期末净值 − 期初净值) / 期初净值。只适合完全没有任何出入金的场景,实盘几乎用不上。
  • 时间加权收益率(TWR):把区间按每次出入金切段,每段算一个子区间收益率,然后把所有子区间收益率连乘。它的特点是完全剔除资金进出的影响,衡量的是“一块钱从头放到尾能变成多少”。这是评价策略能力应该用的口径。
  • 资金加权收益率(MWR / IRR):找到那个让所有现金流折现到期末等于期末市值的折现率。它衡量的是“我这个投资者实际拿到的收益率”,受加仓时点影响很大——在低点加仓,MWR会明显高于TWR。

这两个数什么时候用哪个?评价策略用TWR,评价自己的投资决策用MWR。如果TWR是15%而MWR是22%,说明你的加仓时点判断得不错;反过来TWR是15%而MWR只有8%,说明你在高位加了仓,选股没问题但择时拖了后腿。我在复盘里会把两个数都放上去,中间那个差值本身就是一条有价值的信息。

TWR的计算有个细节:分段点必须是现金流发生的前一刻,用现金流发生前的净值作为分段终点。很多实现把分段点放在现金流之后,会导致那一天的收益被重复计入或者漏计,区间越长误差越大。

3.2 复权、分红、手续费、滑点,处理顺序不能乱

算策略收益率的时候,这四样东西的处理顺序直接决定最终数字。我的固定顺序是:先做复权,再算毛收益,然后扣显性成本,最后估隐性成本。

复权必须用后复权。前复权在每次分红除权后会把历史价格整体重算一遍,导致你昨天算出来的历史收益率今天变了,做归因的时候完全对不上。后复权保持历史价格不变、向前调整最新价格,收益率序列是稳定的。这个坑我踩过不止一次——用前复权数据跑了三个月的归因报告,某天发现所有历史数字都变了,排查了半天才想起来是分红除权。

分红处理要和基准口径对齐。前面说过,如果基准用的是含分红再投的全收益指数,那策略这边也必须是分红再投。很多券商的账户净值默认是“不复权”的,分红直接变成现金躺在账上,如果你不手动把它加回去,长期下来会低估收益,低估值高股息策略尤其明显,年化差异可能到2个点以上。

显性成本包括佣金、印花税、过户费,这些能从交割单里直接读到。隐性成本包括滑点和冲击成本,只能估。我的估法是:用下单时刻的中间价和实际成交均价做差,乘以成交金额,逐笔累加。小资金这个数很小,资金量上去之后它会变成超额收益的主要吞噬者。

3.3 年化:短区间年化是自欺欺人的高发区

年化公式是 (1 + 区间收益)^(365 / 天数) − 1。这个公式本身没问题,问题出在滥用。

三个月的收益20%,年化就是1.2^4 − 1 = 107%。这个数字毫无意义,因为三个月的样本根本不足以支撑任何关于“稳定盈利能力”的推断,而且复利效应被极大放大了。我的规矩是:区间短于一年,只报区间收益,不报年化;区间在一年到三年之间,年化可以报,但必须同时标注区间长度和最大回撤;三年以上才适合做年化对比。

还有一个更隐蔽的问题:几何年化和算术年化的差异。一组月度收益率,算术平均是1.5%,几何平均(考虑复利)可能是1.3%,两者差0.2个百分点,年化下来差2.4个点。做策略对比时必须统一用几何,因为几何才是真实拿到手的复合收益。但在计算信息比率这类统计量时,超额收益的均值又必须用算术,因为IR的定义基于算术均值和标准差。这两者不能混。

4. 相对收益率:差值还是比值,这个问题比想象中重要

4.1 算术超额和几何超额,适用场景完全不同

算术超额 = 策略收益 − 基准收益,简单直接,但它在跨期累加时会出问题。假设连续两年策略每年跑赢基准5%,算术超额累加是10%;但如果基准第一年涨50%、第二年跌30%,几何意义上的实际超额是完全不同的数。算术超额的优点是可比性和可加性好,做归因、算均值、算标准差都用它;缺点是它高估了长期的真实超额。

几何超额 = (1 + 策略) / (1 + 基准) − 1,它衡量的是一块钱在策略里相对于在基准里的倍数关系,更适合做长期累计对比。缺点是它不能简单相加,两年的几何超额不能直接加起来。

我的用法是:月度、季度层面用算术超额做归因和统计,年度以上、以及对外披露的累计超额用几何。两个数都算,差额超过1个百分点的时候要专门看一眼是不是区间内有大幅波动导致的。

还有一个容易出错的地方:基准为负时的相对收益解读。基准跌30%,策略跌20%,算术超额是+10%,这个+10%的含义是“少亏了10个百分点”,不是“赚了10%”。很多报告把这种情况写成“逆势取得正超额收益”,听着像赚了钱,实际上账户是亏的。这个表述上的含糊在对外沟通时特别容易引发误解,我在自己的报告里一律写成“相对基准少亏损10个百分点”,把话说死。

4.2 信息比率和跟踪误差:超额收益的“质量”指标

超额收益高不高是一回事,稳不稳定是另一回事。跟踪误差 = 超额收益序列的年化标准差,它衡量的是你的策略偏离基准的程度。一个跟踪误差20%的策略,意味着它的超额收益在一年里有相当大的概率落在正负20%的区间内,波动极大。

信息比率 = 年化超额收益均值 / 年化跟踪误差。这个指标的经济含义是“每承担一单位相对风险,能换来多少超额收益”。经验阈值大概是:IR小于0.3,超额的统计显著性很弱,可能只是运气;0.3到0.5,有效但一般;0.5到1.0,不错;1.0以上,属于优秀但也要警惕是不是样本太短或者过拟合。

计算IR有几个细节。频率要统一,用日频算出来的跟踪误差和用月频算出来的差别很大,年化时乘的系数不同(日频乘√252,月频乘√12)。样本量要够,日频至少一年、月频至少三年才有参考价值。还有一点,IR对基准的选择极其敏感,换一个基准IR可能从0.8掉到0.2,所以报IR的时候必须把基准写清楚。

4.3 把β剥掉之后,剩下的才是真本事

前面提过单因子拆解,这里展开说。回归式:策略收益 = α + β × 基准收益 + ε。这里的β是策略对基准的敏感度。

假设回归出来 β = 1.2,α = 3%(年化),基准年化 8%。那策略的理论年化收益是 3% + 1.2 × 8% = 12.6%,实际超额是 12.6% − 8% = 4.6%,其中 3% 是α,1.6% 是β带来的杠杆效应((1.2 − 1) × 8%)。这1.6%不是能力,是风险暴露换来的——如果基准跌8%,这部分会变成 −1.6%,同样放大亏损。

所以判断一个策略的超额收益质量,正确的问题不是“超额多少”,而是“β调整后的超额是多少”。β明显偏离1的策略,在基准大涨的年份看起来超额惊人,在基准大跌的年份会原形毕露。我在筛选策略时会强制看β,β超过1.15的策略,除非α足够大能覆盖杠杆带来的下行风险,否则不进实盘。

还有一层,β本身是不稳定的。同一套策略在牛市里β可能是1.3,在熊市里可能是0.8,因为持仓结构会随着市场环境变化。所以β要滚动计算,用最近一年或两年的窗口,不能拿全样本的一个数用到底。

5. 把三条曲线跑出来:一份能直接复现的计算流程

5.1 数据准备与对齐,这一步决定后面所有结果

数据这块我只强调三件事:同一时区、同一频率、同一交易日历。策略净值和基准净值必须来自同一个交易日历,遇到策略有交易而基准休市、或者反过来,要做对齐处理。

对齐方式有两种:向前填充和取交集。向前填充保住了样本量,但会引入“用昨天的价格当今天”的失真;取交集会丢样本。我的选择是:日常复盘用向前填充(最多填3个交易日),做统计检验、算IR的时候用交集。因为统计量对样本的独立性要求更高,填充出来的重复值会人为压低波动率,让跟踪误差算小了。

净值序列必须统一成“期初=1”的口径。很多数据源给的是单位净值,有分红的时候会跳一截,必须先做复权再归一化。

5.2 核心计算代码

import numpy as np import pandas as pd def align_nav(strategy_nav: pd.Series, benchmark_nav: pd.Series, fill_limit: int = 3) -> pd.DataFrame: """对齐策略与基准净值,统一到同一交易日历,归一到期初=1""" df = pd.concat([strategy_nav.rename("strat"), benchmark_nav.rename("bench")], axis=1) df = df.sort_index() df = df.ffill(limit=fill_limit).dropna() df = df / df.iloc[0] return df def twr_from_nav(nav: pd.Series, cashflows: pd.Series = None) -> float: """时间加权收益率:按现金流切段,各段收益率连乘""" if cashflows is None or cashflows.abs().sum() == 0: return nav.iloc[-1] / nav.iloc[0] - 1 seg_rets = [] start_val = nav.iloc[0] for dt, cf in cashflows.items(): if dt not in nav.index or cf == 0: continue pre_cf_val = nav.loc[dt] - cf # 现金流发生前的净值 seg_rets.append(pre_cf_val / start_val - 1) start_val = nav.loc[dt] seg_rets.append(nav.iloc[-1] / start_val - 1) return float(np.prod([1 + r for r in seg_rets]) - 1) def relative_metrics(df: pd.DataFrame, periods_per_year: int = 252) -> dict: """计算三类收益率与相对指标""" strat_cum = df["strat"].iloc[-1] / df["strat"].iloc[0] - 1 bench_cum = df["bench"].iloc[-1] / df["bench"].iloc[0] - 1 # 算术超额与几何超额 excess_arith = strat_cum - bench_cum excess_geo = (1 + strat_cum) / (1 + bench_cum) - 1 # 日频超额序列(用于统计量) r_strat = df["strat"].pct_change().dropna() r_bench = df["bench"].pct_change().dropna() excess_daily = r_strat - r_bench te = excess_daily.std(ddof=1) * np.sqrt(periods_per_year) ex_ann = excess_daily.mean() * periods_per_year ir = ex_ann / te if te > 0 else np.nan # 单因子回归求 alpha / beta cov = np.cov(r_strat, r_bench) beta = cov[0, 1] / cov[1, 1] alpha_daily = r_strat.mean() - beta * r_bench.mean() alpha_ann = alpha_daily * periods_per_year return { "策略累计收益": round(strat_cum, 4), "基准累计收益": round(bench_cum, 4), "算术超额": round(excess_arith, 4), "几何超额": round(excess_geo, 4), "跟踪误差": round(te, 4), "信息比率": round(ir, 3), "Beta": round(beta, 3), "年化Alpha": round(alpha_ann, 4), }

这段代码有三个地方值得单独说。一是twr_from_nav里pre_cf_val = nav.loc[dt] - cf,用现金流发生前的净值做分段终点,这是TWR正确性的关键,写成nav.loc[dt]就会错。二是超额序列用的是日频收益率相减,而不是净值相减,因为净值相减会受复利累积影响,算出来的跟踪误差偏大。三是ddof=1用的是样本标准差,样本量小的时候这个设置会让跟踪误差略大一点,更保守,我倾向于保守。

5.3 结果出来之后的自检清单

代码跑完不能直接信,我固定会做四道检查。

检查一,累计收益对不对。用净值首尾直接相除的结果,和TWR算出来的结果对比,如果没有出入金,两者应该完全相等,差一点点都说明分段逻辑有问题。

检查二,超额收益能不能加回来。策略收益应该等于基准收益加算术超额,误差在1e-4以内。

检查三,β和超额的关系。用 α + β × 基准 算出来的理论收益,和实际策略收益做对比,残差应该在合理范围内。残差特别大,说明单因子模型解释力不够,可能需要加风格因子。

检查四,换一个频率重算。用日频和月频分别算一遍IR,两个数差得离谱(比如差一倍以上),说明样本里有异常值,或者某个区间的数据有问题。这一步帮我抓到过好几次数据源的错误。

6. 复盘时最容易翻车的几个地方

6.1 区间端点不一致,差一天结论就反了

最典型的是“策略从1月5日开始运行,基准从1月1日开始算”。四天时间在震荡市里可能没啥,在单边市里能差出一两个点。我的做法是统一取策略实际开始运行的那一天作为所有序列的起点,基准也从那天开始算,宁可少几天样本。

另一个是“结束日选在净值高点”。这个不用多说,任何人在给自己的策略挑区间的时候都会下意识地挑好看的,所以我现在都把区间固定成自然月、自然季、自然年,不允许手动挑。

第三个是非交易日处理。长假前后,策略可能有交易而基准休市,如果允许向前填充太多天,那几天基准的收益会被“冻结”,而策略的收益在动,超额收益就会在那几天虚高或者虚低。fill_limit=3这个参数就是为了防止这种情况,超过三个交易日还填不上,我宁可把那段样本剔掉。

6.2 幸存者偏差与样本内外,回测和实盘要分开算

回测里的相对收益好看,很大一部分来自两个地方:一是股票池用了“今天还活着的股票”,退市的、被并购的都被剔掉了,这会让历史收益系统性偏高;二是参数是在同一段历史上调出来的,样本内表现天然优于样本外。

我的处理方式是回测和实盘完全分开算三套数字:样本内回测、样本外回测、实盘。这三套数字的基准必须一致,否则没法比。样本内超额30%但样本外只有5%、实盘只有2%的情况我见得太多,如果只看样本内那一栏,会严重误判策略的实际价值。

实盘还有一个回测里没有的东西:规模约束。回测可以假设无限流动性,实盘不行。资金量上去之后,滑点和冲击成本会直接吃掉超额,尤其是换手率高的策略。我现在的习惯是,实盘超额收益里专门留一栏“成本后超额”,把显性成本和估算的滑点都扣掉再报。

6.3 基准下跌年份里的“假超额”

前面提过基准为负的情况,这里再强调一次,因为它在实际判断里最容易出错。

基准跌25%,策略跌20%,算术超额+5%。报告里写“取得5%的正超额”,股东看了以为赚了。实际情况是账户亏了20%,只是比市场少亏。这种表述如果长期使用,会让人对策略的风险特征产生严重误判。

更麻烦的是另一类:基准跌40%,策略跌30%,超额+10%,看起来不错。但如果策略的β是1.2,理论上基准跌40%的时候策略应该跌48%,实际只跌30%,确实有正α。可如果β是0.8,理论跌幅是32%,实际跌30%,α几乎为零,那个10%的超额绝大部分来自低β而不是选股能力。所以在下跌年份,一定要把β拆解放上去,否则超额收益的来源完全说不清。

我在报告里的固定写法是三行:策略收益、基准收益、相对基准(少亏/多赚)X个百分点,同时附一行β调整后的α。三行一起看,基本不会有误读空间。

6.4 别拿绝对收益去说服自己,也别拿相对收益去说服别人

最后说一个心态层面的东西。

绝对收益是用来对自己负责的,它关系到你实际拿到手的钱;相对收益是用来对方法论负责的,它关系到这套东西还值不值得继续投人投钱。这两个数经常打架:某个季度绝对收益是负的,但相对收益是正的,这时候该不该继续?我的判断标准是看相对收益的持续性——如果连续四个季度以上都是正超额,且IR在0.5以上,那短期的绝对亏损可以接受,因为市场环境本身不好;如果超额忽正忽负、IR很低,那即使某个季度绝对收益是正的,也要警惕那只是运气。

反过来,对外沟通的时候千万别只讲相对收益。有人问“你今年赚了多少”,你回答“跑赢基准8个点”,这在不同语境下会被理解成完全不同的东西。我的做法是先说绝对收益,再说基准,最后说超额,三句话讲完,谁也不会误读。


我个人在实际操作中的体会是,这三个数里最容易做假的是策略收益率,最容易选错的是基准收益率,最容易被误读的是相对收益率。所以每次复盘我都会强迫自己把三个数按固定顺序写一遍,中途不允许跳步,也不允许改区间。这个习惯帮我拦下过好几次“看着很漂亮其实一文不值”的策略,也让我在几个确实跑输的年份里,能诚实地承认是基准选得不对还是策略真的退化了——这两件事的应对方式完全相反,前者换参照物,后者换策略。

最后再分享一个我用了很久的小技巧:每次算完这三个数,把基准收益和策略收益画在同一张图上,然后把两条线之间的区域用颜色填出来。填出来的那块面积,就是你这一年所有努力的净值可视化。面积是正的,说明你的工作有价值;面积是负的,说明你的工作在这一年里不如什么都不做。这个图我每个月都画,比任何报表都直观。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询