TQSDK

量化交易策略程序开发包
授权协议 Apache-2.0
开发语言 Python
所属分类 企业应用、 金融/财务/证券系统
软件类型 开源软件
地区 国产
投 递 者 程祺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 提供的功能可以支持从简单到复杂的各类策略程序.

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

Installation

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

$ pip install tqsdk

Documentation

官方网址:https://www.shinnytech.com/tianqin/

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

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

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

Gui

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

  • #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'limin' """ 网格交易策略 (难度:中级) 参考: https://www.shinnytech.com/blog/grid-trading/ 注: 该示例策略仅用于功能示范, 实盘时请根据自己的策略/经验进行修改 """ from functools import

  • Aberration 策略 什么是Aberration策略? Aberration 交易系统由Keith Fitschen 于 1986 年发明,1993 年Keith Fitschen 将该系统商业化发布在 Future Trust 杂志上,有趣的是Keith并不是交易员出生,他在美国空军服役超过20年,专攻武器的导航系统,在时间序列数据的处理上有深厚的功力。自发布之日起,该系统业绩一直名列前茅

  • Introduction TqSdk 是一套依托 DIFF协议 (Differential Information Flow for Finance) 的开源 python 框架. 它支持用户使用较少的工作量构建量化交易或分析程序. 与其它 python 框架相比, TqSdk 致力于在以下几方面为用户提供价值: 用最低部署运行成本实现完整功能栈 无需用户部署维护历史数据库, 直接提供所有期货品种

  • import asyncio import sys import PySimpleGUI as sg from tqsdk import TqApi loop = asyncio.get_event_loop() api = TqApi(loop=loop) quote_a = api.get_quote('SHFE.rb1910') quote_b = api.get_quote('SHFE.

 相关资料
  • 作为无基础的初学者,只想先大概了解一下 Python,随便编个小程序,并能看懂一般的程序,那些什么 JAVA 啊、C 啊、继承 啊、异常啊通通不懂怎么办,于是我找了很多资料,写成下面这篇日记,希望以完全初学者的角度入手来认识 Python 这个在量化领域日益重要的语言

  • 掘金量化策略文档 目录 双均线策略(期货) alpha对冲(股票+期货) 集合竞价选股(股票) 多因子选股(股票) 网格交易(期货) 指数增强(股票) 跨品种套利(期货) 跨期套利(期货) 日内回转交易(股票) 做市商交易(期货) 海龟交易法(期货) 行业轮动(股票) 机器学习(股票)

  • Time: ~30 mins 面试之前 hr 让我准备交易策略方向的内容,但实际上根本没问过。 自我介绍,之后就是问八股 1. MySQL 的索引 (经典老八股) 2. 量化的优点 3. C++ 项目讲一下 项目中 Socket用的什么?线程用的什么? 4. C++ 用过哪些开源的网络库? 5. 介绍一下 RabbitMQ (自己根本没有用过,消息队列只用过 Kafka,也没写在简历上,还好之前看

  • 版本库开发策略 因为Subversion版本库本身和所依赖技术设计的简单性,创建和配置版本库是一件相对直接的任务。需要做一些的预备决定,但是设置Subversion版本库的实际工作非常直接,在做过几次之后就会发现不必费太多心思去做这件事。 下面是一些你需要预先考虑的事情: 你的版本库将要存放什么数据(或多个版本库),这些数据如何组织? 版本库存放在哪里,如何被访问? 你需要什么类型的访问控制和版本

  • 程序化事务管理方法允许您在源代码编程的帮助下管理事务。 这为您提供了极大的灵活性,但很难维护。 在开始之前,至少有两个数据库表是很重要的,我们可以在事务的帮助下执行各种CRUD操作。 让我们考虑一个Student表,它可以在MySQL TEST数据库中使用以下DDL创建 - CREATE TABLE Student( ID INT NOT NULL AUTO_INCREMENT,

  • 我设置我的类,以便使用Laravel授权和策略功能。但是,在为我的方法定义中间件时,我一直遇到这个错误(类App\Policies\StatusPolicy不存在)。这就是我所拥有的: AuthServiceProvider。php ontroller.php 状态策略。php(由php artisan生成):策略状态策略--model=Status