3、价差交易的核心要素:价差的计算方法、价差的统计特征、价差的波动率分析
做价差交易这么多年,我越来越觉得,很多人亏钱不是因为策略不对,而是连最基础的东西都没搞明白。价差是什么?说白了就是两个相关品种之间的价格差。但你别小看这个差值,它背后藏着很多门道。今天我就把价差交易的三个核心要素掰开揉碎了讲清楚。
3.1 价差的计算方法
价差的计算,听起来简单,但实际做起来有不少坑。我见过不少新手上来就用A价格减去B价格,结果发现数据对不上,回测结果一塌糊涂。为什么会这样?因为不同品种的合约规格、报价单位、乘数都不一样。
我个人习惯把价差计算分成三类:
- 简单价差:直接相减。适用于同品种、同交易所的合约。比如螺纹钢近月和远月,都是10吨/手,报价单位都是元/吨,直接减就行。
- 比例价差:考虑合约乘数。比如做多1手铜(5吨/手),做空1手铝(5吨/手),虽然乘数一样,但价格水平不同,直接减会失真。我一般会做标准化处理。
- 对冲比率价差:这是最实用的。用回归或协整算出最优对冲比率,再算价差。我在项目中遇到过,用简单价差做螺纹钢和热卷,亏得怀疑人生,后来换成对冲比率价差,才稳定下来。
核心公式:
标准化价差 = 价格A - β × 价格B
其中β通过对冲比率回归得到,一般用OLS或卡尔曼滤波。
嗯,这里要注意一点:计算价差时,一定要对齐时间戳。不同交易所的撮合频率不一样,有的毫秒级,有的秒级。你拿不同时间点的数据算价差,那就是在瞎算。
3.2 价差的统计特征
算出了价差,接下来就要看它的统计特征。说白了,就是搞清楚这个价差到底有没有规律可循。我刚开始做价差时,拿到数据就画图,觉得看着挺美,结果一跑回测就崩。后来才明白,统计特征才是价差交易的基石。
我重点关注这几个指标:
| 统计指标 | 含义 | 我的经验阈值 |
|---|---|---|
| 均值 | 价差的长期中枢 | 滚动窗口计算,窗口期至少250个交易日 |
| 标准差 | 价差的波动幅度 | 用于设定开仓阈值,一般用1.5倍或2倍 |
| 偏度 | 价差分布是否对称 | 偏度绝对值大于0.5时,要小心均值回归失效 |
| 峰度 | 价差是否有厚尾 | 峰度大于3,说明极端行情多,止损要设宽一点 |
| 自相关性 | 价差是否具有趋势性 | 自相关系数大于0.3,说明价差有记忆性,不适合做均值回归 |
你想想看,如果价差的自相关性很高,说明它是有趋势的。这时候你去做均值回归,那就是在逆势交易,不亏才怪。我曾经吃过这个亏,后来每次做价差前,先跑一遍自相关检验,成了我的铁律。
避坑指南:我曾经用全样本均值做回测,结果实盘一跑就崩。为什么?因为全样本均值包含了未来数据。正确的做法是用滚动窗口,每次只用到当前时刻之前的数据。这个坑,我替你们踩过了。
3.3 价差的波动率分析
波动率分析,是价差交易里最容易被忽视的一环。很多人只看价差的绝对水平,不看波动率的变化。结果呢?价差到了2倍标准差,觉得机会来了,一把梭进去,结果波动率突然放大,价差直接打到3倍、4倍标准差,爆仓出局。
我个人习惯把波动率分析分成两个维度:
- 历史波动率:用过去N天的价差数据算标准差。我一般用20天和60天两个窗口,短周期捕捉近期变化,长周期看整体水平。
- 隐含波动率:从期权价格反推出来的波动率。如果隐含波动率远高于历史波动率,说明市场预期价差会大幅波动,这时候开仓要格外小心。
我常用的波动率指标:
# 计算价差的滚动波动率
import numpy as np
def rolling_volatility(spread, window=20):
log_returns = np.log(spread[1:] / spread[:-1])
rolling_vol = np.std(log_returns[-window:]) * np.sqrt(252)
return rolling_vol
# 波动率锥:比较不同周期的波动率水平
def volatility_cone(spread):
windows = [5, 10, 20, 60, 120]
cone = {}
for w in windows:
vol = np.std(np.diff(np.log(spread))[-w:]) * np.sqrt(252)
cone[w] = vol
return cone
波动率分析还有一个重要用途:动态调整仓位。当波动率低的时候,价差窄幅震荡,可以适当加大仓位。当波动率高的时候,价差上蹿下跳,就要减仓甚至空仓。说白了,就是让仓位和波动率成反比。这个思路,我在实盘中用了好几年,效果不错。
警告:波动率不是一成不变的。市场环境变了,波动率结构也会变。我见过有人用三年前的波动率参数做交易,结果市场结构都变了,他还死守着老参数,亏得一塌糊涂。波动率参数要定期更新,至少每季度重新校准一次。
知识体系总览
下面这张图,是我自己梳理的价差交易核心要素框架。每次做策略前,我都会对照着过一遍,确保没有遗漏。
这三个要素,说白了就是一个闭环。先算对价差,再分析它的统计特征,最后用波动率来控制风险。每一步都不能少。我见过太多人,要么只算价差不看统计,要么看了统计不管波动率,结果都是亏钱收场。
嗯,今天就先聊到这儿。这三个要素是价差交易的根基,后面所有的策略、模型、风控,都是在这个基础上搭建的。把基础打牢了,后面的路才能走得稳。