什么是CTP程序化交易:系统入门

您所在的位置:网站首页 CTP方案是什么意思 什么是CTP程序化交易:系统入门

什么是CTP程序化交易:系统入门

2024-06-20 06:06| 来源: 网络整理| 查看: 265

CTP(Comprehensive Transaction Platform)

综合交易平台。是上期技术专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制、结算三大系统组成。

交易系统

交易系统主要负责订单处理、行情转发及银期转账业务。

结算系统

结算系统负责交易管理、帐户管理、经纪人管理、资金管理、费率设置、日终结算、 信息查询以及报表管理。

风控系统

风控系统则主要在盘中进行高速的实时试算,以及时揭示并控制风险。

详细的技术文档在上海期货信息技术有限公司。

目前对外发布的是交易系统接口,通过该接口可以接收交易所行情和下达交易指令。结算和风控系统由期货公司管理人员通过上期技术提供的CTP管理平台完成,个人投资者无需关心。交易、风控和结算系统完全独立部署在上期技术机房内,由上期技术负责维护。

期货公司与期货交易所

上面提到,CTP是上期技术为期货公司开发的。这里由两个主体。而市场上同等级的主体还有很多,其关系如下。目前国内由三个商品期货交易所(大连商品交易所、上海期货交易所、郑州商品交易所),一个中国金融期货交易所。各大期货交易所均有信息技术子公司对外提供行情交易接口服务,小结如下:

郑商所下属子公司 郑州易盛信息技术有限公司 接口代表:启明星API大商所下属子公司 大连飞创信息技术有限公司 接口代表:XSpeed上期所下属子公司 上海期货信息技术有限公司,接口代表:CTP、CTPMini中金所下属子公司 上海金融期货信息技术有限公司,接口代表:飞马

上述四家公司是整个期权期货行情市场的一手批发商,有些二级批发商从上述四家公司申请接口授权,在提供行情资讯(基本行情、Level2、延时)和数据服务(历史数据、统计数据)的基础上提供增值服务(综合资讯服务、行情交易软件等),再打包按年付费,对外提供服务。这类衍生品资讯信息商有

上海文华财经上海大智慧深圳国泰安万德资讯深圳财富趋势东方财富网同花顺恒生电子

开发者除了直接对接交易所下属技术子公司提供的接口服务外,还可以对接第三方接口服务商,国内主要有以下几家:

金仕达飞鼠量投科技 的 QDP接口盈透证券通联数据

而此处关注的CTP,就是上期所下属子公司上期技术提供的一手行情数据批发接口,此接口有三大系统,不过只开放一个交易系统实现交易信息查询与订单提交。

关于CTP是什么的深入案例理解参见:

中金所的飞马与上期所的CTP有何区别?孰优孰劣?个人使用上期CTP接口开发期货程序化交易平台可行吗?国内有哪些顶级高频交易 (HFT) 团队? Simnow

CTP是实盘用的,测试一般采用SimNow提供的虚拟盘。Simnow即提供实时数据(有延迟),也可以提供历史数据,CTP是不提供历史数据的。

CTP系统架构 交易员终端:基于CTP系统给期货公司提供的UserAPI接口实现的管理终端,主要为期货公司服务,暂不对个人投资者开放FTD通讯协议:期货交易数据交换协议交易前置:连接外部接入终端和内部FIB总线,提供:链路管理、协议转换和数据路由功能。行情前置:通过FIB总线从报盘管理订阅所有行情数据,按需转发给外部接入终端。 通讯模式

CTP内部封装了网络相关逻辑,使用基于TCP协议的FTD协议与CTP后台进行通讯,具体通讯模式有三种:

请求应答模式:客户端主动发起请求,CTP后台接收并响应请求

广播通讯模式:客户端订阅合约行情后,CTP通过广播对外推送行情信息。

私有通讯模式:客户端对某合约进行委托等操作后,报单信息、成交回报等由CTP点对点的推送。

行情数据

国内CTP平台的行情数据tick级别是 1秒2个tick,免费提供一档行情报价。

CTP接口不提供历史行情,历史行情需通过行情商解决。如果未登陆或者登陆断线造成行情数据丢失,CTP不提供行情回补机制。

主动查询行情指令,有流量限制,如果有在途查询,不允许新发查询,CTP对于数据查询操作请求(ReqQryxxx),1秒最多允许发送1个查询,对报单、撤单、报价、询价等操作没有流量限制。

L2行情需要付费购买:

大商所 L2 行情每秒4个tick郑商所 L2 行情每秒4个tick中金所 L2 行情每秒2个tick,L2是五档报价。 CTP用到的文件 ThostFtdcTraderApi.h C++头文件,包含交易相关的指令,如报单。ThostFtdcMdApi.h C++头文件,包含获取行情相关的指令。ThostFtdcUserApiStruct.h 包含了所有用到的数据结构。ThostFtdcUserApiDataType.h 包含了所有用到的数据类型。thosttraderapi.dll 交易部分的动态链接库和静态链接库。thostmduserapi.dll 行情部分的动态链接库和静态链接库。thosttraderapi.libthostmduserapi.liberror.dtd 包含所有可能的错误信息。 CTP使用流程

创建SPI 和API 实例。 这里的SPI 是指开发者创建的自己的类,该类已经继承了接口中的SPI 接口类(CThostFtdcTraderSpi 或 CThostFtdcMdSpi)。而API 即接口中提供的CThostFtdcMdApi 或CThostFtdcTraderApi。

向API 实例注册SPI 实例。

向API 实例注册前置地址。

交易接口需要注册交易前置地址,行情接口需要注册行情前置地址。

订阅公有流(仅限交易接口,行情接口不需要)。

用于接收公有数据,如合约在场上的交易状态。默认模式是从上次断开连接处继续收取交易所发布数据(Resume 模式)开发者还可以指定全部重新获取(Restart),或从登陆后获取(Quick)。

订阅私有流(仅限交易接口,行情接口不需要)。

用于接收私有数据,如报单回报。默认模式是从上次断开连接处继续收取交易所发布数据(Resume 模式)开发者还可以指定全部重新获取(Restart),或从登陆后获取(Quick)。

初始化(Init)

等待线程退出(Join)

相关开源学习程序 C++ CTP-MarketDataMachineC++ CTP-TradeServerC++ thunder-traderPython CTP接口Python版本Python vnpyC++连接CTP接口实现简单量化交易(行情、交易、k线、策略)程序化交易二三事-CTP程序化交易开发入门系列 Reference


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3