vnpy入门操作2——CTP交易
声明:本文章内容来自于vnpy论坛,平时把自己开始学习的内容记录于此,方便连载!
目录
准备账号
接口登录
查看合约
订阅行情
交易下单
委托成交
资金持仓
实盘交易
目前vn.py已经支持了市面上几乎所有金融产品的交易:期货、股票、期权、外汇、数字货币。针对每种产品,可能又有多个不同的交易接口可以选择,有的门槛低,有的速度快,有的功能强大。
考虑到这个系列是入门教程,接下来的四篇将会选择最为常见的接口来讲解如何使用vn.py:
- 国内期货:上期技术CTP接口
- 数字货币:比特币合约BitMEX接口
- 海外市场:盈透证券IB接口
- A股证券:中泰证券XTP接口
准备账号
上期技术官方运营了一套期货仿真交易环境SimNow,提供和实盘环境一致的行情以及交易撮合规则,现在已经是做各种CTP测试交易的首选了。
打开SimNow官网,点击右上角的“注册账号”,填写一些基础信息完成注册。整体流程十分傻瓜,但有隐藏的两个坑需要注意:
- 手机号请使用移动或者联通的号码,其他运营商很可能收不到验证码短信(亲测小米卡就死活收不到)
- 注册时间,请选择白天的期货交易时段,即上午9:00-11:30,下午13:00-15:00,其他时段注册系统可能各种抽风:图片验证码死活不对、注册按钮点不了、网页刷不出来......(同样亲测多次想砸电脑)
如果不幸遇到以上两点以外的坑,请尝试通过下述电话或者QQ联系客服解决:
注册完成后,回到SimNow首页点击点右上角的“投资者登录”,输入手机号和密码登录进去:
请牢记上图中的investorId,这才是你的SimNow环境的CTP用户名,而不是登录网站用的手机号!同时CTP密码则就是你登录网站用的密码。
接下来需要修改一次密码才能使用API进行交易(没错,刚注册就要改),修改有两种办法:
- SimNow官网首页右上角,点击“忘记密码”,在页面上通过手机验证码来修改,注意需要修改为一个新的密码;
- 下载SimNow环境的快期客户端,用investorId和密码登录进去后,在客户端中修改为新的密码,客户端下载页面:http://www.simnow.com.cn/static/softwareOthersDownload.action。
一种办法不行,就换另一种,两种都不行就联系客服小姐姐吧。
尽管写下来字数还挺多的,实际操作可能也就5分钟的事情,全部弄完后就可以准备开始交易了。
接口登录
接下来照着入门操作1中的方法,启动VN Trader Pro,只加载CTP接口就行(注意不要加载CTP测试接口)。
进入主界面后,点击菜单栏的“系统”->“连接CTP”,看到对话框:
各个字段的填写如下:
- 用户名:SimNow的investorId
- 密码:SimNow的密码
- 经纪商代码:9999
- 交易服务器:180.168.146.187:10101
- 行情服务器:180.168.146.187:10111
- 产品名称:simnow_client_test
- 授权编码:0000000000000000(16个0)
- 产品信息:留空不用填
其中交易和行情服务器,一共有三组选择,前两组只能在交易时段登录(周一到周五,日盘和夜盘时段),提供和实盘环境一致的行情和撮合:
选择1(对应SimNow第一套第二组)
- 交易服务器:180.168.146.187:10101
- 行情服务器:180.168.146.187:10111
选择2(对应SimNow第一套第三组)
- 交易服务器:218.202.237.33:10102
- 行情服务器:218.202.237.33:10112
第三组则是只能在非交易时段登录,提供最近交易时段行情的回放和撮合:
**选择3(对应SimNow第二套)
- 交易服务器:180.168.146.187:10130
- 行情服务器:180.168.146.187:10131
其他介绍信息可以查看:http://www.simnow.com.cn/product.action
以上都填好后,点击“连接”按钮开始登录CTP服务器以及相关初始化操作,在右下角的日志监控组件中,可以看到初始化相关的日志信息输出:
登录初始化过程中有任何异常情况,日志信息中都会看到相应的文字输出,可以根据内容自行排查。看到“合约信息查询成功”这条日志后,说明已经成功完成了初始化操作。
查看合约
点击菜单栏“帮助”->“查询合约”,或者左侧功能导航栏的导数第二个放大镜按钮,打开合约查询对话框:
点击右上角的查询按钮,显示当前VN Trader内部已连接的交易接口(CTP)的上支持的所有可交易合约。
几个需要关注的字段:
- 合约代码symbol:该合约在某家交易所的唯一标识
- 交易所代码exchanage:该交易所在VN Trader内的唯一标识
- 本地代码vt_symbol:由合约代码以及交易所代码共同组成,代表该合约在VN Trader内的唯一标识符,需要交易所代码是因为跨交易所的代码可能存在重复,比如000001在上交所代表的是上证指数,在深交所代表的则是平安银行;
- 价格跳动pricetick:意味着交易委托时价格的最小变动单位,如果精度不对则会造成委托失败
订阅行情
在上一步中找到自己想要订阅行情的合约信息后(或者你本来就知道),则可以在VN Trader界面左上角的交易组件框中,选择交易所、接口后,在代码框中输入合约代码后回车,即可订阅行情。
当收到最新行情Tick推送时,会显示在下方的深度报价中,Tick推送的最高更新频率是每秒2笔,如果没有变化变则可能1笔推送都没有。
注意国内期货普遍只提供1档买卖价,部分期货公司的上期所和能源交易所品种可以获取到5档买卖价。
注意每个交易所的合约命名规则有所区别:
- 中金所CFFEX:字母部分大写,年份数字为2位,举例IF1908
- 上期所SHFE:字母部分小写,年份数字为2位,举例rb1910
- 能源交易所INE:字母部分小写,年份数字为2位,举例sc1910
- 大商所DCE:字母部分小写,年份数字为2位,举例m1911
- 郑商所CZCE:字母部分大写,年份数字为1位,举例TA910
如果订阅行情时,日志监控输出说找不到合约信息,那么请先检查是否搞对名命名规则。
所有已订阅的行情信息,都会显示在右侧顶部的行情监控组件中,方便后续快速执行手动交易。
交易下单
知道最新行情的价格在哪里后,就可以进行买卖下单:
- 选择交易方向:要买(多)还是要卖(空)
- 选择交易开平:要开仓还是平仓,对于上期所合约则需要具体选择是平今还是平昨(选错则无法平仓会被拒单)
- 选择价格类型:CTP接口支持限价、市价、FAK(Fill-and-Kill)、FOK(Fill-or-Kill)四种委托类型,注意SimNow环境不支持市价单!!!
- 输入价格和数量后,点击“委托”按钮即可发出交易请求
委托成交
委托请求提交后,则会返回相应的委托回报信息,显示在委托组件中,显示当前这笔委托请求的最新状态:
注意委托组件分为两个:
- “活动”:只显示当前处于可撤状态(提交中、未成交、部分成交)的委托信息
- “委托”:显示所有的委托信息(包括可撤委托)
两个组件中,对于处于可撤状态的委托,均可双击该笔委托的单元格来实现撤单的功能(鼠标放置其上时会有文字提示)。或者也可以通过交易组件上的单击“全撤”按钮,来实现一键全撤VN Trader内当前所有可撤委托。
当委托发生成交后,VN Trader会收到成交推送的数据,并显示在成交监控组件中,用户可以通过每笔成交的委托号来实现和对应委托的映射。注意在实盘中,每笔委托可能和多笔反向来自其他投资者的委托发生成交,即一笔委托对应有多笔成交记录。
资金持仓
委托成交后,CTP账户的资金情况将会发生变化,可用资金将会减少,同时整体余额将基于“逐日盯市”的规则变动。
VN Trader中底部中间的资金监控组件的数据,默认以每6秒一次的频率查询刷新,所以某一时间点你看到数据可能并非最新情况。
持仓信息同样也采用6秒刷新的频率,注意对于国内的期货市场,多头和空头的持仓情况分开计算。因此在某一合约上,如上图的rb1910,可能既有多头持仓(上图8手),也有空头持仓(上图3手),双向持仓均会存在各自的保证金占用。
同时由于上期所(包括能源交易中心)今昨仓分离的规则,平仓时需要分别发出对应的委托指令,如想要平掉上图中rb1910的8手多头持仓,则需要分别发出平昨7手的指令,加上平今1手的指令。而其他三家交易所则不受此影响,直接选择平仓指令8手即可。
实盘交易
当你已经对SimNow的仿真测试环境足够熟悉后,可能已经做好了使用CTP柜台进行实盘交易的准备。
对于CTP实盘交易:
- 用户名和密码,就是你开户后直接拿到的信息
- 经纪商编号和交易行情服务器地址,可以联系你的客户经理获取
- 产品名称和授权编码,则需要完成穿透式认证获取了
具体的穿透式认证方法请参考这篇:看完这篇,彻底搞定期货穿透式CTP API接入。
了解更多知识,请关注vn.py社区公众号。
vnpy入门操作2——CTP交易相关推荐
- vnpy入门操作1——安装
声明:本文章内容来自于vnpy论坛,平时把自己开始学习的内容记录于此,方便连载! 通过了解vnpy,安装方式有两种,一种是源码安装,自己在开源社区下载源代码,然后安装许多依赖库等等很多操作:另一种是直 ...
- ctp交易接口股票怎么查询历史数据?
针对于ctp交易接口股票历史数据的查询,其基本原理就是利用api接口开发子系统最终就是开发完成并暴露一个标准的HTTPAPI接口,并将接口注册和接入到API网关.API设计和开发的核心思想仍然应该是基 ...
- linux运行国信股票,国信期货CTP交易API接口开发服务
国信期货CTP交易API接口开发服务是一款国信期货CTP_API接口开发,适用于客户自行开发交易软件接入CTP呕吐,支持windows.Linux.IOS,对于未及时登录及断线造成的行情数据丢失,CT ...
- Hello CTP(四)——CTP交易API
一.CTP交易API简介 1.CTP交易API简介 CThostFtdcTraderApi交易API接口包含CThostFtdcTraderApi和CThostFtdcTraderSpi,通过CTho ...
- 2021年大数据HBase(十):Apache Phoenix的基本入门操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的基本入门操作 一.Pho ...
- v2视频服务器退出系统怎么启动,V2视频会议系统入门操作手册.doc
V2视频会议系统入门操作手册 登陆方式 打开IE(浏览器),用户访问服务器地址00,进入V2 Conference系统主界面. 首次登录视频会议服务器,系统会自动提示客户端下载安装客户端插件,用户也可 ...
- arcgis 地图_ArcGIS超详细入门操作:ArcGIS矢量化地图详细步骤
今天给大家带来的干货是[ArcGIS超详细入门操作:ArcGIS矢量化地图详细步骤],欢迎大家收藏查阅! 在桌面上新建一个文件夹,打开ArcCatalog, "文件"--" ...
- metainfo可以设置说明_Vs Code安装说明及入门操作
因为要开发小程序,所以小新用到了微信开发者工具,但是发现前端开发的真正大佬是 Visual Studio Code. 下面小新就来教你微软的这款工具怎么安装. 一:下载这个软件 下载方法1. 首先,我 ...
- HBase入门: 简介、特点、优缺点、数据结构、系统架构、入门操作、适用场景、注意事项与遇到的坑
原文地址 https://www.cnblogs.com/Little-Li/p/7878219.html https://yq.aliyun.com/articles/54410 https://b ...
最新文章
- C++_STL——map、multimap、set、multiset
- AI科普微视频丨深度学习如何帮助自动驾驶
- ActiveMQ消息形式
- kafka 重新分配节点_Kafka控制器-分区重分配
- ieee39节点系统介绍_Java秒杀系统实战系列-基于ZooKeeper的分布式锁优化秒杀逻辑...
- 类文件Spring中空值的写法-java教程
- 时间序列分析(2)| ARMA模型的(偏)自相关函数
- 使用Python迭代字符串中的每个字符
- ENVI:影像的规则裁剪和不规则裁剪
- APMS系列多通道相参微波信号发生器--四通道相参输出高达40GHz
- 安卓逆向 -- 防抓包破解(JustTrustMe)
- 百度飞桨7日营——世界冠军带你从零实践强化学习总结
- CF - 1348D | 思维
- 【JY】浅谈结构设计
- [转载]VIPS:基于视觉的Web页面分页算法
- 永中Office(企业版)独树一帜闯世界
- linux虚拟机无法关闭防火墙
- 通过物联网网关如何进行三菱PLC的远程程序上下载?
- 【STM32F407的DSP教程】第25章 DSP变换运算-快速傅里叶变换原理(FFT)
- 利用Python及OpenCv 识别车牌号
热门文章
- CVPR 2022 | Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络
- iterm2连接Mac中文显示乱码
- 用 Python 分析香港楼市
- hexo butterfly主题添加备案信息
- linux od 命令16进制,Linux od命令
- IE浏览器消失了?这个软件即可恢复IE浏览器
- [R]提高R语言速度
- 通过 railway 和 code-server 搭建网页版的 visual studio code
- C语言线程lock与unlock,lock()和unlock()是怎么实现【面试题详解】
- 文化出海:承道艺术馆携清代老普洱藏茶「雅贡臻品」参展台北HiFi++“美私奢玩”