【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官方教程

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个是2019.6.14上期CTP接口升级穿透监管后,再申请CTP权限需要测试,这个是自动开仓,撤单和平仓程序,配置setting.ini后运行,一键通过测试 在setting.ini设置账户信息,运行后自动交易螺纹钢,开1手平1手后完成穿透监管测试 再申请宏源期货账户授权码 配置文件请修改合约为上海品种比如rb1911,随着时间推移,rb1911会失效,导致无法订阅和下单,请在setting.ini中将InsturmentID字段改为当前时间的主力合约,再运行下单测试。 关于SIMNOW老账户穿透监管接入授权码和APPID 下周SIMNOW升级到看穿后,老账户统一APPID为simnow_client_test,认证码为0000000000000000(16个0) CTP SIMNOW模拟账户成交规则更新 1、期货交易按照交易所公布的买一卖一价对价成交; 2、卖出时:如果委托价小于等于最新价,则成交,成交价为委托价、买一价、最新价三价取中,如果委托价大于买一价,不能成交,等待更优的行情才能成交。 3、买入时:如果委托价大于等于卖一价,则成交,成交价为委托价、卖一价、最新价三价取中,如果委托价小于卖一价,不能成交,等待更优的行情才能成交; SIMNOW 的CTP接口穿透监管升级后对外接入地址变更 由于目前SIMNOW前置流量压力激增。在系统设置上进行调整后,决定再进行接入地址修改: 第1组:Trade Front:218.202.237.33 :10102,Market Front:218.202.237.33 :10112;【移动】(看穿前置,使用监控中心生产秘钥) 第2组:Trade Front:180.168.146.187:10101,Market Front:180.168.146.187:10111;【电信】(看穿前置,使用监控中心生产秘钥) 第3组:Trade Front:180.168.146.187:10100,Market Front:180.168.146.187:10110;【电信】(非看穿前置) 规律是端口第三位0变成1。 该修改将于 (20190704)夜盘生效,如有不便敬请谅解

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值