期货量化价差合约怎么订:天勤 SP 组合代码与订阅注意点

前言

做跨期套利、日历价差时,有人订近月、远月两个具体合约自己算 spread,有人直接订交易所的组合合约(代码里常带 SPSPD 等)。我踩过的坑是:组合合约的行情字段、成交规则与单腿不同,却套用单腿策略去 insert_order

天勤 TqSdk 订阅组合合约与单腿一样用 get_quoteget_kline_serial,但代码字符串更长、交易所规则各异。下面说明组合代码从哪查、订阅后看哪些字段、和双腿各自订阅的取舍。

一、组合合约与双腿订阅

方式 优点 注意
直接订组合 SP/SPD 交易所定义的价差一口价 代码长、流动性规则特殊
近月+远月分别订 灵活算 spread、可只交易一腿 两腿同步、滑点分开

研究阶段可双腿算 spread;执行若交易所支持组合单,再评估是否改用组合代码(以文档与期货公司为准)。

二、代码从哪来

组合合约完整字符串应在快期客户端或交易所公告里复制,不要手拼。形态示意(非真实挂牌):

text 复制代码
DCE.SP i2509-i2510

实际前缀、空格、大小写以交易所与 TqSdk 文档为准。订不到行情时,先对照客户端「合约代码」字段,与单腿一样注意 CZCE 大小写。

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

api = TqApi(TqSim(), auth=TqAuth("账户", "密码"))
# symbol 换成你从客户端复制的组合代码
symbol = "DCE.xxx"  # 占位,务必替换
q = api.get_quote(symbol)
while True:
    api.wait_update()
    if api.is_changing(q, "datetime"):
        print(q.last_price, q.bid_price1, q.ask_price1)
        break
api.close()

三、行情字段怎么用

组合 quote 的 last_price 往往表示价差或组合报价,含义与单腿 last 不同。策略里应:

  • 阅读该品种组合合约说明(乘数、最小变动、是否允许单边成交)
  • volume_multiple 等字段前确认对象指向组合而非单腿
  • 日志里标明「组合价」避免与近月价格混淆

双腿 spread 自建时:

python 复制代码
near = api.get_quote("DCE.i2509")
far = api.get_quote("DCE.i2510")
# spread = near.last_price - far.last_price  # 定义要与团队一致

注意两 leg 的 wait_update 后同时读,避免一个旧一个新。

四、下单与 TargetPosTask

若对组合合约下单,一个 TargetPosTask(api, combo_symbol) 管理组合目标仓。若双腿分别交易,通常两个 TargetPosTask,阈值触发时要考虑一腿成交、另一腿失败的残腿风险。

换月时组合代码会变,双腿也要同步换,不能只换近月。

五、性能

组合 + 多腿同时订阅会增加推送量。价差监控可只订组合 quote;要拆腿执行再订单腿。订阅数控制与多品种专题同一原则。

总结

价差交易先要定订阅方式:直接订交易所组合合约(代码常含 SP/SPD,字符串较长),或近远月双腿分别订、自行算 spread。天勤侧 get_quoteget_kline_serial 用法与单腿一致,差异在交易所规则------组合 last_price 往往表示价差或组合价,不能与单腿价格混在同一阈值逻辑里。代码务必从快期客户端复制完整合约名,注意 CZCE 大小写;订不到行情时先对照客户端,不要手拼。

双腿方案要统一 spread 定义(近减远或远减近),并在同一帧 wait_update 后读取两 leg 价格。执行层若用组合单,可用一个 TargetPosTask 管组合 symbol;若分腿交易,两个 task 要处理一腿成交、另一腿失败的残腿风险。换月时组合代码与单腿合约都要同步更新。订阅数增多时注意推送量,监控 spread 可只订组合 quote,拆腿执行再订单腿。

建议模拟盘阶段只订阅、打印 last_price 与买卖盘,确认走势与人工算的 spread 一致,再写档位或阈值;上线前在策略说明里写清「组合价还是双腿价差」,避免复盘时对不上账。

FAQ

1)所有交易所都有 SP 吗?

不是,以挂牌为准。

2)组合能回测吗?

能订就能拉 K 线,撮合规则以回测引擎为准。

3)spread 用 last 还是 mid?

团队统一口径,写进策略说明。

4)组合与指数 KQ.i@ 混淆?

完全不同,勿混用代码。

风险提示

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

相关推荐
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月30日
人工智能·python·信息可视化·自然语言处理·ai编程·灵砚智能
AI玫瑰助手1 小时前
Python函数:global与nonlocal关键字的使用
开发语言·python·信息可视化
2301_764441331 小时前
Factorization Machine(FM模型,因子分解机)
python·算法
绘梨衣5472 小时前
豆包Seed PDF解析企业落地方法论
大数据·python·pdf
MartinYeung52 小时前
[论文学习] 全同态加密下的加密文字比较与子字串搜寻演算法延伸研究
学习·区块链·同态加密
SilentSamsara2 小时前
消息队列集成:Python + Kafka/RabbitMQ 生产实践
服务器·开发语言·分布式·python·kafka·rabbitmq
zkkkkkkkkkkkkk2 小时前
python爬虫模拟拖动滑块缺口验证码
爬虫·python·ddddocr
再玩一会儿看代码2 小时前
Java浅拷贝和深拷贝理解笔记
java·linux·开发语言·笔记·python·学习
love530love2 小时前
【笔记】ComfyUI 源码部署版更新后一键修复:从手动补丁到自动化工作流
运维·人工智能·windows·笔记·python·自动化·comfyui