1、 证券 交易托管系统 交 易 员 应 用 程 序 接 口 2016 年 1 月 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 1 页 1. 文件属性 文件属性 内容 文件名称 证券 交易托管系统 _ TradeAPI 接口 文件编号 文件版本号 V0.3 文件状态 草稿 作 者 上海期货信息技术有限公司 文档编写日期 2016-1-27 文档发布日期 2. 文件变更历史清单 文件版本号 修正日期 修正人 备 注 V0.1 2015-4-8 桂荣盛 创建 V0.2 2015-5-21 桂荣盛 增加个股期权接口说明 V0.3 2016-1-27 包路跃 增加分级
2、基金、融资融券接口说明 3. 本次修改变更说明 序号 变更内容简述 1. 增加分级基金、融资融券接口说明 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 2 页 目 录 1. 介绍 . 6 2. 体系结构 . 1 2.1. 通讯模式 . 1 2.2. 数据流 . 3 3. 接口模式 . 1 3.1. 对话流和查询流编程接口 . 1 3.2. 私有流编程接口 . 2 4. 运行模式 . 2 4.1. 工作线 程 . 2 4.2. 本地文件 . 3 5. 业务与接口对照 . 4 5.1. Tr
3、aderAPI 4 5.2. MarketDataAPI . 7 6. 开发接口 . 8 6.1. 通用规则 . 8 6.2. 托管服务地址设置要求 . 8 6.3. CZQThostFtdcTraderSpi 接口 8 6.3.1. OnFrontConnected 方法 8 6.3.2. OnFrontDisconnected 方法 9 6.3.3. OnHeartBeatWarning 方法 . 9 6.3.4. OnRspAuthenticate 方法 9 6.3.5. OnRspUserLogin 方法 10 6.3.6. OnRspUserLogout 方法 . 11 6.3.7.
4、 OnRspUserPasswordUpdate 方法 . 12 6.3.8. OnRspQryMarginRate 方法 13 6.3.9. OnRspError 方法 . 14 6.3.10. OnRspOrderInsert 方法 . 15 6.3.11. OnRspOrderAction 方法 17 6.3.12. OnRspQryOrder 方法 18 6.3.13. OnRspQryTrade 方法 21 6.3.14. OnRspQryInvestor 方法 23 6.3.15. OnRspQryInvestorSecurityPosition 方法 25 6.3.16. OnR
5、spQryTradingAccount 方法 . 26 6.3.17. OnRspQryTradingCode 方法 . 28 6.3.18. OnRspQryExchange 方法 . 29 6.3.19. OnRspQrySecurity 方法 . 30 6.3.20. OnRspQryDepthMarketData 方法 32 6.3.21. OnRspQryOrderFundDetail 方法 . 35 6.3.22. OnRspQryMarket 方法 . 36 6.3.23. OnRtnTrade 方法 . 37 6.3.24. OnRtnOrder 方法 . 38 6.3.25.
6、 OnErrRtnOrderInsert 方法 40 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 3 页 6.3.26. OnErrRtnOrderAction 方法 43 6.3.27. OnRspQrySecurityProduct 方法 . 44 6.3.28. OnRspQrySecurityClass 方法 . 45 6.3.29. OnRspQryInvestUnit 方法 46 6.3.30. OnRspQryBrokerage 方法 47 6.3.31. OnRspQrySubscribingSharesQuota 方法 . 48 6.3.
7、32. OnRspQrySubscribingShares 方法 . 49 6.3.33. OnRspQryPledgeOrderInfo 方法 51 6.3.34. OnRspQryInvestorPledgePosition 方法 52 6.3.35. OnRspQryInvestorPledgeInfo 方法 53 6.3.36. OnRspQryRepoRatio 方法 . 54 6.3.37. OnRspQryRepurchaseMaxTimes 方法 . 55 6.3.38. OnRspQryETFFILE 方法 . 56 6.3.39. OnRspQryETFBasket 方法
8、. 58 6.3.40. OnRspQryTransferFund 方法 . 60 6.3.41. OnRspQryTransferPosition 方法 61 6.3.42. OnRspQryInvestUnitAndTradingAcct 方法 . 63 6.3.43. OnRspQryInvestUnitAndUser 方法 . 64 6.3.44. OnRspQryInstrument 方法 . 65 6.3.45. OnRspQryInvestorPosition 方法 67 6.3.46. OnRspQryLockPosition 方法 . 69 6.3.47. OnRspQryL
9、ock 方法 71 6.3.48. OnRspQryExecOrder 方法 . 73 6.3.49. OnRspQryLimitAmount 方法 . 75 6.3.50. OnRspQryLimitPosition 方法 . 76 6.3.51. OnRspLockInsert 方法 . 77 6.3.52. OnRtnLock 方法 . 79 6.3.53. OnErrRtnLockInsert 方法 . 80 6.3.54. OnRspExecOrderInsert 方法 81 6.3.55. OnRtnExecOrder . 83 6.3.56. OnErrRtnExecOrderI
10、nsert 方法 85 6.3.57. OnRspExecOrderAction 方法 . 86 6.3.58. OnErrRtnExecOrderAction 方法 88 6.3.59. OnRspSecurityTransfer 方法 . 89 6.3.60. OnRtnSecurityTransfer 方法 . 90 6.3.61. OnErrRtnSecurityTransfer 方法 . 91 6.3.62. OnRtnTransferFund 方法 93 6.3.63. OnRtnTransferPosition 方法 . 94 6.3.64. OnRspQryExerciseAs
11、signment 方法 95 6.3.65. OnRspQrySecurityTransfer 方法 96 6.3.66. OnRspQryLOFInfo 方法 98 6.3.67. OnRspQryLOFSubInfo 方法 99 6.3.68. OnRspCashRepayInsert 方法 . 100 6.3.69. OnRtnCashRepay 方法 . 100 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 4 页 6.3.70. OnErrRtnCashRepayInsert 方法 . 101 6.3.71. OnRspQryCashRepay 方
12、法 102 6.3.72. OnRspQryCreditInfo 方法 103 6.3.73. OnRspQryCreditSecurityPosition 方法 104 6.3.74. OnRspQryCreditFundPosition 方法 . 105 6.3.75. OnRspQryCreditContract 方法 . 105 6.3.76. OnRspQryCreditRepayment 方法 107 6.3.77. OnRspQryCreditUnderlying 方法 107 6.3.78. OnRspQryCreditCollateral 方法 . 108 6.3.79. O
13、nRtnTradingNotice 方法 109 6.4. CZQThostFtdcTraderApi 接口 . 109 6.4.1. CreateFtdcTraderApi 方法 110 6.4.2. Release 方法 110 6.4.3. Init 方法 . 110 6.4.4. Join 方法 110 6.4.5. RegisterSpi 方法 111 6.4.6. RegisterFront 方法 . 111 6.4.7. SubscribePrivateTopic 方法 111 6.4.8. SubscribePublicTopic 方法 . 112 6.4.9. GetApiV
14、ersion 方法 112 6.4.10. ReqAuthenticate 方法 . 112 6.4.11. ReqUserLogin 方法 . 113 6.4.12. ReqUserLogout 方法 . 115 6.4.13. ReqUserPasswordUpdate 方法 116 6.4.14. ReqQryMarginRate 方法 117 6.4.15. ReqOrderInsert 方 法 118 6.4.16. ReqOrderAction 方法 121 6.4.17. ReqQryOrder 方法 . 123 6.4.18. ReqQryTrade 方法 . 124 6.4.
15、19. ReqQryInvestor 方法 . 125 6.4.20. ReqQryInvestorSecurityPosition 方法 . 126 6.4.21. ReqQryTradingAccount 方法 . 127 6.4.22. ReqQryTradingCode 方法 129 6.4.23. ReqQryExchange 方法 . 130 6.4.24. ReqQrySecurity 方法 131 6.4.25. ReqQryDepthMarketData 方法 132 6.4.26. ReqQryOrderFundDetail 方法 133 6.4.27. ReqQryMar
16、ket 方法 134 6.4.28. ReqQrySecurityProduct 方法 . 135 6.4.29. ReqQrySecurityClass 方法 . 136 6.4.30. ReqQryInvestUnit 方法 137 6.4.31. ReqQryBrokerage 方 法 . 138 6.4.32. ReqQrySubscribingSharesQuota 方法 139 6.4.33. ReqQrySubscribingShares 方法 141 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 5 页 6.4.34. ReqQryPledg
17、eOrderInfo 方法 141 6.4.35. ReqQryInvestorPledgePosition 方法 142 6.4.36. ReqQryInvestorPledgeInfo 方法 . 143 6.4.37. ReqQryRepoRatio 方法 144 6.4.38. ReqQryRepurchaseMaxTimes 方法 . 145 6.4.39. ReqQryETFFILE 方法 146 6.4.40. ReqQryETFBasket 方法 . 147 6.4.41. ReqQryTransferFund 方法 148 6.4.42. ReqQryTransferPosit
18、ion 方法 . 149 6.4.43. ReqQryInvestUnitAndTradingAcct 方法 . 150 6.4.44. ReqQryInvestunitAndUser 方法 . 151 6.4.45. ReqQryInstrument 方法 152 6.4.46. ReqQryInvestorPosition 方法 . 153 6.4.47. ReqQryLockPosition 方法 154 6.4.48. ReqQryLock 方法 . 156 6.4.49. ReqQryExecOrder 方法 157 6.4.50. ReqQryLimitAmount 方法 . 15
19、8 6.4.51. ReqQryLimitPosition 方法 . 159 6.4.52. ReqLockInsert 方法 160 6.4.53. ReqQryExerciseAssignment 方法 162 6.4.54. ReqExecOrderInsert 方法 . 162 6.4.55. ReqExecOrderAction 方法 . 165 6.4.56. ReqSecurityTransfer 方法 . 167 6.4.57. ReqQrySecurityTransfer 方法 . 169 6.4.58. ReqQryLOFInfo 方法 . 170 6.4.59. ReqQ
20、ryLOFSubInfo 方法 . 170 6.4.60. ReqCashRepayInsert 方法 171 6.4.61. ReqQryCashRepay 方法 . 172 6.4.62. ReqQryCreditInfo 方法 . 173 6.4.63. ReqQryCreditSecurityPosition 方法 . 174 6.4.64. ReqQryCreditFundPosition 方法 175 6.4.65. ReqQryCreditContract 方法 . 175 6.4.66. ReqQryCreditRepayment 方法 . 176 6.4.67. ReqQry
21、CreditUnderlying 方法 . 177 6.4.68. ReqQryCreditCollateral 方法 . 178 7. 开发示例 . 179 7.1. 交易 API 开发示例 179 7.2. 行情 API 开发示例 185 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 6 页 1. 介绍 交易 托管 系统 API是一个基于 C+的类库 , 通过使用和扩展类库提供的接口来实现 相关 交易功能 ,包括 报单 与报价的 录入 、 报单 与报价的 撤销、 报单 与报价的 挂起、 报单 与报价的 激活 、报单与报价的修改 、报单与报价的查询 、 成
22、交单查询、 投资者 查询、 投资者持仓 查询 、 合约查询 、 交易日获取等 。 该类库包含以下5 个文件: 文件名 版本 文件大小 文件描述 ZQThostFtdcTraderApi.h V1.0 26kb 交易接口头文件 ZQThostFtdcUserApiStruct.h V1.0 94kb 定义了 API 所 需的一系列数据类型的头文件 ZQThostFtdcUserApiDataType.h V1.0 80kb 定义了一系列业务相关的数据结构的头文件 zqthosttraderapi.dll V1.0 1225kb 动态链接库二进制文件 zqthosttraderapi.lib V1
23、.0 4kb 导入库文件 zqthostmduserapi.dll V1.0 1225kb 动态链接库二进制文件 zqthostmduserapi.lib V1.0 4kb 导入库文件 支持 MS VC 6.0, MS VC.NET 2003 编译器。 需要打开多线程编译选项 /MT。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 1 页 2. 体系结构 交易员 API 使用建立在 TCP 协议之上 FTD 协议与 交易托管 系统进行通讯 ,交易 托管 系统负责 投资者 的交易业务 处理 。 2.1. 通讯模式 FTD 协议中的所有通讯都基于某个通讯模式。通
24、讯模式实际上就是通讯双方协同工作的方式。 FTD 涉及的通讯模式共有三种: 对话通讯模式 私有通讯模式 广播通讯模式 对话通讯模式是指由会员端主动发起的通讯请求。该请求被交易所端接收和处理,并给予响应。例如报单、查询等。这种通讯模式与普通的客户 /服务器模式相同。 私有通讯模式 是指交易所端主动,向某个特定的会员发出的信息。例如成交回报等。 广播通讯模式是指交易所端主动,向市场中的所有会员都发出相同的信息。例如公告、 市场公共信息 等。 通讯模式和网络的连接不一定存在简单的一对一的关系。也就是说,一个网络连接中可能传送多种不同通讯模式的报文,一种通讯模式的报文也可以在多个不同的连接中传送。 无
25、论哪种通讯模式,其通讯过程都如图 1 所示: 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 2 页 交易托管系统 交易所系统发送请求 ( 如果在对话模式下 )给出响应 ( 如果在对话模式下 )连接请求连接确认身份认证请求身份认证响应发出私有信息 ( 如果在私有模式下 )发出市场公告 ( 如果在市场模式下 )断开请求断开确认图 1) 各通讯模式的工作过程 本接口暂时没有使用广播通信方式。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 3 页 2.2. 数据流 交易 托管系统 支持对话通讯 模式、私有通讯模式、广播通讯模式:
26、对话通讯模式下支持对话数据流 和查询数据流 : 对话数据流是一个双向数据流, 交易托管 系统发送 交易 请求,交易系统反馈应答。交易系统不维护对话流的状态。系统故障时,对话数据流会重置,通讯途中的数据可能会丢失。 查询 数据流是一个双向数据流, 交易托管系统 发送 查询 请求,交易系统反馈应答。交易系统不维护 查询 流的状态。系统故障时, 查询 数据流会重置,通讯途中的数据可能会丢失。 私有通讯模式下支持私有数据流: 私有流是一个单向数据流,由交易系统发向 交易托管系统 ,用于传送 交易员私有的通知和回报信 息 。私有流是一个可靠的数据流,交易系统维护每个 交易托管系统 的私有流,在一个交易日
27、内, 交易托管系统 断线后恢复连接时,可以请求交易系统发送指定序号之后的私有流数据。私有数据流向 交易托管系统 提供报单状态报告、成交回报更等信息。 广播通讯模式下支持公共数据流: 公共数据流是一个单向数据流,由交易系统发向 交易托管 系统,用于发送市场公共信息; 公共数据 流也是一个可靠的数据流,交易系统维护整个系统的 公共数据 流,在一个交易日内, 交易托管 系统断线恢复连接时,可以请求交易系统发送指定序号之后的 公共数据 流数据。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 1 页 3. 接口 模式 证券 交易员 API 提供了二个接口,分别为 CZ
28、QThostFtdcTraderApi 和CZQThostFtdcTraderSpi。 这两个接口对 FTD 协议进行了封装,方便客户端应用程序的开发。 客户端应用程序可以通过 CZQThostFtdcTraderApi 发出操 作 请求,通 继承CZQThostFtdcTraderSpi 并重载回调函数 来处理后台服务的响应。 3.1. 对话流 和查询流 编程接口 通过对话流 进行 通讯的编程 接口通常如下: 请求: int CZQThostFtdcTraderApi:ReqXXX(CZQThostFtdcXXXField *pReqXXX, int nRequestID) 响应 : voi
29、d CZQThostFtdcTraderSpi:OnRspXXX(CZQThostFtdcXXXField *pRspXXX, CZQThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) 其中 请求接口 第一个参数为请求的内容, 不能为空。 第二个参数为请求号。请求号由客户端应用程序负责维护,正常情况下每个请求的请求号不要重复。在接收 交易托管系统 的响应时,可以 得到当时发出请求时填写的请求号,从而可以将响应与请求对应起来。 当收到后台服务应答时, CZQThostFtdcTraderSpi 的回调 函数 会被调用。 如
30、果响应数据不止一个,则回调 函数 会被多次调用。 回调 函数 的第一个参数为 响应的具体数据,如果出错或没有结果有可能为NULL。 第二个参数为 处理结果 ,表明本次请求的处理结果是成功还是失败。在发生多次回调时,除了第一次回调,其它的回调该参数都可能为 NULL。 第三个参数为请求号,即原来发出请求时填写的请求号。 第四个参数为响应结束标志,表明是否是本次响应的最后一次回调 。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 2 页 3.2. 私有流编程接口 私有流中的数据中会员的私有信息,包括报单回报、成交回报等。 通过私有流接收回报的编程接口通常如下:
31、void CZQThostFtdcTraderSpi:OnRtnXXX(CZQThostFtdcXXXField *pXXX) 或 void CZQThostFtdcTraderSpi:OnErrRtnXXX(CZQThostFtdcXXXField *pXXX, CZQThostFtdcRspInfoField *pRspInfo) 当收到 交易托管系统 通过私有流 发布的回报数据时, CZQThostFtdcTraderSpi的回调函数会被调用。回调函数 的 参数为回报的具体内容。 4. 运行模式 4.1. 工作 线程 交易员客户端应用程序至少由两个线程组成,一个是应用程序主线程,一个是交
32、易员 API 工作线程。 应用程序与交易系统的通讯是由 API 工作线程驱动的。 CZQThostFtdcTraderApi 提供的接口是线程安全的,可以有多个 应用程序线程同时发出请求。 CZQThostFtdcTraderSpi 提供的接口 回调 是由 API 工作线程驱动, 通过实现SPI 中的接口方法,可以从 交易托管系统 收取所需数据。 如果 重载的 某个 回调 函数阻塞,则等于阻塞了 API 工作线程, API 与交易系统的通讯会停止。因此,在 CZQThostFtdcTraderSpi 派生类的回调函数中,通常应迅速返回,可以利用 将数据放入 缓冲区或 通过 Windows 的消
33、息机制来实现。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 3 页 S P I 对 象A P I 请 求 的 应 答委 托 修 改 信 息成 交 信 息错 误 委 托 信 息合 约 资 料 修 改 信 息等 等交 易 所 前 置A P I 对 象登 陆 请 求委 托 请 求查 询 请 求等 等 A P I 请 求会 员 报 盘 程 序4.2. 本地文件 交易员 API 在运行过程中,会将一些数据写入本地文件中。调用CreateFtdcTraderApi 函数,可以传递一个参数,指明存贮本地文件的路径。 该路径必须在运行前已创建好。 本地文件的扩展名都是 ”
34、.con”。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 4 页 5. 业务 与接口对照 业务类型 业务 请求接口 响应接口 数据流 初始化 创建 API 实例 CreateApi N/A 初始化执行 Init N/A 线程等待 Join N/A 注册 Spi RegisterSpi N/A 注册前置 RegisterFront N/A 信息订阅 订阅私有流 SubscribePrivateTopic N/A 订阅公有流 SubscribePublicTopic N/A 信息通知 前置连接通知 N/A OnFrontConnected 前置断开通知 N/A
35、 OnFrontDisconnected 心跳超时警告 N/A OnHeartBeatWarning 错误应答 N/A OnRspError 公有流 版本信息 获取 API 版本号 GetApiVersion N/A 5.1. TraderAPI 提供给交易员使用,用于交易及进行相关查询。 业务类型 业务 请求接口 响应接口 数据流 登录 客户端认证 ReqAuthenticate OnRspAuthenticate 对话流 登录 ReqUserLogin OnRspUserLogin 对话流 登出 ReqUserLogout OnRspUserLogout 对话流 用户口令更新 ReqUse
36、rPasswordUpdate OnRspUserPasswordUpdate 对话流 报单 报单录入 ReqOrderInsert OnRspOrderInsert 对话流 报单通知 N/A OnRtnOrder 私有流 报单录入错误通知 N/A OnErrRtnOrderInsert 私有流 成交通知 N/A OnRtnTrade 私有流 报单操作 报单操作 ReqOrderAction OnRspOrderAction 对话流 报单操作 错误通知 N/A OnErrRtnOrderAction 私有流 资金转移 资金转移通知 N/A OnRtnTransferFund 私有流 仓位转移
37、仓位转移 通知 N/A OnRtnTransferPosition 私有流 现券转移 现券转移 ReqSecurityTransfer OnRspSecurityTransfer 对话流 现券转移 通知 N/A OnRtnSecurityTransfer 私有流 转移 错误通知 N/A OnErrRtnSecurityTransfer 私有流 证券锁定 锁定录入 ReqLockInsert OnRspLockInsert 对话流 锁定通知 N/A OnRtnLock 私有流 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 5 页 锁定录入错误通知 N/A On
38、ErrRtnLockInsert 私有流 执行宣告 执行宣告录入 ReqExecOrderInsert OnRspExecOrderInsert 对话流 执行宣告通知 N/A OnRtnExecOrder 私有流 执行宣告录入错误通知 N/A OnErrRtnExecOrderInsert 私有流 执行宣告操作 执行宣告操作 ReqExecOrderAction OnRspExecOrderAction 对话流 执行宣告操作错误通知 N/A OnErrRtnExecOrderAction 私有流 直接还款 直接还款 录入 ReqCashRepayInsert OnRspCashRepayIns
39、ert 对话流 直接还款通知 N/A OnRtnCashRepay 私有流 直接还款 录入错误通知 N/A OnErrRtnCashRepayInsert 私有流 查询 交易所查询 ReqQryExchange OnRspQryExchange 查询流 行情查询 ReqQryDepthMarketData OnRspQryDepthMarketData 查询流 证券信息查询 ReqQrySecurity OnRspQrySecurity 查询流 合约信息查询 ReqQryInstrument OnRspQryInstrument 查询流 上市开放式基金查询 ReqQryLOFInfo OnRs
40、pQryLOFInfo 查询流 上市开放式基金子基金查询 ReqQryLOFSubInfo OnRspQryLOFSubInfo 查询流 市场信息查询 ReqQryMarket OnRspQryMarket 查询流 证券品种查询 ReqQrySecurityProduct OnRspQrySecurityProduct 查询流 证券类别查询 ReqQrySecurityClass OnRspQrySecurityClass 查询流 报单查询 ReqQryOrder OnRspQryOrder 查询流 锁定查询 ReqQryLock OnRspQryLock 查询流 执行宣告查询 ReqQryE
41、xecOrder OnRspQryExecOrder 查询流 报单资金明细查询 ReqQryOrderFundDetail OnRspQryOrderFundDetail 查询流 成交查询 ReqQryTrade OnRspQryTrade 查询流 投资者查询 ReqQryInvestor OnRspQryInvestor 查询流 投资者交易账户查询 ReqQryTradingCode OnRspQryTradingCode 查询流 投资单元查询 ReqQryInvestUnit OnRspQryInvestUnit 查询流 投资者资金查询 ReqQryTradingAccount OnRsp
42、QryTradingAccount 查询流 投资者 证券 持仓查询 ReqQryInvestorSecurityPosition OnRspQryInvestorSecurityPosition 查询流 投资者合约持仓查询 ReqQryInvestorPosition OnRspQryInvestorPosition 查询流 锁定持仓查询 ReqQryLockPosition OnRspQryLockPosition 查询流 投资者佣金查询 ReqQryBrokerage OnRspQryBrokerage 查询流 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司
43、第 6 页 新股申购额度查询 ReqQrySubscribingSharesQuota OnRspQrySubscribingSharesQuota 查询流 新股信息查询 ReqQrySubscribingShares OnRspQrySubscribingShares 查询流 质押申报代码查询 ReqQryPledgeOrderInfo OnRspQryPledgeOrderInfo 查询流 质押持仓查询 ReqQryInvestorPledgePosition OnRspQryInvestorPledgePosition 查询流 质押回购信息查询 ReqQryInvestorPledgeI
44、nfo OnRspQryInvestorPledgeInfo 查询流 标准券使用率查询 ReqQryRepoRatio OnRspQryRepoRatio 查询流 回购放大倍数查询 ReqQryRepurchaseMaxTimes OnRspQryRepurchaseMaxTimes 查询流 ETF 清单查询 ReqQryETFFile OnRspQryETFFile 查询流 ETF 成分证券查询 ReqQryETFBasket OnRspQryETFBasket 查询流 资金转移查询 ReqQryTransferFund OnRspQryTransferFund 查询流 仓位转移 查询 Re
45、qQryTransferPosition OnRspQryTransferPosition 查询流 现券转移查询 ReqQrySecurityTransfer OnRspQrySecurityTransfer 查询流 投资单 元与交易资金账户关系查询 ReqQryInvestUnitAndTradingAcct OnRspQryInvestUnitAndTradingAcct 查询流 投资单元与交易用户关系查询 ReqQryInvestUnitAndUser OnRspQryInvestUnitAndUser 查询流 投资者直接还款查询 ReqQryCashRepay OnRspQryCash
46、Repay 查询流 投资者融资融券信息查询 ReqQryCreditInfo OnRspQryCreditInfo 查询流 投资者融资融券标的证券 查询 ReqQryCreditUnderlying OnRspQryCreditUnderlying 查询流 投资者融资融券担保证券 查询 ReqQryCreditCollateral OnRspQryCreditCollateral 查询流 投资者融资融券可用证券头寸查询 ReqQryCreditSecurityPosition OnRspQryCreditSecurityPosition 查询流 投资者融资融券可用资金头寸查询 ReqQryCr
47、editFundPosition OnRspQryCreditFundPosition 查询流 投资者信用合约查询 ReqQryCreditContract OnRspQryCreditContract 查询流 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 7 页 5.2. MarketDataAPI MarketDataAPI 用于为投资者提供行情信息。 业务类型 业务 请求接口 响应接口 数据流 登录 登录 ReqUserLogin OnRspUserLogin 对话流 登出 ReqUserLogout OnRspUserLogout 对话流 行情 管理
48、 订阅行情 SubscribeMarketData OnRspSubMarketData 对话流 取消订阅行情 UnsubscribeMarketData OnRspUnSubMarketData 对话流 深度行情通知 N/A OnRtnDepthMarketData N/A 注:行情通知的返回方式比较特殊。它不属于通常意义上的流方式,而是从订阅 Session直接下传数据。类似于查询流的工作方式,但又不像查询流那样即时返回。 鉴于此,行情 API 的使用方式也与其它 API 有所区别。它无需订阅私有流或公有流,在注册完 Spi和 Front 后可以直接 Init 初始化,然后根据需要 Login 并 SubscribeMarketData 即可。 证券交易托管系统 TradeAPI 接口 版权所有 上海期货信息技术有限公司 第 8 页 6. 开发接口 6.1. 通用规则 客户端和交易托管系统的通讯过程分为 2 个阶段:初始化阶段和功能调用阶段。 在初始化阶段,程序必须完成如下步骤(具体代码请参考开发实例): 1, 产生一个 CZQThostFtdcTraderApi 实例 2, 产生一个事件处理的实例 3, 注册一个