4. 价差计算:实时价差计算、均值回复模型与协整检验

套利交易的核心,说白了就是盯着价差做文章。你想想看,两个高度相关的资产,价格走势本该像双胞胎一样同步,可一旦它们走散了,机会就来了。我做了这么多年量化风控,见过太多人一上来就盯着绝对价格差,结果被市场来回打脸。嗯,这里面的门道,咱们今天好好聊聊。

4.1 实时价差计算:别被表面数字骗了

实时价差计算,听起来简单吧?就是A价格减去B价格。但我在项目中遇到过一个问题:如果两个资产的价格量级差太多,比如一个几百块,一个几块钱,那价差波动就完全被高价资产主导了。这其实是个坑。

我个人习惯用两种方式处理:

  • 简单价差spread = P_A - P_B。适用于同品种、同量级的资产,比如两个股指期货。
  • 标准化价差spread = (P_A / P_B) - 1 或者 spread = ln(P_A / P_B)。适用于不同量级的资产,比如股票对。

为什么要标准化?举个例子,茅台和五粮液,价格差几百块,但它们的比值其实很稳定。你盯着绝对价差做交易,很容易被价格水平的变化误导。

核心要点:实时价差计算,重点不在「算」,而在「怎么算」。选对公式,风控就成功了一半。

4.2 均值回复模型:价差会回来吗?

均值回复,是套利策略的底层信仰。说白了,就是相信价差不会永远偏离,迟早会回到均值附近。我刚开始做套利时,总觉得这个假设太理想化,直到有一次在股指期货上验证了它的有效性——价差偏离到3个标准差后,果然在5分钟内回归了。

常用的均值回复模型有两种:

模型 公式 适用场景
简单移动平均 spread - SMA(spread, n) 短期套利,快速反应
指数加权移动平均 spread - EWMA(spread, lambda) 长期套利,平滑噪声

我个人更偏爱EWMA,因为它对近期数据更敏感,能更快捕捉到价差的异常波动。不过要注意,lambda值的选择很关键——太小了噪声多,太大了反应迟钝。我一般取0.94,这是风险管理领域常用的衰减因子。

小技巧:均值回复模型需要配合「阈值」使用。比如价差偏离均值超过2个标准差时开仓,回归到0.5个标准差时平仓。这个阈值,我建议用历史数据回测来定,别拍脑袋。

4.3 协整检验:它们真的会一起走吗?

协整检验,是套利策略的「合法性验证」。你想想看,如果两个资产根本没有长期均衡关系,那均值回复就是空中楼阁。我曾经吃过这个亏——用两个看起来走势很像的股票做套利,结果价差越走越远,亏得我头皮发麻。

常用的协整检验方法是Engle-Granger两步法

  1. 第一步:用OLS回归估计协整关系。公式:Y = alpha + beta * X + epsilon
  2. 第二步:对残差epsilon进行单位根检验(ADF检验)。如果残差是平稳的,说明存在协整关系。

代码实现其实不复杂,我贴一段我常用的Python代码:

import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller

# 假设price_a和price_b是两个价格序列
def cointegration_test(price_a, price_b):
    # 第一步:OLS回归
    X = sm.add_constant(price_b)
    model = sm.OLS(price_a, X).fit()
    residuals = model.resid
    
    # 第二步:ADF检验
    adf_stat, p_value, _, _, critical_values, _ = adfuller(residuals)
    
    return {
        'beta': model.params[1],
        'alpha': model.params[0],
        'adf_stat': adf_stat,
        'p_value': p_value,
        'is_cointegrated': p_value < 0.05
    }

这里有个坑:ADF检验的p值阈值,我建议用1%而不是5%。为什么?因为协整检验的样本量通常不大,5%的显著性水平容易误判。我曾经用5%的阈值跑回测,结果策略在实盘时直接崩了——后来发现是伪协整。

避坑指南:协整检验不是一劳永逸的。市场结构会变,协整关系也可能消失。我建议每3个月重新检验一次,或者在重大市场事件后立即重检。

4.4 知识体系总览

说了这么多,咱们用一张图把核心逻辑串起来。这张图是我做套利风控时必画的框架,每次看都能提醒自己别漏掉关键步骤。

价差计算与套利风控核心逻辑 资产价格数据 实时价差计算(简单/标准化) 均值回复模型(SMA / EWMA) 协整检验(Engle-Granger / ADF) 风控决策(阈值 / 仓位 / 止损) 注意量级差异 阈值需回测确定 每3个月重检一次 动态调整参数

这张图从左到右,其实就是一个完整的套利风控流水线。每一步都有坑,每一步都需要你用心去打磨。我做了这么多年,最大的体会就是:风控不是事后补救,而是事前设计。价差计算、均值回复、协整检验,这三板斧用好了,套利策略的胜率能提升一大截。

总结一句话:实时价差是「眼睛」,均值回复是「大脑」,协整检验是「体检报告」。三者缺一不可。

专注资料整理