67

GitHub - shinnytech/tqsdk-python: 天勤量化开发包, 期货量化, 实时行情/历史数据/实...

 4 years ago
source link: https://github.com/shinnytech/tqsdk-python
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

logo.png

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e312e302d626c756576696f6c65742e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f706c6174666f726d2d77696e646f77737c6c696e75787c6d61636f732d677265656e2e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e362b2d626c75652e737667 68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7368696e6e79746563682f747173646b2d707974686f6e2e7376673f636f6c6f723d6f72616e6765

TqSdk 天勤量化交易策略程序开发包

TqSdk 是一个由信易科技发起并贡献主要代码的开源 python 库. 依托快期多年积累成熟的交易及行情服务器体系, TqSdk 支持用户使用极少的代码量构建各种类型的量化交易策略程序, 并提供包含 历史数据-实时数据-开发调试-策略回测-模拟交易-实盘交易-运行监控-风险管理 的全套解决方案.

from tqsdk import TqApi, TqAccount, TargetPosTask

api = TqApi(TqAccount("H海通期货", "4003242", "123456"))      # 创建 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)

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

Architecture

系统架构图

Features

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

  • 用户无需向期货公司申请AppId, 即可满足穿透式监管信息采集规范要求
  • 公司级数据运维,提供当前所有可交易合约从上市开始的 全部Tick数据和K线数据
  • 支持市场上90%的期货公司 实盘交易
  • 支持 模拟交易
  • 支持 Tick级和K线级回测, 支持 复杂策略回测
  • 提供近百个 技术指标函数及源码
  • 用户无须建立和维护数据库, 行情和交易数据全在 内存数据库 , 无访问延迟
  • 优化支持 pandasnumpy
  • 无强制框架结构, 支持任意复杂度的策略, 在一个交易策略程序中使用多个品种的K线/实时行情并交易多个品种
  • 配合开发者支持工具,能够进行交易信号打点,支持自定义指标画图

Installation

TqSdk 仅支持 Python 3.6 及更高版本. 要安装 TqSdk, 可使用 pip:

$ pip install tqsdk

Documentation

在线阅读HTML版本文档: https://doc.shinnytech.com/tqsdk/latest

在线问答社区: https://www.shinnytech.com/qa

知乎账户【天勤量化】:https://www.zhihu.com/org/tian-qin-liang-hua/activities

用户交流QQ群: 619870862 (目前只允许给我们点过STAR的同学加入, 加群时请提供github用户名)

Gui

TqSdk本身不包含任何GUI组件. 免费的 天勤软件VS Code插件版可以与TqSdk配合使用, 提供完整的图形界面.

About us

信易科技 是专业的期货软件供应商和交易所授权行情服务商. 旗下的快期系列产品已为市场服务超过10年. TqSdk 是公司开源计划的一部分.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK