期货期权交易行情接口

本文将先介绍期货交易所以及行情交易接口相关内容,然后简要介绍CTP接口。

期货交易所

国内目前有三个商品期货交易所,分别是大连商品交易所、上海期货交易所、郑州商品交易所,还有一个中国金融期货交易所。

  • 郑商所(Zhengzhou Commodity Exchange,CZCE) 主要交易合约品种有:农产品(白糖、棉花、苹果等),非农产品(玻璃、甲醇)、期权(白糖)

  • 大商所(Dalian Commodity Exchange,DCE)主要交易合约品种有农产品(玉米、大豆、豆粕),非农产品(聚乙烯、聚丙烯)、期权(豆粕)

  • 上期所(Shanghai Futures Exchange,SHFE)主要交易合约品种有金属(铜、铝)、能源化工(原油、沥青、纸浆)、期权(铜)

  • 中金所主要交易合约品种有股指期货(沪深300、中证500、上证50)、国债期货(2年期、5年期、10年期)、期权(股指期权[仿真测试阶段])

  • 上海证券交易所 提供场内期权(上证50ETF、个股期权[仿真测试阶段]),以及期权业务平台(DTP)

  • 场外股票期权目前直接对接各个券商,以定制化方式提供。

国内大型证券、基金以及期货公司均是上述交易所的会员。

中国期货市场监控中心公司在期货市场的功能类似中登公司在证券市场的功能,主要负责期货账户管理、保证金监控、交易结算、市场监控等职责。该公司提供的投资者查询服务系统,可供期货投资者查询开户基本资料、交易结算账单、保证金账户等相关信息,相关账号和密码由开户期货公司负责提供。

行情交易接口概览

各大期货交易所均有信息技术子公司对外提供行情交易接口服务,小结如下:

以上四家公司在期权期货行情市场上算是一级批发商,提供各自期货期权合约行情资讯、交易接口以及为国内期货公司提供交易系统运维托管服务。随着市场技术趋势发展,各个公司不仅仅提供自家数据,也可对接其他期货交易所和证券交易所。
国内市场上现有许多衍生品资讯信息商,向上述四家公司申请接口授权,在提供行情资讯(基本行情、Level2、延时)和数据服务(历史数据、统计数据)的基础上提供增值服务(综合资讯服务、行情交易软件等),再d打包按年付费,对外提供服务。国内市场上衍生品资讯信息商有

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

CTP接口

基本介绍

CTP(Comprehensive Transaction Platform)是上期技术为期货公司开发的一套期货经纪业务管理系统,由交易、风控和结算三大系统组成。

  • 交易系统主要负责订单处理、行情转发以及银期转账业务
  • 结算系统负责交易管理、账户管理、经纪人管理、资金管理、费率设置、日终结算、信息查询和报表管理
  • 风控系统主要在盘中进行高速实时试算,及时揭示并控制风险

系统能够对接国内期货交易所,支持国内商品期货和股指期货交易结算业务,并能自动生成、报送保证金监控文件和反洗钱监控文件。

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

上期所网站上下载CTP接口以及相关文档资料,最新版本为 6.3.11_20180109,接口库分交易和行情接口,每套接口提供两类API定义,API类和SPI类。

  • 客户端使用API类接口向CTP后台发送请求,开发者可直接调用。
  • CTP后台使用SPI接口向客户端回传响应以及回报,开发者需要继承该接口,按需实现相应虚函数。

一般来说,创建一个继承自SPI的接口类,该类内部持有一个API类的实例指针,初始化该API类实例,将其注册进SPI类的实例即可。

CTP系统架构

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

通讯模式

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

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

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

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

交易业务

CTP支持普通股票买卖、ETF买卖以及申购赎回、国债回购卖出、融资融券等业务。交易指令方面,支持市价、限价报单以及撤单等交易指令。

报单类型支持

报价类型 触发条件(ContingentCondition) 报单价格类型(OrderPriceType)
限价单 立即 限价
市价单 立即 市价
限价止损单 止损 限价
市价止损单 止损 市价
市价转限价 立即执行 最优价类型

两种特殊的报价类型:

  • FOK(Fill or Kill) : 当前全市场行情满足撮合要求,要么立即全部成交,要么立即全部撤销
  • FAK(Fill and Kill): 当前市场行情能立即成交多少手,就撮合成交多少手,剩余的立即全部撤销。若成交类型设置为最小数量,需设置MinVolume字段,若实际能成交的数量小于最小数量,则不会参与撮合成交,全部立即撤销。
报价类型 报单价格类型(OrderPriceType) 有效期类型(TimeCondition) 成交量类型(VolumeCondition)
FOK 限价 立即完成,否则撤销 全部数量
FAK 限价 立即完成,否则撤销 任何数量/最小数量

大商所、郑商所提供套利交易指令和市价单,除此之外,大商所提供止盈止损条件单。预埋单由CTP后台提供。

行情数据

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

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

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

L2行情需要付费购买:

  • 大商所 L2 行情每秒4个tick
  • 郑商所 L2 行情每秒4个tick
  • 中金所 L2 行情每秒2个tick,L2是五档报价。

流文件

CTP在初始化时,会在本地生成若干流文件,用来保存当日客户端收到的公有流、私有流、对话流等报文的数量。

流文件主要用来实现在Resume模式下,重新收取交易所数据的功能。在实际开发过程中需要注意以下几点:

  1. CTP接口会对流文件进行大量的读写操作,如果客户端不对系统中的句柄数量进行管理的话,很可能会出现句柄被用光的情况。
  2. 在多账户开发时,不能将多个账户收取到的流文件放在同一个目录下,不然会造成一个账户能收到回报,而其他账户无法收到回报。

行情交易流文件解释说明:

参考文档:
期货公司统一编码
上期所的技术交流网站simnow

原文地址:https://www.cnblogs.com/cherishui/p/10156040.html