【vn.py】期货穿透式CTP API接入

写在前面

由于6月14日当天,所有期货公司的柜台系统全部强制升级为穿透式监管版本,所有非穿透式的柜台全部下线,所以基于原来的CTP API的用户将无法交易,所以进行程序化交易的个人或者机构如果想继续实盘交易,都将需要接入穿透式CTP API。下面还是以vn.py的官方教程进行配置。

由于本文主要内容是来自vn.py的官方教程,教程地址在文末,所以本着自己操作一遍再整理,也是为了加深自己对穿透式CTP API接入的过程和理解其这样做的目的。

vn.py官方教程将穿透式CTP API接入分为了六步,一般来说,按照这个流程配置就没有什么问题。

一、申请穿透式接入

对你的交易终端提出穿透式接入申请时,只需要电话联系你的客户经理,然后向期货公司提出申请穿透式接入测试

二、填表提交AppID

提交表单信息其实就是将你的终端的网络地址、硬件信息、交易软件信息等。不同期货公司需要的信息不同,整体上包括:

  • CPU序列号
  • 硬盘序列号
  • 硬盘主分区盘符和大小
  • 网卡MAC地址
  • 内网IP和外网IP
  • 交易程序的AppID

获取各种信息的方式在vn.py的教程中也贴心的提供了,下面再整理一下:

1、CPU序列号
从cmd中输入以下命令:

wmic cpu get processorid

2、硬盘序列号以及硬盘主分区盘符和大小:
从cmd中输入以下命令分别获取:

diskpart
select disk 0
detail disk

3、网卡MAC地址、内网IP和外网IP
在cmd中输入以下命令,“以太网适配器”中的“物理地址”就是MAC地址;“IPV4地址”就是内网IP。

ipconfig /all

访问www.ip138.com获取你的外网IP,或者直接百度搜索“IP”就可以获取你的外网IP。

4、AppID
AppID就是你的交易程序的ID,是以个人身份申请的,格式为:

client_xxxx_yyyy

其中xxxx是软件名称,yyyy是版本号,这两个字段都是自己定义的,为了避免重复,所以需要设置的稍微不同一些。

以vn.py为例的话,AppID可以设置为以下,其中888的部分,是自定义的一个字符串,主要为了避免你的AppID和其他人重复。

client_vnpy888_2.0
三、拿到AuthCode

提交申请表后,一般当天或者第二天就能拿到期货公司针对你的这个AppID提供的测试账号信息,然后就可以以这个测试账号进行测试,测试账号信息包括:

  • 用户名、密码
  • 经纪商代码、仿真测试服务器地址(交易、行情)
  • 产品名称(你填的AppID)、授权编码(AuthCode)
四、仿真测试

下面以VN Studio为例进行操作。在打开VN Trader Pro之后的对话框中,由之前的CTP接口换成CTPTEST接口,注意两者不能同时存在。之前一直不太了解CTPTEST这个接口的作用是什么,现在终于知道是为了专门进行穿透式CTP API接入测试用的。


登录之后,原来登录CTP的地方现在是登录CTPTEST了,然后在登录信息框中输入期货公司提供的测试账号等信息:

如果底部的日志监控组件中刷新出日志信息并看到“合约信息获取成功”时,就意味着我们完成了测试。

五、期货公司校验

搞定上面的测试服务器连接登录后,就可以联系期货公司进行校验工作了,通常可以一次性直接通过。

六、实盘接入

期货公司校验通过后,会将客户申请的AppID和AuthCode添加到实盘CTP的服务器上,此时只要把启动VN Trader Pro时,加载的接口由CTPTEST改为CTP,就可以连接上实盘交易环境,和以往一样进行量化交易了。

其他

关于 CTP 6.3.13 和 CTPTEST 6.3.15,这俩是两套不同的API地址,具体的区别如下:

6.3.13
CTP穿透式柜台的仿真测试版本,也是CTPTEST接口中使用的API版本,所有客户的仿真接入认证测试都必须使用该版本!主要因为该版API采集客户的信息是没有加密的,期货公司可以在后台查看来进行认证工作。

6.3.15
CTP穿透式柜台的实盘交易版本,也是CTP接口中使用的API版本,完成仿真接入测试后,必须使用该版本才能连接实盘交易的CTP柜台。该版本的采集信息是安全加密的,期货公司的IT用后台系统也看不到。

API的内部工作流程:

以CTP为例:

  • 调用Init,开始连接
  • 收到OnFrontConnected,确认连接成功
  • 调用ReqAuthenticate,这一步填入AppID和AuthCode,进行认证
  • 收到OnRspAuthenticate,确认认证成功
  • 调用ReqUserLogin,这一步同样需要填入AppID,进行登录
  • 收到OnRspUserLogin,确认登录成功
  • 只有交易接口TD需要进行认证,MD直接登录就行。每一步出错的话都会有相- 应的报错输出提示,查看错误信息内容后照着修改就行。

注意:
6.3.13的测试环境目前仅仅为了满足用户的穿透式版本测试需求(也就是能成功登录上来查询一下合约信息等),尚未提供第一套或者第二套环境中的仿真行情以及仿真交易功能,所以是没有行情的。
6.3.15的实盘穿透式API目前只有中信证券提供了仿真测试环境。

REF

vn.py官方教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值