期货合约移仓换月:到期、换月周与连续图表详解
期货到期与移仓换月如何运作:H、M、U、Z 季度周期、换月周、成交量迁移、NQ1! 等连续合约图表与具体合约的区别,以及自动化警报为何必须指向正确的合约。
股票可以持有多年,而每份期货合约都有到期日。想要留在市场里的交易者,必须从即将到期的合约转到下一个合约;即便是纯粹的日内交易者,也需要知道自己交易的是哪个合约。本文解释这个周期如何运作、换月周会发生什么,以及为什么在警报自动化的情况下这一点尤其关键。
合约为什么会到期
期货合约是针对特定日期的协议。到了那一天,合约就会结算:实物交割合约中资产易手,而 ES 和 NQ 等股指合约则按最终结算价进行现金结算。到期之后,这份合约就不复存在了。
所以在任何时刻,都有多个合约月份同时交易,每个都有自己的价格。它们之间的差价主要反映了到期前的利率和预期股息,这就是为什么不同月份的价格并不相同。关于合约结构的一般背景,见期货合约入门。
季度周期:H、M、U、Z
ES、NQ、MES 和 MNQ 等 CME Group 股指期货每年有四个合约月份,每个月份对应一个字母代码:
| 代码 | 月份 |
|---|---|
| H | 3 月 |
| M | 6 月 |
| U | 9 月 |
| Z | 12 月 |
完整的合约代码由产品代码、月份代码和年份数字组成,视平台而定有时是两位年份。例如,NQZ6 是 2026 年 12 月的 Nasdaq-100 合约。股指期货通常在合约月份的第三个星期五到期,但确切日期以交易所日历为准,务必到那里核实。
原油、黄金或外汇等其他产品遵循不同的周期,有时是按月的。不要以为股指的周期适用于所有合约。
换月周与成交量迁移
大多数交易者不会等到到期日。提前几天,通常大约一周,流动性就开始从近月合约转移到下一个合约。这段时间常被称为换月周(roll week)。
实际发生的情况:
- 下一个合约的成交量和持仓量逐步上升。
- 到某个时点,下一个合约的流动性超过旧合约,从此成为新的主力合约。
- 旧合约中剩下的流动性减少,价差可能扩大,滑点可能增加。
- 临近到期时,仍持有旧合约的人会按最终结算价结算。
大多数日内交易者会在换月周开始时,或在新合约成交量超过旧合约后切换到新合约。经纪商和平台通常会公布建议的换月日期。
连续图表与具体合约
TradingView 等平台提供两种代码:
- 具体合约 - 例如 NQZ6。图表只显示该合约的历史,并在到期时结束。
- 连续图表 - 例如 TradingView 上的 NQ1!。这是一个计算出来的代码,按顺序把各个合约拼接起来,在换月时自动切换到下一个合约,从而形成一段长而连续的历史。
连续图表显然便于技术分析和回测,但也有局限。在合约切换处,可能会出现一个价格跳空,它反映的是不同月份之间的价差,而不是真实的市场波动。有些平台允许你选择是否对历史数据进行回溯调整以消除跳空,而这一选择会改变历史价位。在根据旧价位得出结论之前,先弄清楚你看的是哪种图表。
记住:你无法在连续图表上下单。最终到达经纪商的指令必须指向一个具体合约。
为什么自动化警报必须指向正确的合约
到这里,移仓换月就不再是理论问题,而是实际问题了。当策略或指标通过 webhook 发送警报时,这个警报最终必须变成某个具体合约上的订单。一些常见陷阱:
- 基于已到期合约设置的警报 - 如果警报设在某个具体合约上而没有更新,它可能不再触发,或者被路由到流动性很差的合约。
- 连续图表的跳空 - 在连续图表上运行的指标,可能把合约切换误读为一次“行情”,从而发出错误信号。
- 图表与账户不匹配 - 警报来自 NQ1! 图表,但订单必须发往 NQZ6 或新合约。必须有人或有系统正确完成这一转换。
- 换月期间的未平仓头寸 - 如果头寸是在旧合约中开立的,离场也必须在同一合约中进行,否则你最终会持有两个独立的头寸。
webhook 警报的基础知识见 TradingView webhook 自动化。
换月周检查清单
- 在交易所日历中核实到期日和惯常的换月日期。
- 切换前确认你的未平仓头寸在哪个合约中。
- 更新设在具体合约上的警报,或确认你的系统能把连续代码转换为正确的合约。
- 查看切换前后的图表,留意异常跳空。
- 注意旧合约中的低流动性时段,详见期货交易时段。
- 换月后在模拟环境中检查一遍,确认订单发往新合约。
要点总结
- 每份期货合约都有到期日;股指期货按季度周期:H、M、U、Z。
- 流动性通常在到期前约一周、即换月周期间转移到下一个合约。
- NQ1! 这样的连续图表便于分析,但订单始终在具体合约上执行。
- 合约切换可能在图表上造成跳空,并影响指标。
- 自动化警报必须指向正确的合约,并应在每次换月时检查。
WeCore 接收 TradingView 警报并将其传递到你自己的经纪商或自营公司账户,而这恰恰是值得确认订单中的合约就是你想交易的那个合约的地方。建议在每次换月前后先在模拟模式下检查运行情况,再继续在实盘账户上交易。