第二章 合约选择:主力合约与次主力合约的识别与切换
做跨期套利,第一步不是写策略,而是选合约。
很多人一上来就盯着价差图看,结果发现流动性不够,滑点吃掉利润。我早期就吃过这个亏——选了个持仓量很小的合约,挂单半天没人理,平仓时直接被打穿。嗯,从那以后,我养成了一个习惯:先看合约,再看价差。
2.1 什么是主力合约?什么是次主力合约?
说白了,主力合约就是当前市场上成交量最大、持仓量最大的那个合约。次主力合约就是排第二的那个。
你想想看,期货市场每个品种都有多个到期月份。比如螺纹钢,有RB2401、RB2405、RB2410等等。但真正活跃的,通常只有一两个。
核心判断标准:
- 成交量:日成交量最大的合约,通常是主力
- 持仓量:持仓量最大的合约,也是主力
- 两者结合:成交量和持仓量都排第一的,铁定是主力
我个人习惯用持仓量作为第一指标。为什么?因为成交量可能被刷单放大,但持仓量是实打实的资金沉淀。我在项目中遇到过几次,某个合约成交量突然暴增,但持仓量没跟上,结果第二天就萎了。
2.2 主力合约的识别方法
识别主力合约,其实就三步。我教你一个最实用的方法:
- 打开行情软件,找到品种的合约列表
- 按持仓量排序,从大到小排
- 取前两个,第一个是主力,第二个是次主力
代码实现也很简单。我平时用Python写数据抓取,直接调交易所API就行。给你看个例子:
import pandas as pd
import tushare as ts
# 获取螺纹钢所有合约的持仓量
symbol = 'RB'
contracts = ts.get_future_contracts(symbol)
# 按持仓量排序
contracts_sorted = contracts.sort_values('hold', ascending=False)
# 取主力与次主力
main_contract = contracts_sorted.iloc[0]['code']
sub_contract = contracts_sorted.iloc[1]['code']
print(f"主力合约: {main_contract}")
print(f"次主力合约: {sub_contract}")
小技巧:有些品种的主力合约切换有规律。比如螺纹钢,通常是1月、5月、10月轮换。你可以提前一周开始监控持仓量变化,别等到切换当天才动手。
2.3 主力合约的切换规律
主力合约不是一成不变的。它会随着交割月的临近,逐渐切换到下一个合约。这个切换过程,我把它分为三个阶段:
| 阶段 | 时间窗口 | 特征 |
|---|---|---|
| 初期 | 交割月前2-3个月 | 次主力持仓量开始上升,但主力仍占主导 |
| 中期 | 交割月前1-2个月 | 次主力持仓量快速增加,两者差距缩小 |
| 末期 | 交割月前1个月 | 次主力反超,成为新主力 |
为什么会这样?因为临近交割,散户和机构都要移仓。你想想看,谁愿意拿着合约去交割?大部分人都是投机,所以提前跑路是常态。
我曾经在铁矿石上踩过坑。当时主力合约是I2401,我做了个跨期套利,持仓到12月中旬。结果发现流动性急剧下降,价差波动剧烈。后来一查,原来主力已经切换到I2405了。从那以后,我给自己定了个规矩:交割月前45天,必须检查主力合约是否切换。
2.4 切换过程中的交易策略
主力合约切换期间,价差会变得很不稳定。这时候做套利,风险大,但机会也多。我总结了几条经验:
- 不要在新老主力交替时开新仓——价差容易被操纵
- 如果已经持仓,逐步移仓——别一次性全平,分3-5天慢慢移
- 关注持仓量变化率——如果次主力持仓量连续3天增长超过10%,说明切换加速了
避坑指南:我曾经在甲醇上吃过亏。当时主力合约切换,我按照老习惯用价差回归策略,结果连续止损。后来复盘发现,切换期间的价差波动根本不是均值回归,而是趋势性的。所以,切换期间最好用趋势策略,别用回归策略。
2.5 实战中的合约选择流程
好了,说了这么多,我直接给你一个可执行的流程。每次做跨期套利前,按这个步骤走一遍:
- 确定品种——比如螺纹钢、铁矿石、甲醇
- 获取所有合约——用API或手动查
- 按持仓量排序——取前两个
- 检查是否在切换期——如果是,调整策略
- 确认流动性——看最近5天的日均成交量,低于1万手的别碰
- 开仓——用主力与次主力做价差
这个流程我用了好几年,基本没出过大问题。你刚开始做的时候,可以先用模拟盘跑一遍,熟悉了再上实盘。
2.6 知识体系框架图
下面这张图,是我自己画的合约选择逻辑。你看一眼,基本就全明白了:
这张图把整个流程串起来了。你从品种开始,一路走到策略选择,每一步都很清晰。我个人建议你把这张图打印出来,贴在工位上,每次做策略前看一眼。
最后说一句:合约选择是跨期套利的地基。地基没打好,后面再漂亮的策略也是空中楼阁。我见过太多人在这上面栽跟头,希望你别重蹈覆辙。