证券CTP平台TraderAPI接口

合集下载

ctp手册

ctp手册

CTP交易报告——应用编程手册1、历年版本版本:v4.2时间:2009-11-6备注:英文版2、索引第一章简介1.1 背景1.2 API文件介绍第二章结构2.1 通讯模式2.2 数据流第三章编程接口类型3.1 对话模式的编程接口3.2 私有模式的编程接口3.3 广播模式的编程接口第一章介绍综合交易平台(Comprehensive Transaction Platform),是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成。

API,实现了客户端和综合交易平台之间的通讯。

通过API,投资者可以接收来自上交所,大商所和郑商所的行情数据,发送交易指令,接收相应的反馈和交易状态等信息。

1.1 背景2006年,上海金融期货交易所完成了新一代交易系统的开发,我们借助其成功经验,开发了CTP。

2007年4月,我们获得了来自中国期货公司交易的第一笔订单。

通过近三年的不懈努力,使用CTP的投资者遍布全球,国内使用CTP的期货公司已到达30家。

1.2 API文件CTP上使用的API是基于C++程序库,来实现客户端和CTP服务器之间的数据传输。

客户端包括,所有投资者都可以使用的CTP标准客户端(比如,Q7,popo,weisoft等第三方开发的客户端),以及个性化交易工具(由投资者个人或其合作者开发)。

通过API,客户端可以发出或撤销普通单、条件单、查询委托或交易状态、查询账户实时信息和交易头寸。

API程序库包括:注:使用MS VC 6.0,MS 2003等编程工具的,需要在编程设置中打开“multi-thread”选项。

第二章结构CTP的API和CTP服务器之间使用的通讯协议是期货交易数据协议(futures TradingData Exchange protocol ,FTD),它基于TCP协议。

2.1 通讯模式在FTD协议中,通讯模式包括以下三种模式:●对话模式,客户端给CTP发送请求,CTP将会相应返回结果。

穿透式监管CTPAPI使用说明

穿透式监管CTPAPI使用说明

穿透式监管CTPAPI使用说明文档修订历史记录内容申明目录第1章引言 (2)1.1实现目的 (2)1.2背景 (2)1.3定义 (2)第2章流程设计 (3)2.1终端认证方案 (3)2.1.1 背景条件 (3)2.1.2 appid对应的授权码分发流程 (3)2.1.3 登录前认证 (4)2.2使用CTP交易API进行终端信息采集 (6)2.2.1 直接使用CTP交易API直连模式 (6)2.2.2 使用中继服务器操作员登录模式 (8)2.2.3 使用中继服务器多对多登录模式 (11)第3章CTP API使用说明 (12)3.1采集API使用说明 (12)3.1.1 采集API说明 (12)3.2T RADER API (12)3.2.1 穿透式监管涉及到的API (12)3.2.2 客户使用流程 (14)上海期货信息技术有限公司第第1章引言1.1 实现目的简要描述CTP对于终端数据采集和终端认证的实现方案。

用于指导终端厂商正确使用CTP的交易API和采集API。

1.2 背景证监会发布《关于进一步加强期货经营机构客户交易终端信息采集有关事项的公告》/pub/zjhpublic/zjh/201807/t20180709_340951.htm监控中心发布的《期货公司客户交易终端信息采集及接入认证技术规范》关于进一步加强期货经营机构客户交易终期货公司客户交易终端信息采集及接入认1.3 定义第2章穿透式监管方案设计2.1 终端认证方案2.1.1背景条件每个期货终端软件需要向期货公司申请自己的appid。

中继服务器软件需要向期货公司申请自己的relayappid。

2.1.2appid对应的授权码分发流程期货公司确认终端软件集成了正确的数据采集模块后,为该appid的终端软件分配授权码。

终端软件需要保护好自己的appid和授权码,防止被其他软件盗用。

2.1.2.1 直连终端认证流程对于直接连接期货公司交易柜台的终端,期货公司确认终端软件集成了正确的数据采集模块后。

深交所第五版接口

深交所第五版接口

深交所第五版接口深交所第五版接口是深圳证券交易所的一套完整的系统接口,它通过开放接口给开发者提供了一系列的数据、功能和服务。

本文将从概述深交所第五版接口及其优势,接口分类、数据结构和使用方法介绍四个方面逐一进行详细阐述,以期为开发者提供更为详细的了解和使用指南。

