跨期套利基础:什么是跨期套利、价差原理、核心逻辑与盈利模式
各位同学,咱们今天聊聊跨期套利。说实话,这玩意儿是我入行高频交易后接触的第一个真正意义上的「策略」。记得我刚入行那会儿,带我的老工程师丢给我一句话:「价差就是市场的呼吸,你学会听呼吸了,钱自然就来了。」当时觉得玄乎,后来做了几年才明白——这话一点不假。
什么是跨期套利?
跨期套利,说白了就是同一品种、不同到期月份合约之间的价差交易。你买一个月的合约,同时卖另一个月的合约,赚的是两个合约价格之间的「差值」,而不是单边涨跌。
举个例子:螺纹钢期货,RB2305和RB2310。5月合约是近月,10月合约是远月。正常情况下,远月比近月贵一点,因为要算持仓成本。但有时候市场情绪一上来,价差会扭曲——比如近月被炒得比远月还贵。这时候,我就进场了。
核心定义:跨期套利 = 同时买入一个月份合约 + 卖出另一个月份合约,赚取价差回归的收益。
价差原理:为什么价差会波动?
价差不是随机波动的。它背后有清晰的逻辑支撑。我个人习惯把价差拆成三部分来看:
- 持有成本——仓储费、资金利息、保险费。这是最基础的价差来源。
- 供需预期——近月缺货,远月到货多,价差就会拉大。
- 市场情绪——这个最玄乎,但也是高频策略的利润来源。情绪导致的价差偏离,往往在几分钟甚至几秒内就会修复。
你想想看,如果价差只反映持有成本,那套利就没得做了。但现实是,市场经常「抽风」。我在项目中遇到过好几次,明明基本面没变化,价差突然跳了十几个点——后来查出来是某个大机构在调仓。这种时候,就是我们的机会。
核心逻辑:价差回归
跨期套利的底层逻辑就四个字:价差回归。
什么意思?价差就像一根被拉长的橡皮筋,拉得越远,弹回来的力量越大。我们的任务就是找到那个「拉过头」的瞬间,然后进场等它弹回来。
我的经验:价差回归不是100%发生的。有时候价差会「不回归」,甚至越走越远。所以止损比止盈更重要。我曾经吃过这个亏,一次没止损,亏了半个月的利润。
具体来说,核心逻辑包含三个步骤:
- 识别价差区间——统计历史价差的均值、标准差,找到「正常范围」。
- 捕捉偏离信号——当价差超出2倍标准差时,触发交易信号。
- 执行回归交易——做空高价差,做多低价差,等待回归。
嗯,这里要注意:回归的时间窗口很关键。高频策略看的是秒级甚至毫秒级的回归,而中低频策略可能看小时级。咱们这门课聚焦高频,所以后面会重点讲如何用订单簿数据捕捉「瞬时回归」。
盈利模式:钱到底怎么赚的?
盈利模式其实很简单,我画个图你就明白了。
看图说话:当价差冲到上界(+2σ)以上时,说明远月被高估了,我就做空价差——卖远月、买近月。等它回落到均值附近,平仓了结。反过来,价差跌到下界(-2σ)以下时,做多价差——买远月、卖近月。
盈利模式就这么简单:低买高卖价差。但难点在于——你怎么知道它「到顶」了?你怎么保证能抢在别人前面进场?这就是后面章节要讲的高频信号处理和订单簿分析。
⚠️ 重要提醒:跨期套利不是无风险套利。价差可能不回归,甚至反向扩大。我见过有人把套利做成「双倍亏损」——两边都亏钱。所以仓位管理和止损纪律,是咱们这堂课贯穿始终的主题。
一个简单的价差计算示例
咱们用Python算个价差,感受一下:
# 假设你有两个合约的 tick 数据
near_price = 3850 # 近月合约价格
far_price = 3890 # 远月合约价格
# 计算价差
spread = far_price - near_price
print(f"当前价差: {spread} 点")
# 假设历史均值是 30,标准差是 10
mean_spread = 30
std_spread = 10
# 判断是否偏离
if spread > mean_spread + 2 * std_spread:
print("价差偏高,考虑做空价差")
elif spread < mean_spread - 2 * std_spread:
print("价差偏低,考虑做多价差")
else:
print("价差在正常范围内,观望")
这段代码虽然简单,但它是所有跨期套利策略的起点。我在实际项目中,会把这里的「均值」和「标准差」换成动态计算的——用滚动窗口,比如过去200笔tick的价差数据。这样能更快地适应市场变化。
小结一下
跨期套利的核心,我总结成三句话:
- 赚的是价差,不是方向。别去猜涨跌,只关心两个合约之间的相对关系。
- 价差会回归,但时间不确定。高频策略就是赌「短期回归」,所以速度是关键。
- 止损比止盈重要。价差不回归的时候,活着比赚钱重要。
好了,这一章的基础概念就讲到这儿。下一章咱们会深入价差的统计特征,聊聊怎么用协整和均值回归模型来建模。嗯,到时候我会分享一个我踩过的坑——关于「伪回归」的,挺有意思。