教程 · 单套解锁 量化编程 · Python框架

天勤TqSdk操作手册

使用手册 + 操作教程 共 17 章全部免费开放,一步一步把软件用起来;核心知识点 16 章,¥69 一次解锁讲透原理。

作者 枢汇安全课堂 更新 2026-10-13 阅读 77 收录 Python框架 · 33 章
本课程 · 单套解锁
¥69¥104
单品永久解锁 · 会员可阅 · 一次购买终身使用
✓使用手册 + 操作教程 共 17 章全文免费 ✓核心知识点 16 章,¥69 一次解锁 ✓支持电脑 / 手机 · 永久免费更新
注册后解锁核心知识点
免费学习区 使用手册 + 操作教程 共 17 章全部免费开放 · 核心知识点 16 章为付费内容 ¥69 解锁核心知识点
PART ONE

使用手册

功能在哪 · 是什么 · 怎么调出来

一、TqSdk 是什么

1、一句话定位

TqSdk(TianQin SDK,天勤 Python 开发包)是面向国内期货市场、用 Python 写量化策略的开发包。它把国内期货的行情订阅、历史 K 线、模拟交易、实盘下单、历史回测全部封装成几个 Python 类,你 0 之后,用十几行代码就能从"打印一行螺纹钢最新价"跑到"自动开平仓"。它最大的特点是中文文档极其友好、事件循环模型简单、免费版就能在本地/快期模拟盘把流程跑通。

新手注解:TqSdk 不是一个"点开就能用"的图形软件,而是给程序员用的"代码库"。它最适合会一点 Python、想做国内期货量化的人。它和快期(快期 App / 快期专业版)是同一家公司(信易科技)的产品——快期是图形交易软件,TqSdk 是给你自己写程序用的。

2、关键事实(官方口径)

项目内容
开发商上海信易科技(ShinnyTech),旗下有快期 App、快期专业版、天勤终端等产品
产品形态纯 Python SDK(1),无自带图形界面;可配 VS Code 插件
支持市场国内期货(CTP 柜台为主);专业版另提供 A 股实时行情、ETF 期权实时行情
语言/系统Python 3.9 及以上;Windows / macOS / Linux 均可
编程模型事件驱动:2 实例 + 3 循环,行情对象自动更新
入门成本免费版即可本地模拟(TqSim)/ 快期模拟(TqKq)跑通全流程
付费模式免费版(有回测次数/数据/账户绑定限制)+ 专业版订阅(年费制)
是否经纪商不是。它通过 CTP 柜台连接你自己开户的期货公司账户

3、TqSdk 能做什么、不能做什么

能:订阅实时行情与历史 K 线;在本地或快期模拟盘跑模拟交易;把同一份策略代码切到历史区间做回测;连接你开户的期货公司实盘账户自动下单;用目标持仓工具自动帮你调仓。

不能:TqSdk 本身不提供资金托管、不开户——实盘前你得先在某家期货公司开好户、拿到 CTP 资金账号和交易密码;它也不会替你判断行情、不给投资建议;回测结果不代表未来收益。

白话:TqSdk 像一个"期货世界的 Python 遥控器"。你注册快期账户解决"登录",再用 4 解决"先拿假钱练手",写熟了换成 5 就连上你真实的期货账户了。从模拟到实盘,策略代码几乎不用改。

4、新手学习路径建议(推荐顺序)

  1. 第一步(免费):装 Python 3.9+ → 6 → 注册快期账户 → 跑通官方"十分钟入门":打印一次螺纹钢行情。
  2. 第二步(免费):加 7 让行情持续刷新;再读 8 拿到 K 线 DataFrame,会用 9 / 10。
  3. 第三步(免费模拟):用默认 11(本地假钱)+ 12 跑一个"均线之上开多、之下空仓"的完整策略。
  4. 第四步(免费回测):给 13 加 14,把同一段策略丢进历史区间跑回测。
  5. 第五步(可选专业版/实盘):确认逻辑稳定后,再考虑专业版(更多回测次数、tick 数据、A 股/期权行情),并在期货公司开户后用 15 小资金实盘。
