一、主力合约筛选的目标:让“同一条价格”在时间上连续且可对账
贵金属与能源期货的实时监控,最大的坑不是拿不到报价,而是你以为在看一条连续价格,实际上在不同时间看的是不同合约。主力切换会改变流动性与冲击成本,也会让技术指标与阈值触发发生系统性漂移。主力合约筛选的目标不是找“今天最热的合约”,而是让价格序列连续、切换规则可复现、切换事件可回放。
本文聚焦主力合约筛选与批量报价的工程闭环:筛选规则、换月处理、批量查询、订阅分层与验收对账。
二、先明确你要的口径:单月、主力、还是连续合约
三种口径对应三种用途。单月合约适合精确对账与执行,主力合约适合监控与流动性优先,连续合约适合回测与指标计算。连续合约必须定义展期规则;主力合约必须定义切换规则;单月合约必须定义到期前的换仓窗口。
口径不明确时,你会在监控里看主力,在回测里看连续,实盘里下单单月,三套世界永远对不上。
三、主力合约怎么判:成交量、持仓量与稳定切换阈值
主力判定常用成交量与持仓量,但关键在“稳定切换”:如果你每分钟都可能在两个合约之间切来切去,你的价差、指标与告警会被切换噪声淹没。更稳的做法是引入滞后与阈值:例如新合约的成交量/持仓量持续超过旧合约一段时间或超过比例阈值才切换。
切换规则必须版本化,并把每次切换记录成事件:旧合约、新合约、触发指标、触发时间、以及切换期间的风险处理。
四、换月窗口期的风险:流动性迁移会改变滑点分布
换月期间,流动性会从旧合约迁移到新合约,盘口深度与冲击成本分布会发生跃迁。即使你的策略信号不变,执行结果也可能突然变差。监控系统应把换月窗口期当成风险状态:提高阈值、降低规模、或仅做观察不做交易型触发。
把换月当成状态机的一部分,你才能在关键时刻先保护系统,而不是事后解释滑点。
五、批量报价:少请求、多标的、可降级
贵金属与能源常见需求是同时看 AU/AG 与 CL/NG 等多个品种。批量报价的关键是控制请求数与可预期的降级路径:核心品种高频刷新,长尾品种低频刷新;触发限流时自动降频;数据质量下降时只保留快照与告警,不做高频指标更新。
批量查询不是为了“更实时”,而是为了在成本可控下获得对齐后的快照,避免用不同时刻的报价做比较。
六、时间与时段:夜盘与日盘必须显式处理
期货跨时段交易,夜盘与日盘的活跃度不同,波动结构也不同。你需要把交易时段写成显式逻辑:指标窗口按交易时段还是按自然时间滚动;日线边界按哪个收盘;节假日与半日市如何处理。时段不处理,指标会系统性漂移,主力切换的触发也会被时段噪声干扰。
建议在监控面板里显示 session 状态,并把不同 session 的阈值独立配置。
七、数据质量与对账:主力切换后必须做快照复核
主力筛选与批量报价的底线是对账。建议在切换后做一次快照复核:新合约的报价是否正常、时间戳是否递增、价差是否存在异常跳变、以及与历史序列拼接是否连续。对账失败时应触发降级,避免把坏数据带入策略或告警。
把对账当成上线门槛,比在指标层“修修补补”更可靠。
八、连续合约生成:监控与回测共享同一套切换事件
如果你需要连续合约用于回测或指标计算,建议基于同一份切换事件生成连续序列,而不是回测用另一套规则。连续合约的生成不追求“最漂亮的曲线”,追求“与实盘切换一致、可复现、可解释”。否则回测表现可能只是规则选择的结果。
连续合约一旦生成,切换点必须可回放验证:同一数据重放得到同一切换点。
九、可观测性:监控的不仅是价格,还有切换、延迟与缺口
一个可上线的期货监控系统应至少监控:报价延迟分位数、断线窗口、缺口长度、主力切换次数与切换质量、以及切换前后滑点代理变化。很多风险不是来自价格下跌,而是来自链路与流动性变化。
告警也要分级:链路健康优先于价格告警,切换异常优先于机会提示。
十、最小验收清单:用三张表证明“可复现、可对账、可回放”
主力筛选要交付的不只是一个当前主力代码,而是一套可复现的过程。一个很实用的验收方法是把结果拆成三张表:主力状态表(每个品种当前主力与最近更新时间)、切换事件表(旧合约/新合约/触发指标/触发时间/版本号)、以及质量对账表(切换前后快照差异、异常跳点、缺口长度、对账结论)。上线前用历史数据重放一段换月窗口,要求同一数据在同一版本下得到同一切换点,并且切换后快照复核通过。
当你能用这三张表解释“为什么今天切到了新主力、切换质量是否正常、如果回到昨天会不会得到同样结论”,主力筛选才算真正可用。
另外,建议把每次切换的“风控动作”也记录下来,例如是否暂停触发、是否降频刷新、是否切到观察模式。这样你不仅能复现主力选择,还能复现系统在关键窗口期的行为。
十一、结语:主力合约筛选是期货系统的地基,不是小功能
贵金属与能源期货的实时接入,真正的难点在主力合约筛选与换月治理:规则稳定、事件可追溯、对账可复现、批量报价可降级。把这些做成默认能力,你得到的不只是几条实时价格,而是一条能长期运行、能服务策略与风控的期货数据底座。



