期货量化主连和具体合约怎么切:天勤 KQ.m 与 KQ.i 用法

前言

做趋势回测时我用主连很顺手,上模拟却忘了换成具体月份,持仓和信号对不上,收益曲线完全两回事。天勤 TqSdk 里主力连续 KQ.m@、指数 KQ.i@ 与具体 SHFE.rb2510 并存,研究链和交易链要分清。

下面说明主连/指数在行情里的角色、回测与实盘如何映射、换月时策略要注意什么。合约代码写法、移仓执行流程宜分开对照,一起看更完整。

一、主连、指数、具体合约各干什么

类型 符号形态(示意) 典型用途
主力连续 KQ.m@ 如 KQ.m@SHFE.rb 长历史回测、信号研究
指数 KQ.i@ 如 KQ.i@SHFE.rb 平滑价格、指标研究
具体合约 SHFE.rb2510 模拟、实盘下单

主连把历史主力拼接,方便看长期趋势,但成交价不是历史上每一刻真实可成交的单一合约价。指数类似,更平滑。实盘报单必须落到有流动性的具体合约。

二、研究用主连、执行用具体月

常见分工:

  1. KQ.m@ 上算信号(均线、突破等)
  2. 信号触发时,查当前主力对应的具体合约(通过 quote 的 underlying_symbol 等字段,以文档为准)
  3. insert_orderTargetPosTask 只对具体合约操作

若全程只订主连、又对主连下单,模拟成交规则可能与真实交易差异很大。

python 复制代码
from tqsdk import TqApi, TqAuth, TqSim

api = TqApi(TqSim(), auth=TqAuth("账户", "密码"))
cont = "KQ.m@SHFE.rb"
q_cont = api.get_quote(cont)
api.wait_update()
# 具体交易合约以 quote 字段为准,下例名需按 wait_update 后实际值替换
trade_sym = q_cont.underlying_symbol
q_trade = api.get_quote(trade_sym)

不同版本字段名可能为 underlying_symbol 或文档中的其它名,以你打印 q_cont 对象为准。

三、回测与实盘收益对不上的常见原因

  • 回测全程主连,实盘交易 2505 却仍在看 2501 的行情
  • 换月日主力切换,信号仍用旧合约持仓
  • 手续费、滑点按主连手数算,实际开在远月

对策:回测末期用具体合约复跑一段;或回测里就用「主力映射表」记录每日交易合约(工作量大,但更贴近实盘)。

四、换月检测思路

工程上可每日比较 underlying_symbol 是否变化,变化时触发移仓逻辑(平仓旧月、开新月),移仓顺序要单独写进策略。不要假设主连 symbol 不变就不用管换月。

五、和 get_kline_serial 一起用

get_kline_serial("KQ.m@SHFE.rb", 60) 做信号,get_kline_serial(trade_sym, 60) 做执行层价格参考时,要保证时间戳对齐意识:两根 K 线来自不同合约序列,合并信号要谨慎。

入门可先「信号与交易同一具体合约」,主连只用于离线研究,减少阶段混用。

总结

主连和指数适合研究与回测连续性,具体合约适合模拟和实盘。天勤同时支持几类符号,选型关键是链条上哪一段用哪类 code,并在换月时有显式处理。

建议团队写进规范:回测默认用什么、模拟改什么、换月谁负责改配置,避免每人一套习惯导致收益无法复现。

FAQ

1)能否只对主连做 TargetPosTask?

不建议作为实盘方案;模拟规则也可能与具体合约不一致。

2)指数和主连选哪个?

趋势信号常用主连;需要更平滑曲线可看指数。

3)foreign 品种呢?

以 TqSdk 当前支持列表为准。

4)回测主连后如何找对应实盘月?

用主力 quote 的映射字段,或维护换月日历表。

风险提示

本文用于合约与数据使用技术说明,不构成投资建议。

相关推荐
小白学大数据1 天前
把 Modbus 轮询塞进 Trio 的异步循环:内存映射与定时采集实战
网络·python·搜索引擎
FriendshipT1 天前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu
天天爱吃肉82181 天前
# 商用车多体动力学实战笔记|第7篇:制动系统与制动热衰退、ABS滞环控制
大数据·人工智能·笔记·python·嵌入式硬件·汽车
bamb001 天前
一个项目带你入门AI应用开发08
python
鸿芯微控科技1 天前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc
大尚来也1 天前
用 Python 自动整理文件、重命名、分类电脑文件夹
开发语言·python
极序时代GEO品牌优化1 天前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
qq_22589174661 天前
基于Python的外卖订单数据分析可视化系统
python·信息可视化·django
MC皮蛋侠客1 天前
SQLAlchemy 系列(三):声明式映射与 Schema——让类型、默认值和约束一致
数据库·python
会博通·代码搬运工1 天前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规