白话:前三步一分钱不用花,甚至不用期货账户。把"打行情—读K线—自动下单—历史回测"这条链在 16 里跑顺,是上实盘前最关键的一步。

二、安装、快期账户与版本权益

1、环境与安装(官方步骤)

  1. 先装 Python 3.9 或更高版本(Windows / macOS / Linux 都行)。
  2. 打开命令行(Windows 用"命令提示符"或 PowerShell),执行:
17

三、国内下载慢时,用清华镜像

18
新手注解:两个容易踩的坑:① 你的策略脚本文件不要命名成 19——否则 Python 会把你自己的文件当成库导入,直接报错;② 如果你同时装了 20(天勤另一条版本线),注意 import 的是哪个包,别混。

1、必须先注册"快期账户"

使用 TqSdk 的前提是先在"快期账户中心"注册一个快期账户(手机号/用户名/邮箱 + 密码)。程序里用 21 登录。

22

四、三种账户:TqSim / TqKq / TqAccount

TqSdk 的"账户"参数决定你用假钱还是真钱。创建 23 时不传账户参数,默认就是 24。三种账户对比:

账户类钱是真是假记录保存在哪适合场景
25本地假钱只在当前程序内存里,默认不跨进程保存入门、临时调试、历史回测
26快期模拟假钱快期模拟服务端,可在快期 App / 快期客户端里查看这个模拟账户想长期跟踪一个模拟账户、配合图形软件看
27真钱实盘期货公司 CTP 柜台策略验证完成后的实盘

from tqsdk import TqApi, TqAuth, TqSim, TqKq, TqAccount

五、本地模拟(默认,假钱,程序一关就没)

api = TqApi(TqSim(), auth=TqAuth("快期账户", "密码"))

六、快期模拟(假钱,但快期 App 里能看到)

api = TqApi(TqKq(), auth=TqAuth("快期账户", "密码"))

七、实盘(真钱!期货公司名前要加大写字母,如 H宏源期货)

api = TqApi(TqAccount("H宏源期货", "320102", "123456"), auth=TqAuth("快期账户", "快期密码"))

白话:28 是"开完就忘"的临时练习场;29 是"存到云端、快期 App 里能翻账"的模拟账户;30 才是真刀真枪。注意 31 第一个参数期货公司名前面要加大写字母前缀(如 32 的 H),这个前缀在官方"期货公司列表"里能查到,写错会连不上柜台。
纠错:早期手册里把 TqSdk 的模拟盘笼统说成"SimNow"。要分清——SimNow 是上期技术 CTP 官方的公共模拟环境(vn.py 等框架常接它);而 TqSdk 默认用的是自家的 33(本地)/ 34(快期模拟)。两者都是假钱,但不是同一套系统。

八、下单、撤单、账户持仓与目标持仓

1、直接下单 insert_order

order = api.insert_order( symbol="SHFE.rb2701", direction="BUY", # BUY 开多 / SELL 开空 offset="OPEN", # OPEN 开仓 / CLOSE 平仓 / CLOSETOD 平今 volume=1, # 手数 limit_price=3000 # 限价

)

九、循环里观察委托状态

while order.status == "ALIVE": api.wait_update() print("委托状态:", order.status, "未成交手数:", order.volume_left)

  • 35 返回的是委托引用 order,不是成交确认。
  • 36:37=还挂着没结束;38=已结束(可能成交、也可能被撤/被拒)。
  • 用 39 算已成交手数;用 40 看提示(为何被拒)。

1、撤单 cancel_order

api.cancel_order(order) # 传入 order 引用或委托号

十、撤单后仍要继续 wait_update() 才能收到结果

1、查账户与持仓

account = api.get_account() position = api.get_position(symbol) print("可用资金:", account.available) print("净持仓:", position.pos)

2、目标持仓 TargetPosTask(强烈推荐)

新手别自己算"该买几手、该平几手"。用 41,你只需要表达"我最终希望持有几手",它自动帮你下单/撤单调仓到目标:

