news 2026/8/14 8:23:04

别再手动盯盘了:用天勤TqSdk 5分钟搞定期货实时行情数据获取

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再手动盯盘了:用天勤TqSdk 5分钟搞定期货实时行情数据获取

别再手动盯盘了:用天勤TqSdk 5分钟搞定期货实时行情数据获取

【免费下载链接】tqsdk-python天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易项目地址: https://gitcode.com/gh_mirrors/tq/tqsdk-python

期货实时行情数据获取,听起来是量化机构的专属活,其实一个开源库就能让你在几分钟内做到。这篇文章不按"介绍—安装—FAQ"的老套路写,而是陪你走一遍真实场景:从"错过行情"的痛点出发,用天勤量化TqSdk亲手做出一个会提醒你的行情监控程序,再顺手把它升级成能自动交易的最小策略。文中所有代码都取自项目自带的官方示例,你只需要一个 Python 环境和 5 分钟耐心。

一、那个下午,他错过了螺纹钢的一波急涨

朋友老周做螺纹钢现货贸易,平时看盘靠手机行情软件。那天午休起来,螺纹钢主力合约已经拉了一根大阳线,他愣是没赶上高位出货的窗口。他跟我抱怨:盯盘不是技术问题,是时间问题——人不能一直盯着屏幕,而行情不会等人。

他试过两个替代方案,都失败了:

  • 写爬虫抓网站数据:页面改版就失效,延迟高,还随时可能被反爬封 IP。
  • 买商业行情接口:稳定是稳定,一年大几千块,个人玩玩实在肉疼。

他真正需要的,是一个能"替人盯盘"的程序:价格突破阈值就报警,数据稳定不折腾,还最好免费。顺着这个需求,他找到了天勤量化TqSdk。如果你也有同样的困扰,下面这套流程可以直接照抄。

二、先认识一下:TqSdk 凭什么"顺便"解决这个难题

天勤量化TqSdk 是信易科技开源的 Python 量化交易开发包,覆盖了历史数据 → 实时行情 → 策略回测 → 模拟交易 → 实盘交易的完整链路。它处理盯盘这件事,靠的是三个关键设计:

设计作用直观感受
内存数据库行情与交易数据全在内存中存取无访问延迟,不用自己建库
引用对象get_quote()返回一个自动更新的行情对象拿到手,数据自己"长"
事件循环wait_update()统一驱动数据刷新一套结构走遍所有功能

它的底层架构也很清晰:行情网关负责推送实时行情与历史数据,交易中继网关负责对接期货公司交易系统,两者以 Diff 协议统一对外服务。用户侧你几乎感知不到这些,只需记住四句口诀:

创建 TqApi 实例 → 用get_quote()等函数拿数据引用 → 在循环里wait_update()等待数据包 → 从引用对象读取最新值。

这也正是项目doc/quickstart.rst十分钟快速入门里反复强调的核心结构。下面这句过渡很关键:理解它,后面所有功能都不再是新东西。

三、5分钟动手:做一个"螺纹钢价格提醒器"

光说不练假把式。这一节我们用三步,把"盯盘"这个需求真正跑通。

第 1 步:安装 TqSdk 并注册快期账户

TqSdk 要求Python 3.9 及以上,Windows 7+/macOS/Linux 均可。安装就一条命令:

pip install tqsdk -U

下载慢的话,换清华源一行搞定:

pip install tqsdk -U -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host=pypi.tuna.tsinghua.edu.cn

装完后,去天勤官网注册一个快期账户(手机号、用户名或邮箱均可登录)。它是连接行情服务器的通行证,注册免费,属于所有 TqSdk 程序的前置条件。

第 2 步:跑通最小行情示例

安装好后,先不要急着写大程序,而是把官方教程里最小示例(对应tqsdk/demo/tutorial/t10.py)跑通。代码不到十行:

from tqsdk import TqApi, TqAuth # 创建 API 实例,传入自己的快期账户 api = TqApi(auth=TqAuth("快期账户", "账户密码")) # 订阅上期所镍 2607 合约行情,quote 会随行情自动更新 quote = api.get_quote("SHFE.ni2607") while True: api.wait_update() # 阻塞等待行情数据包 print(quote.datetime, quote.last_price) # 打印最新行情时间与最新价

