第24章 宏观预期差交易:实际数据与预期数据的差异对曲面的影响、预期差因子构建
做波动率曲面交易的朋友,应该都有这种体会——每次非农数据公布前,整个期权市场就像被拧紧的发条。但真正让我开始重视预期差交易的,是2019年那次美联储议息会议。我记得当时市场普遍预期降息25个基点,结果实际降了50个基点。那天晚上,整个波动率曲面几乎被重塑了一遍。
说白了,宏观预期差交易的核心就一句话:市场定价的不是数据本身,而是数据与预期的偏差。你想想看,如果所有人都知道CPI要涨0.3%,那这个信息早就被price in了。真正能驱动曲面变形的,是那个"surprise"。
24.1 预期差如何扭曲波动率曲面
我们先来看一个具体的例子。假设市场预期非农就业增加20万人,实际公布值是30万人。这时候会发生什么?
- 短期平值期权IV飙升:因为市场需要重新定价
- 虚值看涨期权IV上升更快:尾部风险被重新评估
- 偏度(Skew)变陡:右侧尾部变厚
我个人习惯把这种影响拆成三个维度:
- 水平效应:整体IV水平的变化
- 斜率效应:不同行权价之间IV差异的变化
- 曲率效应:波动率微笑形状的变化
核心观点:预期差越大,曲面变形的幅度就越大,而且这种变形往往是非线性的。正预期差和负预期差对曲面的影响并不对称。
我在项目中遇到过好几次这样的情况:明明数据很好,但曲面反而走平了。后来才发现,是因为市场预期已经打得太满,实际数据虽然好,但"好得不够多"。这就是预期差交易的微妙之处。
24.2 预期差因子的构建方法
要系统性地做预期差交易,我们需要构建一个可量化的因子。我常用的框架是这样的:
# 预期差因子计算示例(Python伪代码)
def calculate_surprise_factor(actual, expected, historical_std):
"""
计算标准化预期差因子
"""
# 原始差值
raw_surprise = actual - expected
# 用历史标准差做标准化
z_score = raw_surprise / historical_std
# 考虑方向性(正负号)
direction = np.sign(z_score)
# 非线性变换(放大极端值的影响)
surprise_factor = direction * (np.abs(z_score) ** 1.5)
return surprise_factor
这个因子的设计思路其实很简单:
- 标准化:让不同量纲的数据可以比较
- 非线性:极端预期差的影响远大于温和预期差
- 方向性:区分"好于预期"和"差于预期"
实战技巧:我建议用滚动窗口计算历史标准差,窗口长度取60个交易日比较合适。太短容易受噪音干扰,太长又反应迟钝。
24.3 预期差与曲面特征的映射关系
有了预期差因子之后,下一步就是建立它和曲面特征之间的映射。我通常关注以下几个关键指标:
| 曲面特征 | 对应指标 | 预期差影响方向 |
|---|---|---|
| 整体IV水平 | ATM IV | 正相关(绝对值越大,IV越高) |
| 偏度 | 25-delta Risk Reversal | 正预期差→偏度变陡 |
| 峰度 | 25-delta Butterfly | 极端预期差→峰度上升 |
| 期限结构 | 近远月IV差 | 短期影响远大于长期 |
嗯,这里要注意一点:不同宏观数据对曲面的影响路径是不一样的。比如:
- 通胀数据:主要影响长期端和偏度
- 就业数据:短期IV反应最剧烈
- GDP数据:对整体IV水平影响更均匀
我曾经犯过一个错误——把所有宏观数据都用一个模型去拟合。结果发现拟合效果很差。后来才意识到,不同数据对曲面的"冲击模式"完全不同,需要分别建模。
24.4 预期差交易的实战框架
基于上面的分析,我总结了一套预期差交易的实战框架:
- 数据预处理:收集实际值、预期值、历史数据
- 因子计算:生成标准化预期差因子
- 曲面响应估计:用历史数据估计预期差对曲面的影响系数
- 交易信号生成:当预期差超过阈值时,生成交易信号
- 仓位管理:根据预期差大小动态调整仓位
避坑指南:我曾经在2020年3月吃过一次大亏。当时市场波动率已经很高,我按照常规的预期差因子去交易,结果被连续打脸。后来复盘发现,在极端市场环境下,预期差因子的预测能力会大幅下降。所以一定要加上市场状态过滤器。
24.5 一个完整的案例
我们来看一个具体的交易案例。假设今天是美国CPI公布日:
- 市场预期CPI同比+3.2%
- 实际公布值+3.5%
- 历史标准差0.15%
计算预期差因子:
raw_surprise = 3.5 - 3.2 = 0.3
z_score = 0.3 / 0.15 = 2.0
surprise_factor = 1 * (2.0 ** 1.5) = 2.83
这个2.83的因子值意味着什么?根据历史回测,当因子值超过2.0时:
- ATM IV平均上升1.5-2.0个vol
- 25-delta Risk Reversal走阔0.5-0.8个vol
- 近月合约受影响程度是远月的3倍左右
基于这个判断,我们可以构建一个交易组合:做多近月ATM straddle,同时做空远月ATM straddle,再辅以偏度交易。
关键提醒:预期差交易不是简单的"数据好就买call,数据差就买put"。你需要考虑的是曲面整体的变形方向,而不是单纯的方向性赌注。
24.6 预期差因子的局限性
说实话,预期差因子也不是万能的。我总结了几点需要注意的地方:
- 预期本身有偏差:市场预期本身也是估计值,存在测量误差
- 非线性响应:小预期差可能没反应,大预期差可能过度反应
- 市场情绪干扰:在恐慌或贪婪情绪下,预期差的影响会被放大或扭曲
- 数据修正风险:有些宏观数据后续会修正,导致预期差重新计算
我个人习惯是把预期差因子和其他因子(如波动率风险溢价、期限结构斜率等)结合起来使用。单一因子的稳定性往往不够,但多个因子组合起来,效果会好很多。
最后说一句,预期差交易本质上是在交易"市场犯错"。但市场犯错的时候,往往也是波动最大的时候。做好风控,比什么都重要。
公众号:蓝海资料掘金营,微信deep3321