Introduction
=================================================

TqSdk 是一套依托 `DIFF协议 (Differential Information Flow for Finance) <https://github.com/shinnytech/diff>`_ 的开源 python 框架. 它支持用户使用较少的工作量构建量化交易或分析程序.

与其它 python 框架相比, TqSdk 致力于在以下几方面为用户提供价值:

1. 用最低部署运行成本实现完整功能栈

    * 无需用户部署维护历史数据库, 直接提供所有期货品种的报价盘口, K线数据, Tick序列的实时推送
    * 支持通过CTP接口发送交易指令

2. 鼓励 Quick & Simple 的用户代码风格

    * 策略代码按线性逻辑编写, 避免复杂的回调函数/状态机
    * 策略运行中用到的所有数据都在内存中, 且不需读写锁, 避免读写过程引入延时
    * 所有行情及交易接口都返回 object refrence, 一次调用获取, 内容可自动更新
    * 统一易用的超时及异常管理机制
    * tqsdk本身仅2个py文件, 代码总量约1000行, 便于学习和修改

3. 通过天勤的预置功能为用户代码提供支持, 避免用户在非核心功能上花费时间精力

    * 通过历史复盘及模拟交易功能, 将用户程序带回特定历史环境测试
    * 在天勤终端中构建自定义组合, 并获得组合的报价和K线数据
    * 提供委托单/成交/持仓情况监控的UI界面
    * 允许用户向软件中的图表提供额外的技术指标


TqSdk 主要包括2个组件

* api: 一个结合了网络通讯和全内存数据管理的接口, 提供了基础的行情和交易功能
* lib: 基于api构建的常用功能函数库


Install
-------------------------------------------------
安装前准备:

* windows或linux系统
* python3.6+
* 安装 `天勤终端 <http://www.tq18.cn>`_ 0.8 以上版本

从github下载 tqsdk::

    git clone https://github.com/shinnytech/tqsdk-python.git


安装::

    python setup.py install


Run
-------------------------------------------------
启动天勤终端, 并登录交易(模拟或实盘)

运行demo目录下的任一程序::

    python demo/t10.py

