网站建设规划书东莞网站建设公司

南京蓝光文化传媒有限公司 2026/09/09 18:07:05

一、前言

在实际量化交易中,我们经常需要同时监控多个期货合约。比如:

本文将介绍如何使用**天勤量化(TqSdk)**同时订阅多个期货合约数据。

二、为什么选择天勤量化(TqSdk)

在众多期货量化工具中,**天勤量化(TqSdk)**是目前国内最受欢迎的开源期货量化框架之一。本文使用TqSdk获取多合约数据,主要基于以下优势:

特点说明
完全免费开源免费,无需付费即可获取实时行情
多合约支持可同时订阅多个合约,数据统一管理
数据同步支持多合约数据对比、价差计算
上手简单几行Python代码即可实现多合约监控
套利友好非常适合开发跨品种、跨期套利策略

安装方法

pipinstalltqsdk

快期账户:使用TqSdk需要注册快期账户(免费),访问 https://www.shinnytech.com 注册。

三、同时订阅多合约(完整代码)

2.1 基础示例

#!/usr/bin/env python# -*- coding: utf-8 -*-""" 功能:同时订阅多个期货合约 说明:本代码仅供学习参考 """fromtqsdkimportTqApi,TqAuth# 创建API实例api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 同时订阅多个合约的行情quote_rb=api.get_quote("SHFE.rb2501")# 螺纹钢quote_hc=api.get_quote("SHFE.hc2501")# 热卷quote_i=api.get_quote("DCE.i2501")# 铁矿石# 等待数据就绪api.wait_update()# 打印各合约最新价格print("="*50)print("多合约行情数据")print("="*50)print(f"螺纹钢(rb2501):{quote_rb.last_price}")print(f"热卷(hc2501):{quote_hc.last_price}")print(f"铁矿石(i2501):{quote_i.last_price}")api.close()

2.2 使用列表批量订阅

当需要订阅大量合约时,可以使用列表和循环:

