还不理解真格量化API设计?我们不妨参考一下CTP平台

论坛 期权论坛 期权     
真格量化   2019-6-24 09:20   63327   0
在阅读真格量化API文档的时候,有些读者会对一些API的设计感到困惑。



为了更好地理解真格量化的API,我们有必要了解其封装的一些底层柜台API,例如上期技术的CTP。


综合交易平台CTP(Comprehensive Transaction Platform)是由上海期货信息技术有限公司(上海期货交易所的全资子公司)开发的期货交易平台。CTP平台以"新一代交易所系统"的核心技术为基础,提供稳定、高速、开放式的接口,适合程序化交易软件调用。


CTP API接口文件清单一般包括:

整个开发包有2个核心头文件包括4个核心接口,
其中ThostFtdcMdApi和ThostFtdcTraderApi两个头文件,一个处理行情,一个处理交易。


(1)在ThostFtdcMdApi.h头文件中,处理行情的CThostFtdcMdApi接口有两个类(class),分别是CThostFtdcMdApi和CThostFtdcMdSpi,以Api结尾的是用来下达指令,以Spi结尾的是用来响应指令的回调。









(2)在ThostFtdcTraderApi.h头文件中,处理交易的CThostFtdcTraderApi接口也有两个类,分别是CThostFtdcTraderApi和CThostFtdcTraderSpi,  通过CThostFtdcTraderApi向CTP发送操作请求,通过CThostFtdcTraderSpi接收CTP的操作响应。

CTP API的命名规则:

例如,一些处理行情的API:

一些处理交易的API:

CTP是基于多线程的,程序运行的时候至少有两个线程在工作,一个是程序主线程,另一个是API工作线程。


CTP支持TCP/UDP协议,支持socks4、socks4a 及 socks5代理,以及支持SSL安全套接字。通过函数回调来使用API接口。

与头文件类似,CTP的API封装分为两大部分,一个是TraderApi(thosttraderapi.dll)负责交易部分,另一个是MdUserApi(thostmduserapi.dll)负责行情部分。


交易接口初始化示例:

行情接口初始化步骤:

CTP初始化过程:
其对应的步骤相当于真格量化的账户登录:


Context.accounts["你的期货账户"].Login()


CTP报单时序图:

其对应一系列真格量化的API,例如:


InsertOrder报单请求

OnOrderChange 委托回报:



OnTradeDeal 成交回报:





CancelOrder撤单请求:



下次当您对一些真格量化的Python API用法和设计有疑问时,也不妨参考一下CTP本身的API设计,因为封装的上层不可避免地要继承一些被封装的底层的设计和特性,且受底层功能的制约。有些上层未能实现的功能也是因为底层本身(例如CTP平台或交易所)还不支持这些功能。



— — — — — — E N D — — — — — —
往期文章:
Numpy处理tick级别数据技巧
真正赚钱的期权策略曲线是这样的
多品种历史波动率计算
如何实现全市场自动盯盘
AI是怎样看懂研报的
真格量化策略debug秘籍
真格量化对接实盘交易
常见高频交易策略简介

如何用撤单函数改进套利成交

Deque提高处理队列效率

策略编程选Python还是C++

如何用Python继承机制节约代码量

十大机器学习算法
如何调用策略附件数据

如何使用智能单

如何扫描全市场跨月价差

如何筛选策略最适合的品种

活用订单类型规避频繁撤单风险

真格量化回测撮合机制简介

如何调用外部数据

如何处理回测与实盘差别

如何利用趋势必然终结获利

常见量化策略介绍

期权交易“七宗罪”

波动率交易介绍

推高波动率的因素

波动率的预测之道

趋势交易面临挑战
如何构建知识图谱
机器学习就是现代统计学

AI技术在金融行业的应用

如何避免模型过拟合

低延迟交易介绍

架构设计中的编程范式

交易所视角下的套利指令撮合

距离概念与特征识别

气象风险与天气衍生品

设计量化策略的七个“大坑”

云计算在金融行业的应用

机器学习模型评估方法
真格量化制作期权HV-IV价差
另类数据介绍

TensorFlow中的Tensor是什么?

机器学习的经验之谈

用yfinance调用雅虎财经数据

容器技术如何改进交易系统
Python调用C++
如何选择数据库代理
统计套利揭秘
[h1]一个Call搅动市场?让我们温习一下波动率策略[/h1][h1]如何用真格量化设计持仓排名跟踪策略[/h1][h1][/h1]真格量化可访问:
https://quant.pobo.net.cn


真格量化微信公众号,长按关注:

遇到了技术问题?欢迎加入真格量化Python技术交流QQ群  726895887















































分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:870
帖子:180
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP