基于CTP的程序化交易系统开发
来源:互联网 发布:广东省地名地址数据库 编辑:程序博客网 时间:2024/05/16 09:26
http://blog.sina.com.cn/s/blog_56e7157f01016ri2.html
自从综合交易平台(CTP)的API开放以来,很多人开始编写自己的程序化交易系统,今天我想说说自己的一些看法。
交易涉及的通讯模式共有三种:
1.对话通讯模式,是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如报单、查询等。这种通讯模式与普通的客户/服务器模式相同。
2.私有通讯模式,是指交易所端主动,向某个特定的会员发出的信息。例如成交
回报等。
3.广播通讯模式,是指交易所端主动,向市场中的所有会员都发出相同的信息。
例如公告、市场公共信息等。
CTP的交易API提供了两个接口,分别为CThostFtdcTraderApi 和CThostFtdcTraderSpi
我们自己开发的交易系统通过CThostFtdcTraderApi向CTP发送操作请求,通过CThostFtdcTraderSpi接收CTP的任何响应。
现在把主要的业务举例在下表中
业务举例
通讯模式
CThostFtdcTraderApi
CThostFtdcTraderSpi
登录
对话模式
ReqUserLogin
OnRspUserLogin
报单录入
ReqOrderInsert
OnRspOrderInsert
报单查询
ReqQryOrder
OnRspQryOrder
成交查询
ReqQryTrade
OnRspQryTrade
报单回报
私有模式
OnRtnOrder
成交回报
OnRtnTr
行情涉及的通讯模式共有两种:
1.对话通讯模式,同交易一样,是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如登录,退订等。
2.广播通讯模式,主要是行情订阅,当订阅行情后交易所端主动向会员连续主动发出行情信息。
业务举例
通讯模式
CThostFtdcMdApi
CThostFtdcMdSpi
对话
模式
ReqUserLogin
OnRspUserLogin
行情订阅
广播
模式
SubscribeMarketData
OnRspQryDepthMarketData
行情退订
对话模式
UnSubMarketData
OnRspUnSubMarketData
可见,通过CTP提供的接口,我们可以向CTP发送业务申请,也不断的按照三种通讯模式中的其中一种接收CTP的响应。因此我们写的交易系统中至少就应该有两个线程,一个称其为主业务线程,负责对CTP发出业务申请;另一个线程为API工作线程,负责接收CTP通过广播通讯模式,对话通讯模式,私有通讯模式其中一种模式对交易系统的响应。
1.基本操作,比如登录,订阅等;
2.行情操作,比如对行情数据的接收,存储等
3.订单操作,比如报单;对报单,成交状况的查询;报单,成交状况的私有回报等。
4.数据监听和处理操作,比如接收到新数据之后的统计处理,满足统计条件后的报单处理(其实这里就是我们的策略所在)
程序化交易系统是一个复杂的多线程网络程序,在开发过程中要特别注意处理很多的线程互斥、数据处理造成的网络丢包等一系列棘手问题。另外,对于CTP开发的资料,大家可以留言给我,我尽量提供,也欢迎大家多多讨论。
- 基于CTP的程序化交易系统开发
- 基于CTP的程序化交易系统开发
- 基于CTP的程序化交易系统开发(一)
- 基于CTP的程序化交易系统开发(一)
- 基于CTP的程序化交易系统开发(二)
- 基于CTP的程序化交易系统开发(三)
- 基于CTP的程序化交易系统开…
- 程序化交易系统的搭建
- 基于CTP的国内期货程序化交易之行情获取讲解
- 基于CTP的国内期货程序化交易之报单流程讲解
- 程序化交易系统大全
- 程序化交易系统大全
- 程序化交易系统总结
- 小白期货CTP程序化交易开发入门(一)--CTP开发基础
- 转载]金仕达、恒生、上期CTP,期货公司的哪一套后台系统适合于程序化下单
- 基于恒生的自动交易系统搭建技术汇总(一)
- 如何建立一个基于事件驱动的全自动化交易系统
- 程序化交易的未来
- vs2010新功能(转)
- Oracle GoldenGate DDL Synchronization configuration
- 使用科大迅飞语音开发时的一系列问题及解决办法
- JavaScript浏览器对象之一Window对象
- 页面 百分比进度条
- 基于CTP的程序化交易系统开发
- Unity的遮罩技术简述
- hibernate中只选取某些列的写法
- 网页游戏为什么这么火
- 鼠标划取图像区域并计算面积的matlab代码
- http_get
- 选择,插入,交换,冒泡,希尔排序算法的效率比较
- cacti
- 七周七语言:Prolog Day 1