fromtqsdkimportTqApi,TqAuth api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 定义要订阅的合约列表symbols=["SHFE.rb2501",# 螺纹钢"SHFE.hc2501",# 热卷"DCE.i2501",# 铁矿石"DCE.j2501",# 焦炭"DCE.jm2501",# 焦煤]# 批量订阅,存入字典quotes={}forsymbolinsymbols:quotes[symbol]=api.get_quote(symbol)# 等待数据api.wait_update()# 打印所有合约价格print("合约代码		最新价		涨跌幅")print("-"*50)forsymbol,quoteinquotes.items():# 计算涨跌幅ifquote.pre_closeandquote.pre_close!=0:change=(quote.last_price-quote.pre_close)/quote.pre_close*100else:change=0print(f"{symbol}	{quote.last_price}		{change:.2f}%")api.close()

四、实时监控多合约

3.1 持续监控价格变化

fromtqsdkimportTqApi,TqAuthimportdatetime api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 订阅黑色系主要品种quote_rb=api.get_quote("SHFE.rb2501")quote_i=api.get_quote("DCE.i2501")quote_j=api.get_quote("DCE.j2501")print("开始监控黑色系品种,按Ctrl+C停止...")print("-"*60)whileTrue:api.wait_update()# 检测任一合约价格变化updated=Falseifapi.is_changing(quote_rb,"last_price"):updated=Trueifapi.is_changing(quote_i,"last_price"):updated=Trueifapi.is_changing(quote_j,"last_price"):updated=Trueifupdated:now=datetime.datetime.now().strftime("%H:%M:%S")print(f"[{now}] 螺纹:{quote_rb.last_price:.0f}| "f"铁矿:{quote_i.last_price:.1f}| "f"焦炭:{quote_j.last_price:.1f}")

五、同时获取多合约K线

4.1 获取多个合约的K线数据

fromtqsdkimportTqApi,TqAuth api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 同时获取两个合约的5分钟K线klines_rb=api.get_kline_serial("SHFE.rb2501",300,100)klines_hc=api.get_kline_serial("SHFE.hc2501",300,100)api.wait_update()print("螺纹钢最近3根K线:")print(klines_rb[["datetime","close"]].tail(3))print()print("热卷最近3根K线:")print(klines_hc[["datetime","close"]].tail(3))api.close()

4.2 计算价差(跨品种套利基础)

fromtqsdkimportTqApi,TqAuth api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 获取螺纹钢和热卷的行情quote_rb=api.get_quote("SHFE.rb2501")quote_hc=api.get_quote("SHFE.hc2501")print("螺纹钢-热卷 价差监控")print("-"*40)whileTrue:api.wait_update()ifapi.is_changing(quote_rb)orapi.is_changing(quote_hc):# 计算价差spread=quote_rb.last_price-quote_hc.last_priceprint(f"螺纹:{quote_rb.last_price:.0f}- 热卷:{quote_hc.last_price:.0f}= 价差:{spread:.0f}")

六、跨期合约对比

同时订阅同一品种的不同月份合约:

fromtqsdkimportTqApi,TqAuth api=TqApi(auth=TqAuth("你的快期账户","你的密码"))# 订阅螺纹钢不同月份合约quote_01=api.get_quote("SHFE.rb2501")# 近月quote_05=api.get_quote("SHFE.rb2505")# 远月api.wait_update()print("螺纹钢跨期价差分析")print("="*40)print(f"rb2501 (近月):{quote_01.last_price}")print(f"rb2505 (远月):{quote_05.last_price}")print(f"跨期价差:{quote_05.last_price-quote_01.last_price}")api.close()

七、注意事项

事项说明
订阅数量TqSdk免费版有合约订阅数量限制
数据同步不同合约的数据更新时间可能不同步
内存占用订阅过多合约会增加内存占用
网络延迟合约越多,数据推送量越大

八、总结

功能代码
订阅单个合约api.get_quote("SHFE.rb2501")
订阅多个合约多次调用get_quote,分别存储
批量订阅使用循环 + 字典存储
检测变化api.is_changing(quote, "last_price")

同时订阅多合约是构建套利策略、组合策略的基础,掌握这一技能后可以开发更复杂的交易系统。


免责声明:本文仅供学习交流使用,不构成任何投资建议。期货交易有风险,入市需谨慎。

更多资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

天津网站建设网站建设长沙

在分布式消息中间件的生产实践中,“看得见”才能“控得住”。RocketMQ作为阿里开源的高性能消息队列,其运行状态直接影响业务链路的稳定性。本文将聚焦RocketMQ监控体

2026/06/30 13:34:06

网站建设协议宜昌网站建设

第一章:Docker Scout漏洞导出功能概述Docker Scout 是 Docker 官方推出的安全分析工具,旨在帮助开发者和运维团队识别容器镜像中的已知漏洞、软件包

2026/06/30 14:12:09

网站建设收费南昌网站建设公司

问个两跳问题就懵:“马斯克创立的公司里,哪家做火箭?”改一个事实就得重跑整个 pipeline回答看起来通顺,但细节全是错的(幻觉

2026/06/30 14:12:39

诸城网站建设上海网站建设公司

LobeChat能否实现AI评分系统?教育测评自动化尝试在一所重点中学的语文教研组里,老师们正为高三模拟考的作文批改焦头烂额。上百份千字以上的议论文,每一篇都

2026/06/30 12:33:02

网站建设模板外贸网站的建设

UI-TARS:字节跳动开源多模态智能体,重新定义GUI自动化交互【免费下载链接】UI-TARS-2B-SFT项目地址: https://ai.gitcode.com/hf

2026/06/30 13:26:35

六安网站建设团购网站建设

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。📌 概述好友圈模块是福报养成计应用中的一个社交功能,它允许用户分享自己的福报成就和心得&#

2026/06/30 14:09:09

上海网站建设东莞手机网站建设

如何选择地址识别工具?MGeo开源优势全面剖析在地理信息处理、物流调度、城市计算等场景中,地址相似度匹配与实体对齐是构建高质量空间数据链路的核心环节。尤其是在中文地址语境下

2026/06/30 09:47:17

网站的建设咸阳网站建设

深入理解UDS 28服务:从原理到Configurator实战配置在汽车电子开发中,诊断不再是“出了问题才去查”的辅助手段,而是贯穿设计、测试、生产、售后全生

2026/06/30 09:57:17