TqSdk2 介绍

TqSdk2 是什么

TqSdk2 是一个由 信易科技 发起并贡献主要代码的核心架构为 C++ 对外提供 python 和 C++ 接口的库.

依托 快期多年积累成熟的交易及行情服务器体系 , TqSdk2 支持用户使用很少的代码量构建各种类型的量化交易策略程序, 并提供包含 历史数据-实时数据-开发调试-策略回测-模拟交易-实盘交易-运行监控-风险管理 的全套解决方案:

from tqsdk2 import TqApi, TqAuth, TqAccount, TargetPosTask

api = TqApi(TqAccount("H海通期货", "4003242", "123456"), auth=TqAuth("信易账户", "账户密码"))      # 创建 TqApi 实例, 指定交易账户
q_1910 = api.get_quote("SHFE.rb1910")                         # 订阅近月合约行情
t_1910 = TargetPosTask(api, "SHFE.rb1910")                    # 创建近月合约调仓工具
q_2001 = api.get_quote("SHFE.rb2001")                         # 订阅远月合约行情
t_2001 = TargetPosTask(api, "SHFE.rb2001")                    # 创建远月合约调仓工具

while True:
  api.wait_update()                                           # 等待数据更新
  spread = q_1910.last_price - q_2001.last_price        # 计算近月合约-远月合约价差
  print("当前价差:", spread)
  if spread > 250:
    print("价差过高: 空近月,多远月")
    t_1910.set_target_volume(-1)                              # 要求把1910合约调整为空头1手
    t_2001.set_target_volume(1)                               # 要求把2001合约调整为多头1手
  elif spread < 200:
    print("价差回复: 清空持仓")                               # 要求把 1910 和 2001合约都调整为不持仓
    t_1910.set_target_volume(0)
    t_2001.set_target_volume(0)

要快速了解如何使用TqSdk2 , 可以访问我们的 十分钟快速入门

系统架构

TqSdk2 中提供了两种架构方式供用户选择使用接入期货公司

第一种,通过期货公司自建的中继交易服务器模式来接入

期货公司交易系统
CTP/FEMAS/UFX
期货公司交易系统 CTP/FEMAS/UFX
交易中继网关
交易所行情
交易所行情
行情网关 Open Md GatewayDIFF 协议
TqSdk2
TqSdk2
Viewer does not support full SVG 1.1

第二种,通过直连模式来接入期货公司

期货公司交易系统
CTP/FEMAS/UFX
期货公司交易系统 CTP/FEMAS/UFX
交易所行情
交易所行情
行情网关
Open Md Gateway
行情网关 Open Md Gateway
DIFF 协议
TqSdk2
TqSdk2
Viewer does not support full SVG 1.1
  • 将交易中继网关合并到本地来支持 TqSdk2 用户直连期货公司交易柜台来进行交易 to do TqCtp

功能要点

TqSdk2 提供的功能可以支持从简单到复杂的各类策略程序.

  • 提供当前所有可交易合约从上市开始的 全部Tick数据和K线数据

  • 支持数十家期货公司的 实盘交易

  • 支持通过直连模式接入期货公司进行交易

  • 支持 模拟交易

  • 提供近百个 技术指标函数及源码

  • 用户无须建立和维护数据库, 行情和交易数据全在 内存数据库 , 无访问延迟

  • 优化支持 pandasnumpy

  • 无强制框架结构, 支持任意复杂度的策略, 在一个交易策略程序中使用多个品种的K线/实时行情并交易多个品种

编程风格

TqSdk2 支持用户构建各类复杂结构的策略程序, 同时保持高性能及高可读性. 要了解 TqSdk2 的编程框架, 请参见 策略程序结构

如果您曾经使用并熟悉过其它量化交易开发工具, 这些文件可以帮助您尽快了解 TqSdk2 与它们的差异: