天勤量化(TqSdk)与使用Ctp接口开发策略程序有哪些差别

TqSdk与使用Ctp接口开发策略程序有哪些差别

如果您曾经直接使用CTP接口开发过交易策略程序, 目前刚开始接触 TqSdk, 下面的信息将帮助您尽快理解 TqSdk(天勤量化)

系统整体架构
CTP接口直接连接到期货公司交易系统, 从期货公司系统获取行情并执行交易指令.
在这里插入图片描述
如图所示, 整个系统结构包括这些关键组件:

行情网关 (Open Md Gateway) 负责提供实时行情和历史数据
交易中继网关 (Open Trade Gateway) 负责连接到期货公司交易系统
上面两个网关统一以 Diff 协议对下方提供服务
天勤终端和TqSdk按照Diff协议连接到行情网关和交易中继网关, 实现行情和交易功能

这样的结构可以给用户带来一些好处:

TqSdk 很小, 安装也很方便, 只要简单 pip install tqsdk 即可
官方专门运维行情数据库, 用户可以直接使用, 不需要自己接收和存储数据
交易相关接口被大幅度简化, 不再需要处理CTP接口的复杂回调, 也不需要发起任何查询请求
任何语言只要支持websocket协议, 都可以用来进行策略开发

也有一些不如直接使用CTP接口方便的地方:

由于交易指令经交易网关转发, 用户无法直接指定CTP服务器地址. 用户如果需要连接到官方交易网关不支持的期货公司, 需要自行部署交易网关.

K线数据与指标计算

Ctp接口不提供K线数据.
在TqSdk中, K线数据和其它行情数据一样是由行情网关生成并推送的:

用户不再需要维护K线数据库. 用户电脑实时行情中断后, 也不再需要补历史数据
行情服务器生成K线时, 采用了按K线时间严格补全对齐的算法. 这与其它软件有明显区别, 详见 https://www.shinnytech.com/blog/why-our-kline-different/
行情数据只在每次程序运行时通过网络获取, 不在用户硬盘保存. 如果策略研究工作需要大量静态历史数据, 我们推荐使用数据下载工具, 另行下载csv文件使用.

TqSdk中的K线序列采用 pandas.DataFrame 格式. pandas 提供了 非常丰富的数据处理函数 , 使我们可以非常方便的进行数据处理, 例如:

ks = api.get_kline_serial("SHFE.cu1901", 60)
print(ks.iloc[-1])            # <- 最后一根K线
print
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值