一、概述深交所第五版接口是一个开放、独立的系统接口。

作为深圳证券交易所为开发者提供的一套完整的解决方案,其主要目的是为开发者提供一个通用的、可扩展的开发平台。

该接口提供了一个开放的数据访问和交互的方式,允许开发者查询、修改、删除交易数据等,支持市场数据、交易数据、信息查询等多种功能。

二、接口分类深交所第五版接口可以根据涉及的功能进行分类,这里对其主要的四类接口进行简要介绍。

1、流式数据接口(Trading API)这是深交所的主要接口,主要用于与交易平台连接,实时拉取行情数据。

该接口支持 HTTP 和WebSocket两种协议,并提供了众多的行情数据、K线数据等,可以方便地满足用户行情数据查询等功能。

2、订单接口(Order API)该接口用于提交删除和修改订单,同时还支持订单信息查询等操作。

3、查询接口(Query API)该接口提供了多种可以用于查询的服务,如资金查询、持仓查询、成交查询等。

4、数据推送接口(Push API)这是用于数据主动推送的接口,使用该接口进行行情数据推送等。

三、数据结构深交所第五版接口的数据结构类似于JSON数据格式,内部包含了多个字段,每个字段都有特定的含义。

在使用该接口时,开发者需要掌握常用的一些字段信息,如证券代码、交易量、成交价位等。

四、使用方法深交所第五版接口使用十分简单,首先需要定位到所需功能所属的模块,并选择相应的接口进行调用。

接口的调用主要通过http请求方式,每个接口都拥有对应的url 地址和请求方式。

当用户请求接口时,需要提供相应的请求参数,请求参数会根据接口不同而有所变化,请开发者在使用前务必确认相关参数信息。

CTP接口开发指南

CTP接口开发指南

///部分成交还在队列中 #define THOST_FTDC_OST_PartTradedQueueing '1' ///部分成交不在队列中 #define THOST_FTDC_OST_PartTradedNotQueueing '2' ///未成交还在队列中 #define THOST_FTDC_OST_NoTradeQueueing '3' ///未成交不在队列中 #define THOST_FTDC_OST_NoTradeNotQueueing '4' ///撤单 #define THOST_FTDC_OST_Canceled '5' ///未知 #define THOST_FTDC_OST_Unknown 'a' ///尚未触发 #define THOST_FTDC_OST_NotTouched 'b' 多次响应对应 FrontID + SessionID + OrderRef BrokerID + BrokerOrderSeq ExchangeID + OrderSysID OnRtnTrade 与 OnRtnOrder 对应 BrokerID + BrokerOrderSeq ExchangeID + OrderSysID 成交价格: Price 成交时间:TradeTime
ห้องสมุดไป่ตู้价单
市价单 任意价格 价格为 0
触发单 ///触发条件:用户设定 ContingentCondition = ……; ///止损价:用户设定 StopPrice = ……; /// 报单价格条件类型:限价 OrderPriceType = THOST_FTDC_OPT_LimitPrice; /// 价格:用户设定 LimitPrice = ……; /// 有效期类型类型:当日有效 TimeCondition = THOST_FTDC_TC_GFD;

Hello?CTP(二)——CTP简介

Hello?CTP(二)——CTP简介

Hello CTP(二)——CTP简介一、CTP简介1、CTP简介CTP(Comprehensive Transaction Platform)综合交易平台是上海期货信息技术有限公司(上海期货交易所全资子公司)开发的期货交易平台,CTP平台以新一代交易所系统的核心技术为基础,具有稳定、高速的开放式接口,适合程序化交易运用和短线炒单客户使用。

2、CTP设计(1)高可用性CTP通过提高系统的容错、排错、检错、纠错能力来保证系统可用性。

对可能错误进行容错设计;对关键应用部件采用冗余设计,交易系统所有关键节点都有备份系统,出现故障时可以迅速、平滑地切换系统,不影响系统运行。

交易数据可以实现精确重演,保证系统重要数据的安全性设置并发布运行日志和信息跟踪功能。

在设计API接口和人机接口时,对关键输入信息引入检错、纠错机制。

(2)大规模并发处理能力期货交易系统对交易的实时性要求很高,客观上要求系统应当具有大规模并发的快速处理能力。

