合约规格、主力月与到期规则
一张涵盖 53 个 CME、CBOT、NYMEX 和 COMEX 期货品种的表格,给出每个根代码的 tick size、乘数、每跳价值、有效交割月和到期规则。应用据此计算主力合约、在移仓窗口期间保留即将到期的合约,并在打开时刷新已到期的已保存代码。
Senzoukria · 文档 · 更新于 2026 年 9 月
位置
- 位置
- 合约选择器(Rithmic):每个根代码的主力月,以及移仓窗口开启期间即将到期的合约;SIM 交易盈亏;自动回测的“点值($)”
- 移仓缓冲
- 第三个星期五到期的合约(股指)为最后交易日前 8 天,其他所有规则为 4 天
- 代码格式
- 根代码 + 月份代码 + 年份末位,例如 MNQZ6;月份代码为 F G H J K M N Q U V X Z
- 未知根代码
- 回退为 tick 0.25、乘数 1、第三个星期五规则、无有效月份
它做什么
每份规格包含根代码、名称、类别(股指、利率、外汇、金属、能源、谷物、畜产品、加密货币)、交易所、tick size、乘数、每跳价值(= tick size × 乘数)、有效月份和一条到期规则。例如:ES 0.25 × 50 = 12.50 美元,MNQ 0.25 × 2 = 0.50 美元,CL 0.01 × 1,000 = 10 美元,GC 0.1 × 100 = 10 美元,ZN 0.015625 × 1,000 = 15.625 美元,6E 0.00005 × 125,000 = 6.25 美元,MBT 5 × 0.1 = 0.50 美元。
主力月是第一个满足“最后交易日减去移仓缓冲仍在将来”的有效交割月,最多向前扫描 36 个月。在缓冲期内,上一份合约仍留在列表中,带着它的合约月标签和一个“exp DD/MM”徽标,悬停提示为“最后交易日 {date}”;它会在该日期的次日从列表中消失。模拟盈亏为(价格差)× 乘数 × 数量。
当一个已保存的代码(足迹图上的最后代码、热力图偏好、预检探测代码、日志跳转回放的链接)已经越过其最后交易日时,refreshIfExpired 会把它替换为同一根代码的当前主力月。年份数字按最接近的十年解析,因此 2026 年读到的 6 表示 2026 年,而不是 2036 年。
到期规则
| 规则 | 合约 | 计算出的日期 |
|---|---|---|
| third-friday | ES、MES、NQ、MNQ、RTY、M2K、YM、MYM | 交割月的第三个星期五;移仓缓冲 8 天 |
| fx-third-wednesday | 6E、6B、6J、6A、6C、6S、6N、M6E、M6B | 第三个星期三之前的两个工作日 |
| treasury-first-notice | ZB、UB、TN、ZN、ZF、ZT | 交割月前一个月的最后一个工作日(第一通知日,早于官方最后交易日) |
| crude-25th | CL、MCL、QM | 交割月前一个月 25 日之前的三个工作日(25 日先回退到工作日) |
| natgas-month-start | NG、MNG | 交割月第一天之前的三个工作日 |
| refined-month-end | RB、HO | 交割月前一个月的最后一个工作日 |
| brent-2m | BZ | 交割月前两个月的最后一个工作日 |
| comex-metal | GC、MGC、SI、SIL、HG、MHG、PL、PA | 交割月前一个月最后一个工作日之前的两个工作日(第一通知日移仓,早于官方最后交易日) |
| grain-15th | ZC、ZS、ZW、ZL、ZM、ZO、ZR | 交割月 15 日之前的那个工作日 |
| cattle-month-end / hogs-10th-bd / feeder-last-thursday | LE / HE / GF | 当月最后一个工作日 / 第 10 个工作日 / 最后一个星期四 |
| crypto-last-friday | BTC、MBT、ETH、MET | 交割月的最后一个星期五 |
如何使用
- 从合约选择器中选择主力月;在移仓窗口期间两份合约都会列出,方便你停留在仍有成交量的那一份上。
- 在自动回测中,“点值($)”默认为 2(MNQ);请把它设为你所测试合约的乘数(ES 50、NQ 20、CL 1,000)。
- 诸如“2026 年 12 月”这样的合约月标签来自与代码相同的计算;若某个标签看起来不对,应当检查该根代码的有效月份或规则。
局限与陷阱
- 到期规则用工作日算术近似交易所日历;交易所节假日未被建模,因此在节假日前后计算出的日期可能相差一天。对利率和 COMEX 金属,该日期被有意设为第一通知日移仓日,它早于官方最后交易日:过了第一通知日,金属合约即可交割,流动性会骤降。
- 移仓缓冲是一个显示选择(8 天或 4 天),而不是成交量移仓;切换前请先核对实际成交量。
- 表中缺失的根代码会得到通用默认值(tick 0.25、乘数 1);在补上规格之前,盈亏和点值都是错的。
- 合约细节用于模拟和显示;经纪商端的合约定义和保证金并不从这里读取。
相关页面
其他语言版本
常见问题
- 为什么三月份选择器里会显示两份 ES 合约?
- 从第三个星期五之前 8 天起直到那个星期五本身,即将到期的合约会与新的主力月并列保留,并带有“exp DD/MM”徽标。它会在最后交易日的次日消失。
- 我的最后使用代码到期后会怎样?
- 下次打开时,它会被替换为同一根代码的当前主力月并重新保存;预检探测代码和日志跳转回放的链接同样如此。
- 回测中的点值来自哪里?
- 它是一个由你设定的字段,默认为 MNQ 的 2;合约表给出了其他根代码应当填入的乘数。