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

前言

策略逻辑没问题,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 和实盘不一致?

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

风险提示

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

相关推荐
Sakura_j_h_9 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
supabc12310 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi10 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent
ZhengEnCi11 小时前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
python·llm·agent
镜子AI12 小时前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft
小oo呆13 小时前
【学习心得】Python协程
python
信誓旦旦的程序猿13 小时前
【Python量化实战宝典 #22】涨跌停、连板情绪手册:情绪指标构建(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
gCode Teacher 格码致知13 小时前
Pandas教学-21:subplots的使用
python·pandas·1024程序员节
2601_9679801113 小时前
Python开发的顶级开源项目全景图:2025-2026年生态概览
python·机器学习·开源项目·数据科学·生态概览
benchmark_cc14 小时前
量化开发中,什么时候应该停止手动下载股票数据?
python·数据分析·pandas·量化交易·1024程序员节·股票数据·quantdash