from tqsdk import TqApi, TqAuth, TargetPosTask from tqsdk.tafunc import ma

api = TqApi(auth=TqAuth("快期账户", "密码")) quote = api.get_quote("KQ.m@SHFE.rb") symbol = quote.underlying_symbol klines = api.get_kline_serial(symbol, 60) target = TargetPosTask(api, symbol) # 给这个品种建一个"调仓助手"

while True: api.wait_update() if api.is_changing(klines.iloc[-1], "datetime"): # 新K线开始 ma15 = ma(klines.close, 15) if klines.close.iloc[-2] > ma15.iloc[-2]: target.set_target_volume(1) # 目标:多头1手 else: target.set_target_volume(0) # 目标:空仓

白话:42 里的"1"是最终要持有的手数,不是"再买1手"。条件一直满足时反复设同一个值不会累加。它内部自动处理开仓/平仓/撤单,比你手写买卖逻辑稳得多。注意:同一个合约,不要同时用手动 insert_order 和 TargetPosTask,两套逻辑会互相打架。

十一、与其他框架/软件对比

方案定位最强项短板适合谁
TqSdkPython 期货 SDK中文文档极简、wait_update 模型好懂、免费模拟/回测上手快、目标持仓好用以期货为主;A 股/期权实时行情与 tick 历史数据要专业版;纯代码无自带看盘界面会 Python、做国内期货、想免费快速入门的个人
vn.py开源 Python 量化框架开源、生态大、期货股票外汇都能接、可深度定制部署复杂、要自己搭环境、对新手不友好有工程能力、想深度改造的人
QMT / miniQMT券商提供的股票量化终端 + xtquant股票/ETF/期权实盘主流、直连券商柜台要券商开通权限(有资金门槛)、以股票为主做股票的个人量化
天勤终端 / 快期 App同公司的图形软件看盘、画线、自定义组合、历史复盘不是写策略的地方配合 TqSdk 做图形化盯盘与复盘
白话:一句话选型——做期货、会 Python、想免费快速上手 → TqSdk;要开源深度改 → vn.py;做股票、能过券商门槛 → QMT。 TqSdk 的官方文档本身也提供了"TqSdk vs CTP 直连""TqSdk vs vn.py"的专门对照页,想迁移时可以先看那两篇。
PART TWO

操作教程

一步一步 · 跟着做完一件事

十二、核心编程模型:TqApi 与 wait_update 事件循环

1、一切的中心是 TqApi 实例

所有行情、K 线、账户、下单都挂在一个 43 对象上。你先取"引用",再在循环里等更新——这是 TqSdk 最核心的思维方式。

2、wait_update() 事件循环(必须理解)

44
  • 45 在循环外调用一次即可,返回的 46 是个会自动更新的"活对象"。
  • 47 阻塞着等,一旦有行情/委托/成交更新,它就返回,并把 48 等对象的字段刷新好,再往下执行循环体。
  • 只反复 49 而不调用 50,行情永远不会刷新。
  • 非交易时段可能很久没有新输出,这不是程序卡死;按 51 可停止。

3、is_changing():只在"真变了"时才处理

52 返回不代表你关心的那个字段一定变了(可能是别的订阅更新了)。用 53 或 54 判断"是不是我关心的东西变了",避免重复触发逻辑。

白话:TqSdk 的套路是"先把电表(quote)挂好,然后站在旁边等(wait_update),电表一跳你就读数"。新手最常见的 bug 就是忘了 55,结果程序只打印同一个死价格;或者每次循环都重新 56,白白浪费。

十三、获取行情与 K 线

1、实时行情 get_quote

57

十四、quote 里还有:买价 ask_price、卖价 bid_price、成交量 volume、持仓量 open_interest 等字段

1、K 线 get_kline_serial

58 返回一个会持续更新的 pandas.DataFrame:

59
  • 60 = 最后一根 K 线(它正在形成中,收盘价还会变)。
  • 61 = 上一根已完成的 K 线——写策略判断信号时,用 iloc[-2],别用正在跳动的 iloc[-1]。
  • 第二个参数是 K 线周期,单位是秒:60=1分钟、300=5分钟、3600=1小时、86400=1天。

2、主连合约代码 KQ.m@ 与下单代码的区别

看趋势用主连(连续合约),代码形如 62(螺纹钢主连)。但主连本身不能下单——它会自动换月。下单前要用 63 取出当前主连对应的真实合约代码:

64

3、自带技术指标 tafunc

TqSdk 在 65 里内置了常见指标(如 66 均线):

67
白话:品种代码分两种——68(如 KQ.m@SHFE.rb)是"自动跟主力"的看盘代码;69(如 SHFE.rb2701)是"具体月份合约"的下单代码。新手最容易犯的错就是拿主连代码直接 70,那样是下不了单的。

十五、实盘接入与期货公司

  1. 先在某家期货公司开好户、做适当性评估,拿到 CTP 资金账号和交易密码。
  2. 在官方"期货公司列表"里查到你这家期货公司对应的大写字母前缀(如 H=宏源、H=海通等)。
  3. 用 71 替换掉原来的 72,策略其余代码不变。
  4. 第一次用某个实盘账户时,系统会把它自动绑定到你的快期账户(免费版绑定数有限制,专业版 3 个)。
白话:从模拟到实盘,改动往往就一行——把 73 换成 74。但就这一行,背后是真钱。强烈建议实盘第一周只用最小手数(1 手)跑,观察几天程序的下单、撤单、断线重连是否符合预期,再考虑加仓。

十六、隐藏功能与冷门技巧拾遗(祖坟级)

  1. 主连代码自动换月的正确姿势:示例策略常在启动时取一次 75,不处理跨日换月;真要跨日跑,需要在新交易日重新取一次主力合约代码。
  2. 用 iloc[-2] 而不是 iloc[-1] 判信号:最后一根 K 线还在跳动,拿它判信号会反复抖动;拿已完成的倒数第二根判断更稳。
  3. 同一合约别混用两种下单方式:手动 76 和 77 同时作用于一个 symbol 会互相干扰、乱调仓。
  4. VS Code 插件右键运行:装官方 VS Code 插件后,可在编辑器里直接设好账户、右键"模拟/实盘运行/回测",不必手敲命令行;插件里设的账户会覆盖代码里写的账户。
  5. AI 技能包:官方提供 tqsdk-trading-and-data.zip,丢给 Trae/ChatGPT 等 AI 让它先读 SKILL.md 再帮你写策略排错,比空手问 AI 准确得多。
  6. 免费版也能跑股票回测:版本说明提到免费用户回测时可交易股票(期货为主但回测能碰股票),想研究股票策略又不想买专业版时可利用。
  7. 期货公司大写前缀:TqAccount 第一个参数的字母前缀(H、等)必须到官方"期货公司列表"查,凭感觉写连不上柜台。
  8. 超时保护:文档"常见问题"里给了 78 加超时的写法,防止委托一直 ALIVE 把程序永久卡住。
  9. close() 收尾:无论模拟还是实盘,用毕显式 79 释放连接,尤其实盘程序要做异常捕获后再关,避免柜台连接残留。
  10. 天勤终端的复盘功能:同公司的天勤终端/快期专业版提供自定义组合、历史复盘,可与 TqSdk 写的策略配合做图形化复盘。
  11. tqsdk 与 tqsdk2 两条版本线:官方文档同时存在 tqsdk(3.x)和 tqsdk2(2.x)两个版本线,专业版权限二者通用;新手按最新 quickstart 用 80 即可,别两个包都装混着 import。
  12. 不要把脚本命名为 tqsdk.py:会遮蔽库导致 import 报错,这是官方 FAQ 里高频问题。

十七、2026 增量更新(深挖第2轮)

来源:信易科技官方文档「版本变更」页(doc.shinnytech.com/tqsdk/latest/version.html,抓取于 2026-09)。本节只记手册正文尚未覆盖的 2026 年新版本接口与柜台接入。