一般从系统的体系结构和计算模型、内存组织结构、临时文件的组织结构和数量、软件结构和程序调用关系、系统数据的分布方式及应用的组织结构等方面提升系统的运行效率。

(3)安全性交易员或投资者的身份应得到有效验证,使得未授权用户不能进行交易;交易监控和关键数据日志记录,使得交易行为不可抵赖以及可日后审计;交易数据加密,使得交易不会泄密和被监控偷听等。

(4)可扩展性系统在软件体系结构维持不变的情况下,通过对硬件配置的扩展提升系统性能。

同时,系统设计应尽可能灵活,保证以后的扩展性。

交易系统内部,应当由相对独立的交易组件组成。

(5)业务规则的隔离通过对不断扩展的业务进行抽象,形成各种业务规则。

对于这些业务规则,应当使相互之间的影响降到最低,在增加新的规则或对原有规则进行调整时,将影响降到最低。

3、CTP通讯模式CTP API使用基于TCP协议上的FTD协议与CTP后台进行通讯,FTD协议中的所有通讯都基于某个通讯模式。

CTP新版银期转帐TradeApi使用说明

CTP新版银期转帐TradeApi使用说明

新版银期转帐TradeApi使用说明银行发起银行资金转期货通知函数原形:virtual void OnRtnFromBankToFutureByBank(CThostFtdcRspTransferField *pRspTransfer)参数说明:pRspTransfer银行发起银行资金转期货通知包体,其结构定义见(ThostFtdcUserApiStruct.h)银行发起期货资金转银行通知函数原形:virtual void OnRtnFromFutureToBankByBank(CThostFtdcRspTransferField *pRspTransfer)参数说明:pRspTransfer银行发起期货资金转银行通知包体,其结构定义见(ThostFtdcUserApiStruct.h)银行发起冲正银行资金转期货通知函数原形:virtual void OnRtnRepealFromBankToFutureByBank(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行发起冲正银行转期货通知包体,其结构定义见(ThostFtdcUserApiStruct.h)银行发起冲正期货资金转银行通知函数原形:virtual void OnRtnRepealFromFutureToBankByBank(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行发起冲正期货转银行通知包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起银行资金转期货自动冲正通知函数原形:OnRtnRepealFromBankToFutureByFuture(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起期货资金转银行自动冲正通知函数原形:RtnRepealFromFutureToBankByFuture(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起银行资金转期货手工冲正通知函数原形:virtual void OnRtnRepealFromBankToFutureByFutureManual(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起银行资金转期货手工冲正错误通知函数原形:virtual void OnErrRtnRepealBankToFutureByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo)参数说明:pReqRepeal交易核心(tkernel)处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起期货资金转银行手工冲正通知函数原形:virtual void OnRtnRepealFromFutureToBankByFutureManual(CThostFtdcRspRepealField *pRspRepeal)参数说明:pRspRepeal银行处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)期货发起期货资金转银行手工冲正错误通知函数原形:virtual void OnErrRtnRepealFutureToBankByFutureManual(CThostFtdcReqRepealField *pReqRepeal, CThostFtdcRspInfoField *pRspInfo)参数说明:pReqRepeal交易核心(tkernel)处理结果包体,其结构定义见(ThostFtdcUserApiStruct.h)查询转帐流水1.请求函数原形:virtual int ReqQryTransferSerial(CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID)参数说明:pQryTransferSerial查询条件,其结构定义为struct CThostFtdcQryTransferSerialField{TThostFtdcBrokerIDType BrokerID; ///经纪公司代码TThostFtdcAccountIDType AccountID; ///投资者帐号TThostFtdcBankIDType BankID; ///银行编码};其中:BrokerID必填、AccountID必填nRequestID请求编号2.应答函数原形:virtual void OnRspQryTransferSerial(CThostFtdcTransferSerialField *pTransferSerial, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) 参数说明:pTransferSerial流水记录,其结构定义见(ThostFtdcUserApiStruct.h); pRspInfo:为处理结果信息,ErrorID=0表示成功,其它表示错误;bIsLast:是否有后续包体期货发起银行资金转期货1.请求:函数原形:virtual int ReqFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, int nRequestID)参数说明:pReqTransfer请求包体,其结构定义见(ThostFtdcUserApiStruct.h);其中,必填字段有:业务功能码(TradeCode)、银行代码(BankID)、银行分支机构代码(BankBranchID,填‘0000’)期货公司代码(BrokerID)、银行帐户密码(BankPassWord)、投资者帐号(AccountID)、资金帐户密码(Password)、资金帐户密码核对标志(SecuPwdFlag,值为BPWDF_BlankCheck)、币种(CurrencyID)、转帐金额(TradeAmount)nRequestID请求编号2.交易核心响应:函数原形:virtual void OnRspFromBankToFutureByFuture(CThostFtdcReqTransferField *pReqTransfer, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast)参数说明:pReqTransfer更新后的请求包体pRspInfo交易核心(tkernel)处理结果(ErrorID=0表示成功)nRequestID请求编号bIsLast是否有后续包体特殊说明:使用本函数后,可以不再使用“4。

CTP 接口COM封装使用指南

CTP 接口COM封装使用指南

CTP 接口COM封装使用指南盈佳发布了一个基于COM标准的CTP-API接口封装,通过这个COM接口,用户可以利用任何支持COM的语言来接入CTP;该COM 组件在内部进行仓位和资金的自动计算,并对用户屏蔽了上期所的平今和平昨的差别(优先平今),对用户非常友好。

1.1 COM包构成该COM组件在运行时,需要下面几个文件:✧ctpcom.dll✧thosttraderapi.dll✧thostmduserapi.dll✧config.xml(可以有多个,不同的期货公司需要不同的配置文件,在登录时指定这个配置文件的名称)✧error.xml,error.dtd ctp中错误信息定义1.2 COM注册在使用COM组件之间,需要先注册注本COM组件,步骤如下:✧运行cmd,✧cd到ctpcom.dll所在的目录,✧运行Regsvr32 ctpcom.dll1.3 COM接口方法该COM提供的接口(c++语言描述)如下:✧Login([in] BSTR ConfigFile,[in] BSTR UserID,[in] BSTRPassword,[out] int *ErrorID);说明:登录到CTP系统。

必须首先调用该方法成功登录后,才能调用其他方法。

参数:ConfigFile,配置文件的名称,该配置文件必须和ctpcom.dll放在同一个目录下。

通过指定不通的配置文件,可以创建多个ctpcom对象,连接到不同的期货经纪公司。

UserID, 投资者账户名Password,投资者密码;ErrorID,返回登录错误代码,为0时表示登录成功,其他值表示登录失败。

✧Buy([in] BSTR pszInstrumentID,[in] int volume,[in] doubleprice,[out] long* OrderID);说明:对指定的合约买入开仓;参数:pszInstrumentID,合约代码,区分大小写;volume,开仓手数,以停板价+立即撤单来模拟)OrderID,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;✧Sell([in] BSTR pszInstrumentID,[in] int volume,[in] doubleprice,[out] long* OrderID);说明:对指定的合约卖出平仓;参数:pszInstrumentID,合约代码,区分大小写;volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价+立即撤单来模拟)OrderID,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;✧Short([in] BSTR pszInstrumentID,[in] int volume,[in] doubleprice,[out] long* OrderID);说明:对指定的合约卖出开仓;参数:pszInstrumentID,合约代码,区分大小写;volume,开仓手数,以停板价+立即撤单来模拟)OrderID,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;✧Cover([in] BSTR pszInstrumentID,[in] int volume,[in] doubleprice,[out] long* OrderID);说明:对指定的合约买入平仓;参数:pszInstrumentID,合约代码,区分大小写;volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价+立即撤单来模拟)OrderID,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;✧PlaceOrder([in] BSTR pszInstrumentID, [in] int buySell, [in] intopenClose, [in] int volume,[in] double price,[out] long* OrderID); 说明:对指定的合约买入平仓;参数:pszInstrumentID,合约代码,区分大小写;buySell, 买卖,0为买,1为卖;openClose, 开平,0为开,1为平;volume,平仓手数,price,平仓价格,0表示以市价平仓(对于上期所,以停板价+立即撤单来模拟)OrderID,返回该报单的唯一编号,可以通过这个编号来跟踪此报单;✧CancelOrder([in] long OrderID,[out]int* status);说明:对指定的报单进行撤单操作;参数:OrderID,指定的报单号;Status,返回代码,>0表示已经对该报单发出撤单指令,<=0表示该报单不存在,或者已经不可撤;✧SubscribeMD([in] BSTR InstrumentID);说明:订阅某个合约的行情数据。

