期货量化价差合约怎么订:天勤 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@ 混淆?

完全不同,勿混用代码。

风险提示

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

相关推荐
临沂GEO2 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白2 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
荷蒲3 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
数据狐(Datafox)5 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机5 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6926 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy6 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽7 小时前
真实即粗糙,光滑是伪造
人工智能·python
一次旅行7 小时前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python
泡干脆面就番茄7 小时前
NumPy 科学计算完全指南:从数组创建到广播机制
python·numpy