第19章:交易策略设计:基于宏观-曲面联动的套利策略、方向性交易策略
好,我们终于走到了策略落地的这一步。
前面讲了那么多曲面结构、宏观因子、联动逻辑,说白了都是为了这一刻——怎么用它们赚钱。我个人习惯把这类策略分成两大类:一类是套利策略,赚的是定价偏差的钱;另一类是方向性策略,赚的是趋势或波动的钱。两者逻辑不同,但底层都依赖宏观-曲面联动信号。
19.1 套利策略:捕捉曲面内部的定价偏差
套利策略的核心是什么?是“找茬”。
曲面本身是一个高维结构,不同期限、不同行权价之间的隐含波动率,理论上应该保持某种内在一致性。当宏观数据发布后,曲面某些区域会反应过度或反应不足,这就产生了套利空间。
19.1.1 跨期限套利:宏观冲击下的期限结构修复
我记得2022年有一次非农数据大幅低于预期,短端波动率瞬间飙升,但长端反应滞后了大概15分钟。这种时候,短端和长端的价差就被拉到了一个极端位置。
具体做法是这样的:
- 信号触发:宏观数据发布后,监测短期隐含波动率(比如1M ATM)与长期隐含波动率(比如12M ATM)的差值。
- 入场条件:当差值超过历史均值2个标准差,且宏观数据方向明确(比如衰退信号),则入场。
- 交易执行:做空短期波动率,做多长期波动率(或者反过来,看偏差方向)。
- 平仓逻辑:价差回归到均值附近,或者新的宏观数据改变了预期。
核心要点:这种策略赚的是“期限结构修复”的钱。宏观冲击往往先影响短端,长端需要时间消化。这个时间差就是利润来源。
19.1.2 跨品种套利:利用宏观因子的传导差异
另一个我常用的套路,是跨品种套利。比如,当CPI数据超预期时,利率波动率通常先动,然后传导到汇率波动率,最后才到权益波动率。
我曾经在2023年做过一个统计:CPI发布后,利率波动率与权益波动率的联动延迟大约在5-10分钟。这个延迟窗口,就是套利机会。
具体步骤:
- 建立宏观因子与各品种波动率的回归模型(比如用PCA提取共同因子)。
- 实时监测各品种波动率相对于共同因子的偏离度。
- 当某个品种偏离超过阈值时,做多偏离品种、做空基准品种(或相反)。
避坑指南:我曾经吃过一次亏,就是忽略了流动性差异。利率波动率市场流动性好,但某些新兴市场汇率波动率流动性差,滑点直接把利润吃掉了。所以入场前一定要算好流动性成本。
19.2 方向性交易策略:顺着宏观风向做单边
套利策略赚的是“回归”的钱,方向性策略赚的是“趋势”的钱。说白了,就是判断宏观数据会驱动曲面往哪个方向走,然后押注。
19.2.1 宏观事件驱动策略:数据发布后的即时反应
这类策略最直接。比如,非农数据好于预期,市场预期美联储加息概率上升,那么短期波动率曲面整体上移,尤其是价外看跌期权(因为市场担心加息冲击)。
我的做法是:
- 事前准备:在数据发布前,建立宏观数据与曲面各区域敏感度的映射表。比如,GDP数据对10年期波动率影响最大,CPI对短端影响最大。
- 事后执行:数据发布后,根据实际值与预期的偏差,选择最敏感的曲面区域进行交易。
- 止损设置:方向性策略风险高,我一般设2%的止损线,或者用期权组合来限制最大亏损。
注意:方向性策略最怕的是“假突破”。宏观数据刚出来时,市场经常先剧烈波动再反向。我建议等5-10分钟,等第一波情绪消化后再入场。
19.2.2 趋势跟踪策略:利用宏观-曲面联动的持续性
有些宏观信号不是一次性的,而是有持续性的。比如,连续两个月的PMI数据都在荣枯线以下,那么市场对衰退的预期会逐步加强,曲面会持续偏斜(skew加大)。
这种时候,适合做趋势跟踪:
- 定义宏观趋势指标(比如连续3次数据同向)。
- 监测曲面关键指标(比如25-delta skew)是否同步变化。
- 如果两者方向一致,则顺势建仓。
- 直到宏观趋势反转或曲面结构出现背离,才平仓。
嗯,这里要注意:趋势跟踪策略的持仓周期通常较长,可能是几天甚至几周。所以资金管理和仓位控制很重要。我一般单笔不超过总资金的5%。
19.3 策略的量化实现框架
光讲逻辑不行,得能落地。下面我给一个简化的策略框架,用伪代码展示核心逻辑。
# 伪代码:宏观-曲面联动套利策略框架
def macro_surface_strategy(macro_data, surface_data):
# 1. 计算宏观冲击
macro_shock = macro_data['actual'] - macro_data['expected']
# 2. 计算曲面偏差
term_spread = surface_data['1M_IV'] - surface_data['12M_IV']
z_score = (term_spread - term_spread.mean()) / term_spread.std()
# 3. 判断入场条件
if abs(z_score) > 2 and abs(macro_shock) > threshold:
if z_score > 0 and macro_shock > 0:
# 做空短端,做多长端
execute_trade('short_1M_IV', 'long_12M_IV')
elif z_score < 0 and macro_shock < 0:
# 做多短端,做空长端
execute_trade('long_1M_IV', 'short_12M_IV')
# 4. 监控平仓条件
if abs(z_score) < 0.5 or new_macro_data_arrived:
close_all_positions()
关键参数:阈值的选择直接影响策略表现。我建议用滚动窗口(比如过去60个交易日)计算均值和标准差,这样能自适应市场环境变化。
19.4 策略回测与风险控制
任何策略在实盘前,都必须经过严格的回测。我个人习惯用以下指标来评估:
| 指标 | 含义 | 我的经验阈值 |
|---|---|---|
| 夏普比率 | 风险调整后收益 | 大于1.5 |
| 最大回撤 | 策略最差表现 | 小于15% |
| 胜率 | 盈利交易占比 | 大于55% |
| 盈亏比 | 平均盈利/平均亏损 | 大于1.5 |
你想想看,如果一个策略夏普比率很高但最大回撤也很大,那其实不适合实盘。因为一旦遇到极端行情,你可能在回撤期就被迫清盘了。
我的经验:回测时一定要加入交易成本(包括滑点和手续费)。我见过太多策略回测漂亮,实盘一跑就亏,就是因为忽略了成本。尤其是期权交易,买卖价差可能吃掉你一半的利润。
19.5 本章知识体系图
下面这张图总结了本章的核心逻辑:从宏观数据出发,经过曲面联动分析,最终落地到两类策略。
这张图你看懂了吗?从左到右,从上到下,就是一套完整的策略开发流程。先有宏观信号,再分析曲面联动,然后选择策略类型,最后用风控兜底。
最后说一句:策略设计不是一蹴而就的。我做了十年交易,每个策略都经历过无数次的修改和优化。关键是你要理解背后的逻辑,而不是盲目套用参数。宏观-曲面联动这个方向,值得你花时间去深耕。
公众号:蓝海数据掘金营,微信deep3321