拓冰建站拓冰建站
首页 / 资讯中心 / 正文

5分钟用TqSdk抓取期货实时行情:从安装到自动下单的完整实战指南

5分钟用TqSdk抓取期货实时行情从安装到自动下单的完整实战指南【免费下载链接】tqsdk-python天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易项目地址: https://gitcode.com/gh_mirrors/tq/tqsdk-python小李刚接手公司的期货套利研究每天的工作从打开行情软件、手动记录十几个合约的报价开始。行情跳动快的时候抄完螺纹钢再抄铁矿石价格早就变了。他把需求丢进搜索框用Python获取期货实时行情数据跳出来的结果里出现频率最高的就是天勤量化TqSdk——一个开源免费的Python期货量化开发包能在几行代码内连上国内四大期货交易所的实时行情同时支持历史数据、策略回测与实盘交易。这篇文章会把TqSdk从安装到跑通第一套自动交易策略的完整路径走一遍全程不用你懂多少金融知识跟着代码敲就行。TqSdk到底帮你省了什么市面上的行情数据方案不少但TqSdk有几个特点值得单独说数据在内存里行情、K线、账户、持仓都以对象形式存在本地读取零延迟不需要你自己维护数据库。一套代码贯穿全流程同一份策略代码改一行参数就能从模拟交易切到历史回测再切到实盘交易学习成本极低。免费且开源基础功能完全免费行情订阅、回测、模拟交易都开放给所有用户新手可以零成本起步。快速上手3步跑通第一份实时行情在动手之前先确认两件事Python版本在3.9以上以及你有一个快期账户注册完全免费这是连接TqSdk服务器的前提注册时用的手机号或用户名就是登录账号。第一步一键安装打开终端输入pip install tqsdk -U国内网络下载慢的话换清华源秒装pip install tqsdk -U -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-hostpypi.tuna.tsinghua.edu.cn第二步写一个最小行情程序新建一个monitor.py贴入以下代码from tqsdk import TqApi, TqAuth # 创建API实例填入你的快期账户 api TqApi(authTqAuth(你的快期账号, 你的密码)) # 订阅上期所镍2607合约的行情 quote api.get_quote(SHFE.ni2607) while True: api.wait_update() print(quote.datetime, quote.last_price)这段代码解决的是持续获取某合约最新价格的问题。运行后屏幕上会不断刷新时间和最新价你可以在终端里实时看到行情跳动。第三步看懂三个关键点为什么这么短的代码就能工作记住这三句话就够了TqApi是连接服务器的总入口相当于打开了一条行情通道get_quote()返回的不是一份拷贝而是一个永远指向最新行情的引用对象字段会随行情自动更新wait_update()是阻塞函数程序停在这行等待数据包到达收到后才继续往下走——TqSdk所有程序都遵循创建引用→循环wait_update→读字段这个结构。如果你想把行情看板可视化可以用TqSdk自带的Web GUI创建TqApi时加一行web_guiTrue浏览器里就能看到带买卖盘口的实时行情图表。深度玩法四个高频场景逐个击破场景一批量监控多个合约小目标同时盯着螺纹钢不同月份的主力合约找出价差机会。用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(f{symbol}: 最新价 {quote.last_price})这样写的好处是只维护一条连接、只用一个循环比逐个get_quote再各开一个循环高效得多也方便后续做价差计算。场景二用K线判断趋势小目标获取10秒级K线价格站上均线就提示。get_kline_serial()返回的是pandas.DataFrame你甚至可以把它直接扔进pandas做指标计算klines api.get_kline_serial(SHFE.ni2607, 10) # 10秒K线默认200根 while True: api.wait_update() if api.is_changing(klines): ma klines.close.iloc[-20:].mean() print(f最新收盘 {klines.close.iloc[-1]:.0f}, 20周期均线 {ma:.0f}) if klines.close.iloc[-1] ma: print(价格站上均线)这里用到了第二个重要函数is_changing()它判断K线在最近一次wait_update中是否真的更新了避免每次循环都对没变化的K线做无用计算。场景三把策略跑起来并下单小目标价格高于最近15分钟均价时自动开仓买入。行情和交易可以无缝混在同一个循环里。insert_order()负责发委托委托单状态通过返回的order对象随时可查klines api.get_kline_serial(DCE.m2609, 60) while True: api.wait_update() if api.is_changing(klines): ma klines.close.iloc[-15:].mean() if klines.close.iloc[-1] ma: api.insert_order(symbolDCE.m2609, directionBUY, offsetOPEN, volume5) print(最新价大于MA市价开仓)注意insert_order()只是把下单请求放进发送队列真正报单发生在下一次wait_update()时。所以下单后千万别立刻退出程序继续跑主循环让委托真正发出去。如果你嫌自己算手数、自己撤单重挂太麻烦还可以用TargetPosTask做目标持仓管理你只需要告诉它我想持有空1手近月、多1手远月它会自动通过一连串下单/撤单把仓位调整到位非常适合价差套利这类需要双边同时调仓的场景。场景四用历史数据回测验证策略小目标把上面那套策略放到2018年5月到10月的历史行情里跑一遍看收益曲线。回测简单到只改一行——创建TqApi时传入TqBacktest参数from datetime import date from tqsdk import TqApi, TqAuth, TqBacktest api TqApi( backtestTqBacktest(start_dtdate(2018, 5, 1), end_dtdate(2018, 10, 1)), authTqAuth(你的快期账号, 你的密码) )策略代码一行都不用改。回测结束后界面上会直接给出总收益、最大回撤、成交明细和权益曲线。策略有把握了再切回实时模式观察几天最后接实盘。避坑指南新手最容易踩的四个坑新手第一次跑TqSdk报错大多集中在下面几处。对照着查能省下大量排查时间。错误做法正确做法原因下单后马上退出程序下单后继续wait_update()驱动循环insert_order只是入队要等下一次循环才真正报单循环里不加判断每个字段都print用api.is_changing()过滤无效更新很多字段每次循环都会刷一遍全量打印刷屏且浪费合约代码随手写rb2610写成带交易所前缀的 SHFE.rb2610TqSdk的合约代码格式是交易所.品种合约缺前缀直接报错直接拿模拟逻辑连实盘先用默认的TqSim临时模拟账号跑通默认创建的就是本地模拟账户连实盘需要TqAccount并购买专业版另外要提醒注册完账户第一次登录如果报连接超时多数是网络问题稍后重试即可不要反复重启程序轰炸登录接口。答疑与延伸Q合约代码怎么认格式为交易所.品种合约月份例如SHFE.rb2610是上期所螺纹钢2610合约、DCE.i2609是大商所铁矿石2609合约、CFFEX.IF2406是中金所沪深300股指期货2406合约。四大交易所SHFE上期所、DCE大商所、CZCE郑商所、CFFEX中金所全覆盖。Q数据延迟高吗TqSdk对接的是交易所实时行情延迟在毫秒级绝大多数量化策略都够用。Q历史数据怎么补行情接口支持任意时间段的历史K线和Tick数据另外可以用内置下载器把数据一次性导出到本地长期保存。Q实盘交易怎么开通实盘属于TqSdk专业版功能需要购买或申请试用也支持在部分合作期货公司开户后免费使用。新手阶段建议先用默认的模拟账户跑通流程。Q遇到问题去哪问天勤官方用户论坛聚集了大量活跃用户和官方人员搜索关键词大概率能直接找到答案。延伸学习入口十分钟快速入门doc/quickstart.rst核心API源码get_quote、wait_update等tqsdk/api.py完整示例程序site-packages/tqsdk/demo/tutorial/下的t10到t96系列按行情→K线→下单→回测编号递进建议逐个跑一遍策略示例集tqsdk/demo/example/现在就去打开终端吧安装TqSdk注册快期账户把第一份实时行情打印到屏幕上。从拿到第一行报价开始你就已经站在量化交易的门槛上了——剩下的交给时间和持续练习。【免费下载链接】tqsdk-python天勤量化开发包, 期货量化, 实时行情/历史数据/实盘交易项目地址: https://gitcode.com/gh_mirrors/tq/tqsdk-python创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门