1、当前版本与新接口(2026 年连发 3.9.x 3.10.x)

  • 最新 3.10.2(2026-08-17):81 现在支持上期所 / 能源中心组合套利指令;82 返回值新增 83(价格小数位数)字段;84 补充了 ETF 期权标的 85、86、87。
  • 3.10.0(2026-05-26):88 与 89 现在都能处理有最小开仓手数限制的合约(以前这类合约用目标持仓会报不合法)。
  • 3.9.5(2026-04-29):90 同样支持有最小开仓手数限制的合约。

2、新接入两类柜台:TqXuntou(迅投)与 TqO32(恒生 O32)

  • 3.9.7(2026-05-14):新增 91,直连迅投柜台。
  • 3.9.4(2026-04-17):新增 92,接入恒生 O32 资管/机构柜台。
  • 3.9.9(2026-05-19):迅投直连改为必须指定后端账户才能登录,不能再像以前那样空着后端直连。
白话:以前 TqSdk 基本只靠 CTP 接期货公司;2026 年开始把迅投、恒生 O32 这两类股票/机构柜台也包进来了,做股票资管的同学不用再自己拼网关。新账户类用法还是 93 这套,具体参数查官方文档对应类。

3、行情与风控新字段:open_limit、TqScenario 场景试算

  • 3.9.3(2026-04-14):94 对象新增 95 属性,返回合约日内开仓限额(目前只对期货合约有效)。
  • 3.9.2(2026-04-07):新增 96 类,支持场景试算——实盘保证金查询、持仓保证金占用试算、保证金率变化后风险度会变成多少,都能先算再下单;同时 97 加了 98 参数,用来过滤系列期权。
  • 3.9.0(2026-01-16):新增 99,获取非量价的宏观经济数据库(EDB)数据。
白话:100 就是交易所给某些品种设的"当天最多还能开几手",风控策略里可以直接读这个字段判断还能不能开;101 则是"假如保证金率从 8% 调到 12%,我现在的仓位会不会穿仓"的事前模拟器。
本站固定免责声明:本教程仅讲解天勤 TqSdk 软件(Python SDK)的界面与操作方法,不构成投资建议。程序化交易与回测结果均不保证盈利,请谨慎决策。价格、功能、接口、快捷键等以官方文档(doc.shinnytech.com)与信易科技官网最新版本为准;本文部分价格与权益为官方页面公开口径的整理,仅供参考。
付费专享 · 核心知识点 16 章

继续阅读:核心知识点,搞懂原理

天勤TqSdk操作手册 — 共 33 章,已免费阅读 17 章,剩余 16 章核心知识点讲透「为什么这样、点了会怎样」。

十八、数据源与频率
十九、回测引擎原理
二十、滑点与手续费建模
二十一、参数优化与过拟合
二十二、风险控制模块
二十三、绩效评价指标
…等共 16 章核心内容
✍️ 注册后扫码购买 🔐 已有账号,去登录 单套 ¥69 永久 · 会员可阅
SERVICE & PRICING
服务收费说明 · 明码标价,无隐藏收费
全部课程统一 ¥39-69,买一套永久使用。以下为购买与使用的完整流程。
01先免费试读

每套教程的「使用手册」部分均可免费阅读,先确认内容是否适合自己再决定,不必盲买。

02扫码付款

选定课程后点「立即解锁」,页面展示收款二维码与客服微信,扫码转账即可,无需注册海外支付。

03获取卡密

付款完成后客服第一时间发送卡密号与卡密密码,站内消息与微信同步通知。

04兑换解锁

在用户中心「兑换卡密」输入卡密号与密码,系统即时解锁全部章节,无需二次付款。

一次付费,终身可用 · 解锁后课程永久留在账号里,不限次数、不限时间阅读 持续免费更新 · 平台改版、规则变化时课程同步修订
RECOMMEND
相关教程推荐 · 同栏目更多上手机会

💬 用户评价 (0)

🔒 登录并成为会员后可发表评价
还没有评价 · 成为第一个评价的人吧 🎯