一、绩效归因概述:从“赚了还是亏了”到“为什么赚、为什么亏”

做量化交易的朋友,应该都有过这种体验:

回测曲线漂亮得不行,实盘一跑就拉胯。或者,明明今年整体是赚钱的,但仔细一算,手续费和滑点吃掉了一大半利润。

这时候你心里肯定在嘀咕:“到底哪一步出了问题?”

嗯,这就是我们今天要聊的——绩效归因

1.1 什么是绩效归因?

说白了,绩效归因就是拆解

把一笔交易、一个策略、甚至一个投资组合的最终结果,拆成若干个可解释的组成部分。比如:

  • 这波盈利,是因为趋势跟踪做得好,还是因为运气好撞上了单边行情?
  • 亏损,是模型本身的问题,还是市场流动性不足导致的滑点?
  • 风险敞口是不是太大了?夏普比率高,但最大回撤也高,这合理吗?

我个人的习惯是,把绩效归因看作“投资领域的尸检报告”。不只看最后赚了多少,更要看每一分钱是怎么来的、怎么没的。

核心定义:绩效归因是将投资组合的收益、风险、成本,按照预设的因子或决策层级,进行定量分解的过程。

1.2 为什么需要归因?

你可能觉得:“我账户里有钱赚就行了,管它怎么来的?”

我以前也这么想。直到有一次,我跑了一个螺纹钢的跨期套利策略,半年赚了15%。当时挺得意,结果一归因发现:

  • 真正来自价差回归的收益,只有3%。
  • 剩下的12%,全是持仓过程中单边上涨带来的方向性风险暴露

说白了,我做的套利策略,实际上变成了一个变相的多头趋势策略。风险完全不对。

所以,归因的意义在于:

  1. 验证策略逻辑:你的策略到底在赚什么钱?是Alpha还是Beta?
  2. 识别风险来源:哪些风险是你主动承担的?哪些是你被动接受的?
  3. 优化成本结构:手续费、滑点、冲击成本,哪个环节最拖后腿?
  4. 提升可复制性:只有搞清楚收益来源,你才能在不同市场环境下复制它。

避坑指南:我曾经见过一个团队,策略回测年化30%,实盘只有8%。一归因才发现,回测时假设的滑点只有0.5个tick,实盘平均滑点达到3个tick。这就是典型的成本归因缺失。所以,我建议你在做任何归因之前,先把交易成本算清楚。

1.3 归因分析的三大核心维度

我个人把绩效归因分成三个维度:收益、风险、成本。缺一不可。

1.3.1 收益归因

收益归因,就是回答“钱从哪来”

在大宗商品量化策略里,常见的收益来源包括:

  • 趋势因子:动量、反转
  • 期限结构因子:展期收益、基差
  • 基本面因子:库存、持仓、供需差
  • 统计套利因子:价差回归、协整

举个例子,你做一个原油期货的CTA策略。收益归因会告诉你:

  • 这波上涨行情中,你的多头仓位贡献了80%的收益。
  • 但其中,有60%是因为展期收益(近月合约比远月贵),只有20%是真正的价格趋势。

你看,如果不做归因,你可能以为自己是趋势交易高手,其实只是个吃展期的。

1.3.2 风险归因

风险归因,回答的是“风险在哪”

我常用的风险指标包括:

风险维度 常用指标 说明
波动率 年化波动率、VaR 整体风险水平
回撤 最大回撤、回撤持续时间 极端风险暴露
因子暴露 因子Beta、因子贡献 各风险因子的敏感度
集中度 品种集中度、方向集中度 是否过度押注

我记得有一次,我帮朋友诊断一个农产品策略。收益曲线看着不错,夏普1.8。但风险归因一算:

  • 该策略在豆粕上的仓位占比超过70%。
  • 而且,所有仓位都是多头。

这哪是量化策略?这分明是赌天气。一旦南美干旱缓解,豆粕暴跌,整个策略就崩了。

1.3.3 成本归因

成本归因,往往是最容易被忽视的维度。

很多新手只看毛收益,不看净收益。但实盘中,成本才是吃掉利润的大头

成本归因通常包括:

  • 显性成本:手续费、印花税、过户费
  • 隐性成本:滑点、冲击成本、延迟成本
  • 机会成本:资金占用、保证金占用

我做过一个统计:在流动性较差的品种(比如某些化工品)上,滑点成本可能占到总交易成本的60%以上。你想想看,如果你的策略每天交易10次,每次滑点吃掉0.1%,一年下来就是多少?

注意:成本归因一定要区分回测成本实盘成本。回测时假设的滑点往往偏理想,实盘会高很多。我建议你在回测阶段就做压力测试:把滑点假设放大2-3倍,看看策略还能不能活下来。

1.4 知识体系框架图

下面这张图,是我自己梳理的绩效归因核心逻辑。你可以把它当作整个课程的导航地图

大宗商品量化策略绩效归因框架 绩效归因 收益归因 风险归因 成本归因 趋势因子 / 期限结构 / 基本面 统计套利 / 事件驱动 波动率 / 回撤 / VaR 因子暴露 / 集中度 / 杠杆 显性成本 / 隐性成本 机会成本 / 冲击成本 三者结合,才能完整解释策略的“真实表现”

这张图其实已经说得很清楚了。收益、风险、成本,三个维度互相独立,但又彼此关联。比如:

  • 你为了降低滑点成本(成本归因),可能会选择流动性更好的品种,但这会改变你的因子暴露(风险归因)。
  • 你为了追求高收益(收益归因),可能会放大杠杆,但这会直接推高波动率和回撤(风险归因)。

所以,做归因分析时,千万别只看一个维度。我个人的习惯是,每次跑完策略,先做收益归因,再看风险归因,最后算成本归因。三个维度对不上,说明你的数据或者模型有问题。

一个小技巧:刚开始做归因时,别追求完美。先跑一个简单的Brinson归因模型(把收益拆成配置效应、选股效应、交互效应),或者用Barra模型做风险因子分解。等熟悉了,再上更复杂的模型。我当年就是从Brinson模型入门的,虽然简单,但足够让你理解归因的核心思想。

好了,这一章的内容就到这里。记住一句话:归因不是为了证明你有多厉害,而是为了搞清楚你到底在做什么。


专注资料整理