连续合约

连续合约(continuous contract)是一条合成的价格序列:按照某条移仓规则,把一个个到期月份的期货首尾相接拼起来,好让一张图表或一次回测能够跨越不止一份合约。它是人为构造出来的——移仓日期和任何价格调整都是选择,而这条序列从来没有作为一个可交易的品种存在过。

Senzoukria · 术语表 · 更新于 2026 年 9 月


一条连续序列是怎么拼出来的

每一份期货合约的寿命都很短,所以长历史只能靠把合约一段段接起来得到。决定最终结果的有两个选择。移仓规则决定序列在哪一天从一个到期月份切换到下一个:到期前固定天数、成交量或未平仓量发生交叉的那一天,或者交易所公布的移仓日。调整规则则决定那一天的价格跳空如何处理:原样保留(不调整)、把更早的价格按跳空幅度整体平移(后向调整),或者按比例缩放(比例调整)。

各种调整方式及其效果
调整方式移仓之前的价格适用场景
不调整按实际成交价保留在真实价格上做价位分析;移仓处的跳空依然存在
后向调整按移仓跳空整体平移收益率序列平滑;但历史价格已不再是当时成交的价格
比例调整按移仓比例缩放长周期的百分比收益率

在订单流上的局限

  • 已成交的主动买量、主动卖量、Delta 和盘口深度都归属于具体的某一份合约;连续序列携带的是价格,而不是一条合并后的成交明细。
  • 后向调整后的价格,会把历史价位放到从来没有成交过的地方,因此在这种序列上算出来的裸露 POC 或价值区并不是真实成交过的价位。
  • 两家数据商采用不同的移仓规则,就会为同一个品种生成不同的连续序列,它们的日成交量合计也对不上。

在 Senzoukria 中

回测页面的 Databento 导入会针对一个合约根代码、从一个文件里构建它自己的序列:正如导入提示所写,丢弃价差合约、逐分钟保留占优合约、剔除移仓日。结果会报告一共拼接了多少份合约。这些导入进来的K线不带 Delta、也不带价位明细,所以没法在它们上面检验足迹图规则——那需要真实记录下来的成交。实盘图表和回放始终工作在一个有名有姓的合约上,绝不会工作在连续序列上。

常见误区

  • 拿连续序列的成交量去和单个合约月份作比较。
  • 在后向调整的价格上跑基于价位的测试,还把那些价位当成真的成交过。
  • 忘了把移仓规则和调整规则随回测一起记录下来,结果谁也没法复现。

其他语言版本

常见问题

连续合约能拿来交易吗?
不能。它是为了作图和研究,用好几份合约拼出来的一条序列。下单只能下在某一个具体的到期月份上,通常是近月。一套在连续序列上开发出来的策略要上实盘,必须把它的执行映射到真实合约上,并把移仓明确地处理掉。
能在连续合约上画足迹图吗?
只能在单份合约覆盖的那一段之内。足迹图按价格把某个品种已成交的主动买量与主动卖量分组,而这些成交是逐合约记录的。连续序列可以把K线接起来,但移仓两侧的 Delta 与价位成交量来自不同的订单簿、也落在不同的价格水平上。

继续阅读