返回顶部
t

tqsdk天勤量化SDK

天勤量化TqSdk - 开源Python期货/期权交易SDK,提供实时行情、回测和实盘交易功能。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
366
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

tqsdk

TqSdk(天勤量化SDK)

TqSdk 是信易科技开发的开源Python期货/期权量化交易SDK。通过统一的异步API提供实时行情、历史数据、回测和实盘交易功能。

文档:https://doc.shinnytech.com/tqsdk/latest/
免费版提供延时行情(15分钟延迟),专业版支持实时数据。

安装

bash
pip install tqsdk

快速入门

python
from tqsdk import TqApi, TqAuth, TqBacktest
from datetime import date

实盘模式(免费账户提供延时行情)

api = TqApi(auth=TqAuth(yourusername, yourpassword))

获取实时行情

quote = api.get_quote(SHFE.cu2401) # 上海铜期货 print(f最新价: {quote.last_price}, 成交量: {quote.volume})

获取K线数据

klines = api.getklineserial(SHFE.cu2401, duration_seconds=60) # 1分钟K线 print(klines.tail())

关闭API

api.close()

代码格式

交易所.合约

交易所代码示例
上海期货交易所SHFESHFE.cu2401(铜)
大连商品交易所
DCE | DCE.m2405(豆粕) | | 郑州商品交易所 | CZCE | CZCE.CF405(棉花) | | 中国金融期货交易所 | CFFEX | CFFEX.IF2401(沪深300期货) | | 上海国际能源交易中心 | INE | INE.sc2407(原油) | | 广州期货交易所 | GFEX | GFEX.si2407(工业硅) | | 上交所期权 | SSE | SSE.10004816(50ETF期权) | | 深交所期权 | SZSE | SZSE.90000001(300ETF期权) |

行情数据

实时行情

python
from tqsdk import TqApi, TqAuth

api = TqApi(auth=TqAuth(user, pass))

quote = api.get_quote(CFFEX.IF2401)

关键字段:


quote.last_price — 最新价


quote.bid_price1 — 买一价


quote.ask_price1 — 卖一价


quote.bid_volume1 — 买一量


quote.ask_volume1 — 卖一量


quote.highest — 日最高价


quote.lowest — 日最低价


quote.open — 开盘价


quote.close — 昨收价


quote.volume — 总成交量


quote.amount — 总成交额


quote.open_interest — 持仓量


quote.upper_limit — 涨停价


quote.lower_limit — 跌停价


quote.pre_settlement — 昨结算价


quote.settlement — 今结算价

等待行情更新

while True: api.wait_update() if api.ischanging(quote, lastprice): print(f价格更新: {quote.last_price})

K线数据

python

获取K线序列(返回pandas DataFrame)


klines = api.getklineserial(
SHFE.cu2401,
duration_seconds=60, # K线周期:60=1分钟, 300=5分钟, 3600=1小时, 86400=日线
data_length=200 # 获取K线数量
)

列:datetime, open, high, low, close, volume, openoi, closeoi

多周期

klines1m = api.getkline_serial(SHFE.cu2401, 60) klines5m = api.getkline_serial(SHFE.cu2401, 300) klines1d = api.getkline_serial(SHFE.cu2401, 86400)

Tick数据

python
ticks = api.gettickserial(SHFE.cu2401, data_length=500)

列:datetime, lastprice, highest, lowest, bidprice1, ask_price1,


bidvolume1, askvolume1, volume, amount, open_interest




交易

下单

python
from tqsdk import TqApi, TqAuth

api = TqApi(auth=TqAuth(user, pass))

限价单 — 买入开仓2手

order = api.insert_order( symbol=SHFE.cu2401, direction=BUY, # BUY 或 SELL offset=OPEN, # OPEN, CLOSE, CLOSETODAY volume=2, # 手数 limit_price=68000.0 # 限价(市价单设为None) )

市价单(FAK — 即成剩撤)

order = api.insert_order( symbol=SHFE.cu2401, direction=BUY, offset=OPEN, volume=2 )

撤单

api.cancel_order(order)

检查委托状态

while True: api.wait_update() if order.status == FINISHED: print(f订单完成: 成交={order.volumeorign - order.volumeleft}) break

持仓与账户

python

获取账户信息


account = api.get_account()

account.balance — 账户余额


account.available — 可用资金


account.margin — 已用保证金


account.float_profit — 浮动盈亏


account.position_profit — 持仓盈亏


account.commission — 今日手续费

获取持仓

position = api.get_position(SHFE.cu2401)

position.pos_long — 多头持仓量

position.pos_short — 空头持仓量

position.poslongtoday — 今多仓

position.floatprofitlong — 多头浮动盈亏

position.floatprofitshort — 空头浮动盈亏

position.openpricelong — 多头平均开仓价

position.openpriceshort — 空头平均开仓价


回测

python
from tqsdk import TqApi, TqAuth, TqBacktest, TqSim
from datetime import date

创建回测API

api = TqApi( backtest=TqBacktest( start_dt=date(2024, 1, 1), end_dt=date(2024, 6, 30) ), account=TqSim(init_balance=1000000), # 模拟账户,初始资金100万 auth=TqAuth(user, pass) )

策略逻辑(同一套代码适用于实盘和回测)

klines = api.getklineserial(CFFEX.IF2401, 60 * 60) # 1小时K线 position = api.get_position(CFFEX.IF2401)

while True:
api.wait_update()
if api.is_changing(klines.iloc[-1], close):
ma5 = klines[close].iloc[-5:].mean()
ma20 = klines[close].iloc[-20:].mean()

if ma5 > ma20 and position.pos_long == 0:
api.insert_order(CFFEX.IF2401, BUY, OPEN, 1, klines.iloc[-1][close])
elif ma5 < ma20 and position.pos_long > 0:
api.insert_order(CFFEX.IF2401, SELL, CLOSE, 1, klines.iloc[-1][close])

api.close()



进阶示例

双合约价差交易

python
from tqsdk import TqApi, TqAuth

api = TqApi(auth=TqAuth(user, pass))

quotenear = api.getquote(SHFE.rb2401) # 近月螺纹钢
quotefar = api.getquote(SHFE.rb2405) # 远月螺纹钢
posnear = api.getposition(SHFE.rb2401)
posfar = api.getposition(SHFE.rb2405)

SPREAD_OPEN = 100 # 开仓价差阈值
SPREAD_CLOSE = 20 # 平仓价差阈值

while True:
api.wait_update()
spread = quote

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 tqsdk-1775711351 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 tqsdk-1775711351 技能

通过命令行安装

skillhub install tqsdk-1775711351

下载

⬇ 下载 tqsdk v1.0.2(免费)

文件大小: 10.56 KB | 发布时间: 2026-4-11 23:02

v1.0.2 最新 2026-4-11 23:02
- Added a sample project directory `demo_project/` containing `README.md` and `demo.py`.
- Provides example code and documentation to help users quickly get started with TqSdk.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部