期货量化订不到行情:天勤合约代码与交易所符号写法

前言

策略逻辑没问题,get_quote 却一直 nan,我排查时十有八九是合约代码写错:交易所前缀大小写、郑商所三位年月、新交易所 GFEX 符号不熟。天勤 TqSdk 要求合约带交易所代码,格式为 交易所.合约,写错不会给友好提示,只是没有行情。

下面整理国内期货常见写法、易错点和验证方法,并说明和 get_kline_serialinsert_order 要用同一字符串。代码示例用活跃品种示意,你换成自己交易的合约即可。

一、基本格式:交易所.合约

统一形式:

text 复制代码
SHFE.rb2510
DCE.i2509
CZCE.MA509
CFFEX.IF2506
INE.sc2510
GFEX.si2508

第一段的交易所 CODE 必须与官方一致,通常全大写。第二段合约代码规则因交易所而异,郑商所品种代码常全大写、年月三位,上期所、大商所多为小写品种加四位年月。

二、各所易错点

交易所 前缀 常见错误
上海 SHFE SHFE 写成 shfe;品种大小写写反
大连 DCE DCE 数字年月位数错
郑州 CZCE CZCE 用四位年月;品种未大写
中金 CFFEX CFFEX 股指期货月份搞错
能源 INE INE 与 SHFE 混淆
广期 GFEX GFEX 新所符号不熟

郑商所示例:CZCE.MA509 表示甲醇 2025 年 09 月附近合约(具体以交易所挂牌为准),不要写成 CZCE.ma2509 这类四位年月除非文档明确支持。

三、写完后如何立刻验证

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

api = TqApi(TqSim(), auth=TqAuth("账户", "密码"))
symbol = "CZCE.MA509"  # 改成你要测的
q = api.get_quote(symbol)
for _ in range(30):
    api.wait_update()
    if q.last_price == q.last_price:  # 非 nan
        print("订阅成功", symbol, q.last_price)
        break
else:
    print("仍无有效价,检查代码", symbol)
api.close()

也可在快期客户端查「合约代码」字段,复制到脚本,比手打少错。

四、K 线、下单必须用同一 symbol

get_kline_serial(symbol, ...)get_position(symbol)insert_order 的第一个参数,都应与 get_quote 完全一致。换月时只改一处常量或配置文件,避免行情订 A、下单 B。

主力连续、指数合约另有 KQ.m@KQ.i@ 前缀规则,研究链与交易链要分开;实盘下单一般仍用具体月份合约。

五、组合合约与特殊代码

跨期 SPSPD 等组合合约代码更长,订阅前在客户端确认完整字符串。写错时同样无行情,排查方式与单合约相同。

总结

订不到行情,先怀疑合约代码而不是怀疑策略。天勤按完整 交易所.合约 订阅,大小写和年月位数都要与交易所挂牌一致。

建议维护一份「当前交易合约表」CSV,脚本只读表内代码;换月时改表、先跑最小连通脚本,再跑策略。

FAQ

1)主连代码怎么写?

研究可用 KQ.m@ 主连;实盘执行用具体月份。

2)大小写不敏感吗?

敏感,以官方及客户端显示为准。

3)股票期权能用同样格式吗?

期权有独立代码规则,见官方期权交易文档。

4)回测里 symbol 和实盘不一致?

回测结果无法对照,应统一命名。

风险提示

本文用于合约代码技术说明,不构成投资建议。挂牌合约以交易所公告为准。

相关推荐
机汇五金_1 小时前
LED灯箱架的主要材质有哪些?各有什么特点?
python·材质
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月3日
大数据·人工智能·python·信息可视化·自然语言处理
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 13 - 16)
c语言·开发语言·网络·笔记·python·编辑器
E_ICEBLUE1 小时前
Python 办公自动化:如何轻松调整 Word/PDF 页面大小为 Legal 尺寸
python·pdf·word
战斗强1 小时前
RTX 5090 Grounded-SAM-2 实时 RTSP 跟踪部署指南
python·conda
Wonderful U1 小时前
Python+Django实战 | 智能图书管理系统:从传统人工到全自动数字化管理
python·信息可视化·django
耶夫斯计1 小时前
【xy_healthy_assistant:LLM+Mem0 +skills个性化助手开发手记】
人工智能·python·健康医疗
csdn_aspnet1 小时前
Python 霍尔分区算法(Hoare‘s Partition Algorithm)
开发语言·python·算法
❀͜͡傀儡师1 小时前
告别脚手架:用 JBang 打通 Java、Kotlin、Python 的脚本化开发
java·python·kotlin·jbang