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

前言

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

天勤 TqSdk 订阅组合合约与单腿一样用 get_quote、get_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_quote、get_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@ 混淆?

完全不同,勿混用代码。

风险提示

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

相关推荐
怕浪猫12 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁0112 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记12 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i12 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_9628857213 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
北冥有鱼被烹13 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
caoerzhong14 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律14 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas
databook14 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
北冥有鱼被烹17 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python