综合交易平台ctp api 教程

综合交易平台ctp api 教程

通用规则 – 查询/请求
• 请求查询合约
virtual int ReqQryInstrument(CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID) = 0;
• 请求查询合约响应
virtual void OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};
通用规则 – 查询/请求
• 查询参数
如果查询参数为空,说明需要查询所有 • 响应信息RspInfo
数据。如果需要查询某个交易所的合约, 就在查询参数中指定ExchangeID。
如果RspInfo为空,或者RspInfo的错 误代码为0,说明查询成功。
• 请求编号RequestID
发送请求时需要设定RequestID, TraderApi返回响应时返回相关请求的 RequestID。
/// 操作标志类型:撤单
ActionFlag = THOST_FTDC_AF_Delete /// 交易序列号
• 如果Thost接受了撤单指令,用户不会收到 OnRspOrderAction,而会收到OnRtnOrder, 用来更新委托状态。
FrontID +SessionID+OrderRef,
• 注意:服务器在触发服务器预埋单、条件单时,会发送新的委托指令到交易 所,需要设置新的OrderRef和OrderSysID。
交易业务 – 报单指令
• 报单指令是:ReqOrderInsert。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.3.11. OnRspOrderAction 方法................................................................................17 6.3.12. OnRspQryOrder 方法 ....................................................................................18
6.3.22. 6.3.23. 6.3.24. 6.3.25.
OnRspQryMarket 方法 ...................................................................................36 OnRtnTrade 方法 ...........................................................................................37 OnRtnOrder 方法...........................................................................................38 OnErrRtnOrderInsert 方法..............................................................................40
4. 运行模式...................................................................................................................................2 4.1. 工作线程...................................................................................................................2
6.3.20. OnRspQryDepthMarketData 方法..................................................................32 6.3.21. OnRspQryOrderFundDetail 方法 ...................................................................35
6.3.13. 6.3.14. 6.3.15. 6.3.16. 6.3.17. 6.3.18. 6.3.19.
OnRspQryTrade 方法.........................................................21 OnRspQryInvestor 方法 ................................................................................23 OnRspQryInvestorSecurityPosition 方法 ......................................................25 OnRspQryTradingAccount 方法.....................................................................26 OnRspQryTradingCode 方法.........................................................................28 OnRspQryExchange 方法...............................................................................29 OnRspQrySecurity 方法 .................................................................................30
2.1. 通讯模式...................................................................................................................1 2.2. 数据流.......................................................................................................................3 3. 接口模式...................................................................................................................................1
6.
7.
8.
9.
10.
11.
12.
版权所有©上海期货信息技术有限公司
第1页
证券交易托管系统
TradeAPI 接口
目录
1. 介绍...........................................................................................................................................6 2. 体系结构...................................................................................................................................1
3.1. 对话流和查询流编程接口.......................................................................................1 3.2. 私有流编程接口.......................................................................................................2
6.3.2. OnFrontDisconnected 方法..............................................................................9 6.3.3. OnHeartBeatWarning 方法 ...............................................................................9
证券交易托管系统
交 易 员 应 用 程 序 接 口
2016 年 1 月
证券交易托管系统
1. 文件属性 文件属性
文件名称 文件编号 文件版本号 文件状态 作者 文档编写日期 文档发布日期
内容 证券交易托管系统_ TradeAPI 接口
V0.3 草稿 上海期货信息技术有限公司 2016-1-27
TradeAPI 接口
2. 文件变更历史清单
文件版本号
修正日期
V0.1
2015-4-8
V0.2
2015-5-21
V0.3
2016-1-27
修正人 桂荣盛 桂荣盛 包路跃
备注 创建 增加个股期权接口说明 增加分级基金、融资融券 接口说明
3. 本次修改变更说明
序号
变更内容简述
1.
增加分级基金、融资融券接口说明
2.
3.
4.
5.
4.2. 本地文件...................................................................................................................3 5. 业务与接口对照.......................................................................................................................4
5.1. TraderAPI..................................................................................................................4
5.2. MarketDataAPI .........................................................................................................7
6. 开发接口...................................................................................................................................8
6.1. 通用规则...................................................................................................................8 6.2. 托管服务地址设置要求...........................................................................................8
相关文档
最新文档