连续合约
连续合约(continuous contract)是一条合成的价格序列:按照某条移仓规则,把一个个到期月份的期货首尾相接拼起来,好让一张图表或一次回测能够跨越不止一份合约。它是人为构造出来的——移仓日期和任何价格调整都是选择,而这条序列从来没有作为一个可交易的品种存在过。
Senzoukria · 术语表 · 更新于 2026 年 9 月
一条连续序列是怎么拼出来的
每一份期货合约的寿命都很短,所以长历史只能靠把合约一段段接起来得到。决定最终结果的有两个选择。移仓规则决定序列在哪一天从一个到期月份切换到下一个:到期前固定天数、成交量或未平仓量发生交叉的那一天,或者交易所公布的移仓日。调整规则则决定那一天的价格跳空如何处理:原样保留(不调整)、把更早的价格按跳空幅度整体平移(后向调整),或者按比例缩放(比例调整)。
| 调整方式 | 移仓之前的价格 | 适用场景 |
|---|---|---|
| 不调整 | 按实际成交价保留 | 在真实价格上做价位分析;移仓处的跳空依然存在 |
| 后向调整 | 按移仓跳空整体平移 | 收益率序列平滑;但历史价格已不再是当时成交的价格 |
| 比例调整 | 按移仓比例缩放 | 长周期的百分比收益率 |
在订单流上的局限
- 已成交的主动买量、主动卖量、Delta 和盘口深度都归属于具体的某一份合约;连续序列携带的是价格,而不是一条合并后的成交明细。
- 后向调整后的价格,会把历史价位放到从来没有成交过的地方,因此在这种序列上算出来的裸露 POC 或价值区并不是真实成交过的价位。
- 两家数据商采用不同的移仓规则,就会为同一个品种生成不同的连续序列,它们的日成交量合计也对不上。
在 Senzoukria 中
回测页面的 Databento 导入会针对一个合约根代码、从一个文件里构建它自己的序列:正如导入提示所写,丢弃价差合约、逐分钟保留占优合约、剔除移仓日。结果会报告一共拼接了多少份合约。这些导入进来的K线不带 Delta、也不带价位明细,所以没法在它们上面检验足迹图规则——那需要真实记录下来的成交。实盘图表和回放始终工作在一个有名有姓的合约上,绝不会工作在连续序列上。
常见误区
- 拿连续序列的成交量去和单个合约月份作比较。
- 在后向调整的价格上跑基于价位的测试,还把那些价位当成真的成交过。
- 忘了把移仓规则和调整规则随回测一起记录下来,结果谁也没法复现。
相关内容
其他语言版本
常见问题
- 连续合约能拿来交易吗?
- 不能。它是为了作图和研究,用好几份合约拼出来的一条序列。下单只能下在某一个具体的到期月份上,通常是近月。一套在连续序列上开发出来的策略要上实盘,必须把它的执行映射到真实合约上,并把移仓明确地处理掉。
- 能在连续合约上画足迹图吗?
- 只能在单份合约覆盖的那一段之内。足迹图按价格把某个品种已成交的主动买量与主动卖量分组,而这些成交是逐合约记录的。连续序列可以把K线接起来,但移仓两侧的 Delta 与价位成交量来自不同的订单簿、也落在不同的价格水平上。