如果它能稳定打印出时间和价格,说明安装、账户、行情链路全部打通,你可以继续往下走了。

第 3 步:升级成会提醒的监控程序

行情对象quote里其实塞满了料,常用字段长这样:

字段含义
last_price最新价
datetime最新行情时间
volume当日成交量
open_interest持仓量
bid_price1/ask_price1买一价 / 卖一价

有了这些字段,提醒器的逻辑就很简单:最新价突破上轨或跌破下轨就报警

from tqsdk import TqApi, TqAuth api = TqApi(auth=TqAuth("快期账户", "账户密码")) quote = api.get_quote("SHFE.rb2610") # 订阅螺纹钢 2610 合约 upper, lower = 3500, 3300 # 设定提醒的价格区间 while True: api.wait_update() price = quote.last_price if price > upper: print(f"【提醒】价格 {price} 突破上轨 {upper},注意追高风险!") upper = price # 上轨跟随上移,避免重复报警 elif price < lower: print(f"【提醒】价格 {price} 跌破下轨 {lower},留意支撑位!") lower = price

把这段脚本挂在一台常开的电脑上,你就拥有了一个 7×24 小时的"行情哨兵"。从"人盯盘"变成"程序盯盘",体验的差别是质变的——这也正是get_quote()引用对象 +wait_update()事件循环这套设计带来的红利:你只管设规则,数据自己会送上门。

四、从"看行情"到"会交易":进阶四招

提醒器只是起点。顺着同一套结构,你可以一路滑向"自动化"。下面四招由浅入深,全部基于官方文档与示例(tqsdk/demo/tutorial/下都有完整版本)。

招式一:多合约同时监控

做跨品种或跨月价差,需要同时盯多个合约。用get_quote_list()一次订阅一批:

symbols = ["SHFE.rb2610", "SHFE.rb2701", "DCE.i2609"] quotes = api.get_quote_list(symbols) # 一次订阅多个合约 while True: api.wait_update() for symbol, quote in zip(symbols, quotes): print(symbol, quote.last_price)

招式二:K线 + 均线信号

K 线序列是 pandas 的 DataFrame,天然适合算指标。比如 60 秒 K 线,突破 15 根均线就提示开仓信号:

klines = api.get_kline_serial("SHFE.rb2610", 60) # 60 秒 K 线 while True: api.wait_update() if api.is_changing(klines): # 仅在 K 线更新时才处理 ma = sum(klines.close.iloc[-15:]) / 15 # 最近 15 根收盘价均值 if klines.close.iloc[-1] > ma: print("最新价上穿 MA,出现买入信号")

注意这里多了一个api.is_changing(),用来判断到底是哪个对象在本次更新中变化了,避免每次循环都重复触发逻辑。

招式三:让 TargetPosTask 自动调仓

手动下单撤单很繁琐,TqSdk 提供了TargetPosTask:你只需声明"我要持有几手",它自动帮你把单子拆好、发出去。经典价差策略只需十几行:

from tqsdk import TqApi, TqAuth, TargetPosTask api = TqApi(auth=TqAuth("快期账户", "账户密码")) q_near = api.get_quote("SHFE.rb2610") q_far = api.get_quote("SHFE.rb2701") t_near = TargetPosTask(api, "SHFE.rb2610") # 近月调仓工具 t_far = TargetPosTask(api, "SHFE.rb2701") # 远月调仓工具 while True: api.wait_update() spread = q_near.last_price - q_far.last_price if spread > 250: t_near.set_target_volume(-1) # 空近月 1 手 t_far.set_target_volume(1) # 多远月 1 手 elif spread < 200: t_near.set_target_volume(0) # 价差回归,全部清仓 t_far.set_target_volume(0)

招式四:回测、模拟、实盘一条龙

程序写好,先别直接上真金白银。TqSdk 让验证成本降到最低:

  • 策略回测:创建 API 时传入TqBacktest,就能在指定历史区间内跑完整策略:
