3. 做市策略收益归因框架:因子归因模型
做市策略赚了钱,到底是因为运气好,还是真的靠本事?这个问题,我几乎每次复盘都会被问到。今天我们就来聊聊因子归因模型,看看怎么把收益拆得明明白白。
3.1 因子归因模型基础:Fama-French 三因子
先说说经典的 Fama-French 三因子模型。这个模型最早是用来解释股票收益的,但后来被广泛用到各种策略分析里。说白了,它把收益拆成三部分:
- 市场因子(MKT):大盘涨你也涨,大盘跌你也跌,这部分收益跟你的选股能力无关。
- 规模因子(SMB):小盘股比大盘股多出来的那部分收益。
- 价值因子(HML):低估值股票比高估值股票多出来的收益。
公式长这样:
R_p - R_f = α + β₁·MKT + β₂·SMB + β₃·HML + ε
其中 α 就是超额收益,也就是你真正靠策略赚到的部分。β 系数表示你对各个因子的暴露程度。
关键点:α 大于 0 说明策略有超额收益,小于 0 说明你跑输基准。我在做市策略里经常看到 α 为负的情况,这时候就要反思了——是不是策略本身有问题?
3.2 因子归因在做市策略中的应用
做市策略跟传统股票策略不太一样。你想想看,做市商赚的是买卖价差,不是股价涨跌。所以直接套用 Fama-French 模型会有点水土不服。
我个人习惯把因子归因模型改一改,加入做市特有的因子:
- 价差因子(SPR):买卖价差的大小,直接影响做市收入。
- 库存风险因子(INV):持仓时间越长,风险越大,这部分收益要单独算。
- 订单流因子(FLOW):订单到达的速率和方向,影响你的成交概率。
举个例子,我做过一个高频做市策略的归因分析:
# 伪代码示例
R_p = α + β_spr * SPR + β_inv * INV + β_flow * FLOW + ε
# 实际回归结果
# α = 0.0023 (显著为正)
# β_spr = 0.45 (价差因子贡献最大)
# β_inv = -0.12 (库存风险拖累收益)
# β_flow = 0.33 (订单流因子贡献中等)
你看,这个策略的 α 是正的,说明确实有超额收益。但库存风险因子是负的,说明持仓时间太长反而亏钱。嗯,这里要注意——做市策略最怕的就是库存积压。
避坑指南:我曾经遇到一个策略,α 看起来很高,但仔细一看,β_spr 特别大。后来发现是因为市场波动率上升,价差变大了,策略被动赚了更多钱。这其实不是策略本身厉害,而是市场环境给的。所以归因分析一定要做,不然容易误判。
3.3 因子归因与 Brinson 归因的对比
说到归因,很多人会想到 Brinson 归因。这两个方法到底有什么区别?我简单总结一下:
| 维度 | 因子归因 | Brinson 归因 |
|---|---|---|
| 核心思想 | 用因子解释收益 | 用配置和选股解释收益 |
| 适用场景 | 多因子策略、量化策略 | 传统资产配置、主动管理 |
| 输出结果 | 因子暴露 + 超额收益 α | 配置效应 + 选股效应 + 交互效应 |
| 对做市策略的适用性 | 高(可自定义因子) | 低(做市不涉及选股) |
说白了,Brinson 归因更适合基金经理——他们需要解释为什么配置了某个行业、为什么选了某只股票。但做市策略不一样,你赚的是流动性提供的钱,不是选股的钱。
我个人更推荐用因子归因来做市策略分析。原因很简单:你可以自定义因子,把做市特有的风险因素加进去。比如我之前提到的价差因子、库存因子,这些在 Brinson 框架里根本没法体现。
注意事项:因子归因也不是万能的。因子选择本身就有主观性,你选的因子不同,结果可能天差地别。我建议至少用 3-5 个不同的因子组合做敏感性分析,看看 α 是否稳定。
3.4 知识体系结构图
下面这张图展示了因子归因在做市策略中的完整逻辑:
这张图把整个归因流程串起来了。从总收益出发,分解到各个因子,然后通过回归得到 α 和 β。最后判断策略是否真的有效。
3.5 实战中的注意事项
最后分享几个我在实战中踩过的坑:
- 因子共线性问题:有些因子之间高度相关,比如价差因子和波动率因子。这时候回归结果会不稳定。我一般会用 VIF(方差膨胀因子)检测一下,超过 10 就考虑剔除。
- 时间窗口选择:做市策略的收益特征变化很快。用过去一年的数据做归因,可能已经过时了。我建议用滚动窗口,比如 3 个月或 6 个月。
- 因子滞后性:有些因子对收益的影响有滞后。比如库存因子,今天建仓可能明天才体现。记得在模型里加入滞后项。
总结一下:因子归因是做市策略分析的核心工具。它能帮你区分「运气」和「能力」。但工具再好,也要会用。我见过太多人拿着漂亮的 α 数字就以为策略无敌,结果一换市场环境就崩了。归因分析不是终点,而是优化的起点。