第3章:价差分析入门

价差的定义——说白了就是“谁贵谁便宜”

做跨市场套利,你首先得搞清楚一个核心概念:价差

我刚开始入行时,师傅丢给我一句话:“价差就是同一东西在两个地方的价格差。” 嗯,就这么简单。比如螺纹钢,上海期货交易所的主力合约价格是3800元/吨,而唐山现货市场的报价是3750元/吨,那价差就是50元/吨。

但这里有个细节要注意——价差的计算方向。我个人习惯统一用「期货价格 - 现货价格」来算。为什么?因为大部分套利策略都是做空价差(卖期货买现货)或者做多价差(买期货卖现货),方向统一了,后面分析起来才不混乱。

价差公式(我常用的):
价差 = 期货主力合约价格 - 现货基准价格

你可能会问:“那现货价格怎么取?” 嗯,这是个好问题。我建议用当天现货市场的主流成交价,而不是某个小贸易商的报价。我在项目中遇到过,有人用了某家小钢厂的报价,结果价差序列里全是异常点,白忙活了一周。

价差是怎么形成的?——三个核心原因

价差不是凭空产生的。说白了,它背后有实实在在的驱动力。我把它归纳为三类:

  1. 持仓成本(Carry Cost):这是最根本的原因。期货价格里包含了仓储费、资金利息、保险费等。比如你买现货放三个月,光仓储费就吃掉你20块,那期货比现货贵20块就很合理。
  2. 供需错配:有时候现货突然紧缺,价格飙涨,期货反而跟不上。我记得2021年煤炭那波行情,现货一天涨100,期货涨停板才5%,价差瞬间拉大到离谱。
  3. 市场情绪与流动性:期货市场有投机资金,现货市场是实打实的买卖。情绪来了,期货可以比现货贵很多,也可以便宜很多。说白了,就是“人有时候比货更疯狂”。
我的经验: 别只看价差绝对值。比如价差50块,对于5000块的铜来说很小,但对于2000块的玉米来说就很大了。我习惯用价差/现货价格的百分比来衡量,这样不同品种之间才有可比性。

价差的统计特征——均值回归与趋势性

做套利的人,最关心的就是价差到底怎么走。我做了十年,发现价差有两个核心特征:均值回归趋势性。这两个特征决定了你的策略是赚震荡的钱,还是赚趋势的钱。

1. 均值回归——价差会“回家”

大部分情况下,价差会在一个区间内来回摆动。比如螺纹钢的期现价差,长期在-50到+100之间波动。当价差跑到+120时,大概率会跌回来;当价差跌到-60时,大概率会涨回去。这就是均值回归。

为什么会这样?因为套利者在干活。价差大了,就有人做空价差(卖期货买现货),把价差压回来;价差小了甚至倒挂,就有人做多价差(买期货卖现货),把价差推上去。说白了,套利者就是价差的“自动稳定器”。

均值回归的量化判断(我常用的指标):
- 计算过去N天的价差均值(比如20天)
- 计算标准差
- 当价差超过均值±2倍标准差时,回归概率很高

我曾经用这个逻辑做过一个铜的期现套利策略。价差跑到+300以上时开空,回到均值附近平仓。一年下来,胜率大概在75%左右。嗯,虽然单笔赚得不多,但胜在稳定。

2. 趋势性——价差也会“跑远”

但价差并不总是回归。有时候它会走出趋势,一去不回头。比如2016年供给侧改革,螺纹钢现货暴涨,期货跟涨但跟不上,价差从正50一路跌到负200,而且持续了几个月。如果你按均值回归的思路去抄底,那可就惨了。

趋势性通常由结构性变化引起:

  • 政策突变(比如限产、关税调整)
  • 供需格局改变(比如新产能投产、矿山停产)
  • 市场规则变化(比如交割标准修改)
避坑指南: 我曾经在2018年做豆粕期现套利,价差从+50一路跌到-80,我以为均值回归了,重仓做多价差。结果中美贸易战升级,价差直接跌到-200。那次回撤让我明白:均值回归策略一定要设止损,而且要关注基本面变化

如何区分均值回归与趋势性?——一个实用的框架

你可能会问:“那我怎么知道当前价差是回归还是趋势?” 嗯,我个人的做法是看三个维度:

维度 均值回归特征 趋势性特征
价差波动范围 在历史区间内震荡 突破历史极值,且不回撤
基本面驱动 无重大事件,供需平衡 有政策、供需等结构性变化
回归速度 价差偏离后快速回归(几天内) 价差偏离后持续不回归(几周甚至几个月)

说白了,均值回归是常态,趋势性是例外。但做套利的人,最怕的就是把例外当常态。我建议你每次开仓前,先问自己一句:“这次的基本面有没有变化?” 如果答案是没有,那可以放心做回归;如果答案是“可能有”,那就要小心了。

价差分析的核心逻辑——一张图说清楚

下面这张图是我自己总结的价差分析框架,你一看就明白:

价差分析核心逻辑框架 价差 = 期货 - 现货 形成原因 持仓成本(仓储+资金+保险) 供需错配(现货紧缺/过剩) 市场情绪与流动性 统计特征 均值回归(常态,震荡区间) 趋势性(例外,结构性变化) 分析方法 均值±2倍标准差判断 基本面变化跟踪 历史极值突破监控 核心:回归是常态,趋势是例外,基本面定方向

这张图把价差分析的三个核心维度串起来了。你从中间开始,往左看形成原因,往右看统计特征,往下看分析方法。说白了,知道价差为什么动,才知道它要怎么动

一个简单的价差分析代码示例

最后,给你一个我平时用的Python代码片段。它计算价差的均值、标准差,并判断当前价差是否处于回归区间:

import pandas as pd
import numpy as np

# 假设df包含两列:'futures'和'spot'
df['spread'] = df['futures'] - df['spot']

# 计算20日均值和标准差
df['mean_20'] = df['spread'].rolling(20).mean()
df['std_20'] = df['spread'].rolling(20).std()

# 判断是否触发回归信号
df['upper'] = df['mean_20'] + 2 * df['std_20']
df['lower'] = df['mean_20'] - 2 * df['std_20']

# 信号:1表示做空价差(价差过高),-1表示做多价差(价差过低)
df['signal'] = 0
df.loc[df['spread'] > df['upper'], 'signal'] = -1
df.loc[df['spread'] < df['lower'], 'signal'] = 1

print(df[['spread', 'mean_20', 'upper', 'lower', 'signal']].tail(10))
我的建议: 这个代码只是入门。实际交易中,我还会加入成交量过滤、基本面事件过滤等。别一上来就全自动交易,先手工跑几个月,感受一下价差的“脾气”。

好了,价差分析入门就讲到这里。记住三个关键词:定义、原因、统计特征。把这三点吃透了,后面的套利策略才能站得住脚。

专注资料整理