一、绩效归因概述:从“赚了还是亏了”到“为什么赚、为什么亏”
做量化交易的朋友,应该都有过这种体验:
回测曲线漂亮得不行,实盘一跑就拉胯。或者,明明今年整体是赚钱的,但仔细一算,手续费和滑点吃掉了一大半利润。
这时候你心里肯定在嘀咕:“到底哪一步出了问题?”
嗯,这就是我们今天要聊的——绩效归因。
1.1 什么是绩效归因?
说白了,绩效归因就是拆解。
把一笔交易、一个策略、甚至一个投资组合的最终结果,拆成若干个可解释的组成部分。比如:
- 这波盈利,是因为趋势跟踪做得好,还是因为运气好撞上了单边行情?
- 亏损,是模型本身的问题,还是市场流动性不足导致的滑点?
- 风险敞口是不是太大了?夏普比率高,但最大回撤也高,这合理吗?
我个人的习惯是,把绩效归因看作“投资领域的尸检报告”。不只看最后赚了多少,更要看每一分钱是怎么来的、怎么没的。
核心定义:绩效归因是将投资组合的收益、风险、成本,按照预设的因子或决策层级,进行定量分解的过程。
1.2 为什么需要归因?
你可能觉得:“我账户里有钱赚就行了,管它怎么来的?”
我以前也这么想。直到有一次,我跑了一个螺纹钢的跨期套利策略,半年赚了15%。当时挺得意,结果一归因发现:
- 真正来自价差回归的收益,只有3%。
- 剩下的12%,全是持仓过程中单边上涨带来的方向性风险暴露。
说白了,我做的套利策略,实际上变成了一个变相的多头趋势策略。风险完全不对。
所以,归因的意义在于:
- 验证策略逻辑:你的策略到底在赚什么钱?是Alpha还是Beta?
- 识别风险来源:哪些风险是你主动承担的?哪些是你被动接受的?
- 优化成本结构:手续费、滑点、冲击成本,哪个环节最拖后腿?
- 提升可复制性:只有搞清楚收益来源,你才能在不同市场环境下复制它。
避坑指南:我曾经见过一个团队,策略回测年化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 知识体系框架图
下面这张图,是我自己梳理的绩效归因核心逻辑。你可以把它当作整个课程的导航地图。
这张图其实已经说得很清楚了。收益、风险、成本,三个维度互相独立,但又彼此关联。比如:
- 你为了降低滑点成本(成本归因),可能会选择流动性更好的品种,但这会改变你的因子暴露(风险归因)。
- 你为了追求高收益(收益归因),可能会放大杠杆,但这会直接推高波动率和回撤(风险归因)。
所以,做归因分析时,千万别只看一个维度。我个人的习惯是,每次跑完策略,先做收益归因,再看风险归因,最后算成本归因。三个维度对不上,说明你的数据或者模型有问题。
一个小技巧:刚开始做归因时,别追求完美。先跑一个简单的Brinson归因模型(把收益拆成配置效应、选股效应、交互效应),或者用Barra模型做风险因子分解。等熟悉了,再上更复杂的模型。我当年就是从Brinson模型入门的,虽然简单,但足够让你理解归因的核心思想。
好了,这一章的内容就到这里。记住一句话:归因不是为了证明你有多厉害,而是为了搞清楚你到底在做什么。