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

前言

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

下面整理国内期货常见写法、易错点和验证方法,并说明和 get_kline_serial、insert_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@ 前缀规则,研究链与交易链要分开;实盘下单一般仍用具体月份合约。

五、组合合约与特殊代码

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

总结

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

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

FAQ

1)主连代码怎么写?

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

2)大小写不敏感吗?

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

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

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

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

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

风险提示

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

相关推荐
微三云马玮均—GEO源码系统 私有化部署19 小时前
消费返物业费:消费+服务趋势的必然产物!
大数据·人工智能·物联网·区块链·生活
言乐619 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
55873 生态系统20 小时前
第 22 篇|社区聊天|55873 文明共建者的日常交流与协作界面
人工智能·区块链·55873全域文明生态体系·55873操作系统·55873社区聊天
言乐620 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
yl453021 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
笨笨饿21 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
for_ever_love__1 天前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
打工仔折腾 AI1 天前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
I Am a robert girl1 天前
当传感器学会“说谎“:拆解可靠性门控的稀疏惯性动捕融合
python·姿态估计·传感器融合·惯性动捕·imu传感器·可靠性门控·可穿戴计算
李航19831 天前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程