from datetime import date from tqsdk import TqApi, TqAuth, TqBacktest api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 1), end_dt=date(2018, 10, 1)), auth=TqAuth("快期账户", "账户密码"))
  • 模拟交易:不传账户时 TqSdk 会自动创建临时模拟账号(TqSim);想长期保存资金与持仓,可用TqKq()登录快期模拟账户,模拟结果在快期客户端里互通可见。
  • 实盘交易:传入TqAccount("期货公司", "账号", "密码")即可连接实盘账户,这是专业版功能,支持市场绝大多数期货公司,以及 CTP 直连等多种柜台。

五、写给新手的避坑清单

按上面流程走,大概率一路绿灯。但有几个坑,提前知道能省半天时间:

  1. 合约代码有格式:一律是交易所.合约,比如SHFE.rb2610(上期所螺纹钢)、DCE.i2609(大商所铁矿石)、CFFEX.IF2406(中金所沪深300)。写错一个字母,数据就静默拿不到。
  2. 循环必须由wait_update()驱动:千万别自己写time.sleep()空转,行情推送全靠这个阻塞函数。
  3. 下单后别立刻退出程序insert_order()只是把指令放入发送队列,真正的报单发生在下一次wait_update()时,指令没发出去就退出,单子就丢了。
  4. 先用模拟盘练手:回测通过只是第一步,上模拟盘跑几天,确认报单、持仓、风控都符合预期,再考虑实盘。
  5. 想看更多示例:项目源码tqsdk/demo/tutorial/下有从 t10 到 t96 的系列教程代码,每一个对应一个知识点,边跑边改是最好的学习方式。

六、下一步,就等你这一行代码

回头看,老周的问题其实不复杂:他需要的不是更努力地盯盘,而是更聪明的工具。今天你已经拿到了完整的路径——装好 TqSdk、跑通最小示例、把提醒器改造成自己的版本,然后再决定要不要滑向多合约、信号、自动交易那一端。每一步都有官方示例兜底,成本几乎为零。

我的建议很简单:别收藏这篇文章就完了。现在打开终端,敲下pip install tqsdk -U,把上文第 2 步的代码跑起来,看到第一行"时间 + 价格"打印出来的瞬间,你的量化之旅就正式开始了。若中途卡壳,项目文档doc/quickstart.rst和示例目录都在等着你,用户交流群 611806823 里也有一群同路人。

盯盘这件小事,从今天起,交给程序就好。

【免费下载链接】tqsdk-python天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易项目地址: https://gitcode.com/gh_mirrors/tq/tqsdk-python

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

Linux流量控制:shapecfg命令详解与实战应用

1. shapecfg命令概述与网络流量控制背景在Linux网络管理中&#xff0c;流量控制&#xff08;Traffic Control&#xff09;是保证网络服务质量的关键技术。shapecfg作为传统的CBQ&#xff08;Class Based Queueing&#xff09;配置工具&#xff0c;虽然在新版Linux中逐渐被tc命令…

作者头像 李华
网站建设 2026/8/14 8:19:06

TLD6098-2ES车用LED驱动板卡:从简陋工具到核心功能验证的务实指南

1. 从“因简就陋”说起&#xff1a;一个硬件工程师的务实选择拿到一块英飞凌的TLD6098-2ES车用LED驱动板卡&#xff0c;第一反应是什么&#xff1f;是立刻搭建一个完美的测试环境&#xff0c;用上高精度电源、示波器、逻辑分析仪&#xff0c;然后按照官方手册一步步来吗&#x…

作者头像 李华
网站建设 2026/8/14 8:18:12

Trimmomatic实战指南:NGS数据质控原理、参数调优与双端数据处理

1. 从“为什么”开始&#xff1a;Trimmomatic在NGS分析中的定位如果你刚开始接触高通量测序&#xff08;NGS&#xff09;数据分析&#xff0c;尤其是RNA-seq或者重测序项目&#xff0c;那么你大概率会在一堆眼花缭乱的软件列表里&#xff0c;遇到一个名字有点拗口的工具&#x…

作者头像 李华
网站建设 2026/8/14 8:18:10

告别手动装模组的翻车日常:Scarab 三步玩转空洞骑士模组管理

告别手动装模组的翻车日常&#xff1a;Scarab 三步玩转空洞骑士模组管理 【免费下载链接】Scarab An installer for Hollow Knight mods written with Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 很多《空洞骑士》玩家第一次听说「空洞骑士模组管理…

作者头像 李华