基于CTP的程序化交易系统开发一 ctp高频交易系统源码

基于CTP的程序化交易系统开发(一) ctp高频交易系统源码

自从综合交易平台(CTP)的API开放以来,很多人开始编写自己的程序化交易系统,今天我想说说自己的一些看法。
首先解读一下CTP的接口说明,CTP的API使用建立在TCP协议之上FTD协议(《期货交易数据交换协议》)与交易托管系统进行通讯,而交易托管系统负责投资者的交易业务处理。FTD 协议中规定了所有的通讯都基于某一种通讯模式。

交易涉及的通讯模式共有三种:

1.对话通讯模式,是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如报单、查询等。这种通讯模式与普通的客户/服务器模式相同。

2.私有通讯模式,是指交易所端主动,向某个特定的会员发出的信息。例如成交

回报等。

3.广播通讯模式,是指交易所端主动,向市场中的所有会员都发出相同的信息。

例如公告、市场公共信息等。

CTP的交易API提供了两个接口,分别为CThostFtdcTraderApi 和CThostFtdcTraderSpi

我们自己开发的交易系统通过CThostFtdcTraderApi向CTP发送操作请求,通过CThostFtdcTraderSpi接收CTP的任何响应。

现在把主要的业务举例在下表中

业务举例

通讯模式

CThostFtdcTraderApi

CThostFtdcTraderSpi

登录

对话模式

ReqUserLogin

OnRspUserLogin

报单录入

ReqOrderInsert

OnRspOrderInsert

报单查询

ReqQryOrder

OnRspQryOrder

成交查询

ReqQryTrade

OnRspQryTrade

报单回报

私有模式

OnRtnOrder

成交回报

OnRtnTrade

行情涉及的通讯模式共有两种:

1.对话通讯模式,同交易一样,是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如登录,退订等。

2.广播通讯模式,主要是行情订阅,当订阅行情后交易所端主动向会员连续主动发出行情信息。

业务举例

通讯模式

CThostFtdcMdApi

CThostFtdcMdSpi

登录

对话
模式

ReqUserLogin

OnRspUserLogin

行情订阅

广播

模式

SubscribeMarketData

OnRspQryDepthMarketData

行情退订

对话模式

UnSubMarketData

OnRspUnSubMarketData

可见,通过CTP提供的接口,我们可以向CTP发送业务申请,也不断的按照三种通讯模式中的其中一种接收CTP的响应。因此我们写的交易系统中至少就应该有两个线程,一个称其为主业务线程,负责对CTP发出业务申请;另一个线程为API工作线程,负责接收CTP通过广播通讯模式,对话通讯模式,私有通讯模式其中一种模式对交易系统的响应。

综上所述,我们的程序化交易系统需要完成的业务可以划分为:

1.基本操作,比如登录,订阅等;

2.行情操作,比如对行情数据的接收,存储等

3.订单操作,比如报单;对报单,成交状况的查询;报单,成交状况的私有回报等。

4.数据监听和处理操作,比如接收到新数据之后的统计处理,满足统计条件后的报单处理(其实这里就是我们的策略所在)

那么,我建议将我们的程序化交易系统分为四个线程,分别处理上述业务。程序的主线程就可以完成基本操作,完成登入,订阅等初始化工作。

其它三个线程工作关系如下图所示:


程序化交易系统是一个复杂的多线程网络程序,在开发过程中要特别注意处理很多的线程互斥、数据处理造成的网络丢包等一系列棘手问题。另外,对于CTP开发的资料,大家可以留言给我,我尽量提供,也欢迎大家多多讨论。

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/103598.html

更多阅读

基于标准的课程设计:开发表现性评价

朱伟强* 崔允漷**摘 要:国家颁布的课程标准,作为一种政策力量,规范着课程的实践。新课程提出了建立发展性评价的理念,课程设计和教学实践要求用评价来促进学习,评价设计先于教学实施。本文主要讨论设计基于标准的课程需要思考的第二个问

开源网店系统源码 java开源oa系统源码

开源网店系统源码 -- 开源网店系统论坛MagentoMagento是一套专业开源的PHP电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。采用zend framework开源框架。进入zend framework .

网域高科 OA办公系统源码--破解版 tripscms源码 破解版

管理员:admin 登陆密码:admin888网络办公OA系统源码OA自动化系统免费版下载是一套适用于公司,企业,政府行政,事业单位的通用型网络办公软件,该系统是网络办公环境下程序的最佳解决方案。采用领先的B/S(浏览器/服务器)操作方式,使得网络办公

声明:《基于CTP的程序化交易系统开发一 ctp高频交易系统源码》为网友龙爷无敌分享!如侵犯到您的合法权益请联系我们删除