VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 187
声望: 55

由于一些历史原因,A股证券市场在几年前就关闭了类似期货这样的开放式API接入(几乎0门槛,只需要一定开发技术),现阶段可行的方案主要是“三方采购”的接入模式,其门槛大致为:

 

  • 专业投资者认证:自然人需要不低于300万金融资产,且具有1年以上投资经历(证券、期货、基金、黄金、外汇均可),法人则包括各类持牌机构(券商、期货、公募、私募等);
  • 券商三方系统采购:基于券商提供的API接口完成交易程序的开发后,由券商进行安全合规性检查,通过后与客户签署采购协议(该程序成为券商官方提供的程序之一,尽管只提供给该客户自己使用);
  • 券商内网托管运行:完成采购的交易程序,在实盘交易时必须运行在托管于券商内网的服务器上(独立或者虚拟均可),客户在盘中只能通过远程桌面或者其他控制客户端来访问管理,禁止以任何方式向外网发送行情和交易的数据。

 

监管的核心目标(或者说红线)是杜绝配资的可能。

 
中泰证券自主开发的XTP量化极速证券柜台,无论速度性能还是每日交易量,都是目前国内领先的证券柜台之一,同时其“三方采购”流程比较标准化,本篇教程就主要针对XTP进行讲解。

 
 

准备账号

 

XTP目前提供三类账户:

 

  • 现货账户:股票、ETF、债券、回购等
  • 两融账户:融资融券
  • 期权账户:ETF期权

 

测试上我们就用简单的现货账户,前往中泰证券XTP的主页,点击右上角的“注册”按钮申请测试账号:

 

description

 
注册完成后,回到主页点击右上角的“登录”按钮进行登录,完成后再点击右上角的“测试账号”,进入申请页面:
 

description

 

这里请根据实际情况进行填写,提交申请后一个工作日,将会收到测试环境的账号、密码、服务器等信息的邮件。

 

 

接口登录

 
接下来照着入门1中的方法,启动VN Trader Pro,只加载“XTP”接口。

 
进入主界面后,点击菜单栏的“系统”->“连接XTP”,看到对话框:

 
description

 

各个字段的填写如下:

 

  • 账号:测试账号(邮件收到)
  • 密码:测试密码(邮件收到)
  • 客户号:填1(若同时多点登录,则每个点需要不同的客户号)
  • 行情地址:120.27.164.138(可能会变,以邮件收到的为准)
  • 行情端口:6002(可能会变,以邮件收到的为准)
  • 交易地址:120.27.164.69(可能会变,以邮件收到的为准)
  • 交易端口:6002(可能会变,以邮件收到的为准)
  • 行情协议:选TCP,实盘环境中可选UDP行情
  • 授权码:交易程序的授权编码(邮件收到)

 

XTP的测试环境部署在阿里云上,可以直接通过互联网连接,无需把机器放到托管环境内。

 
以上都填好后,点击“连接”按钮开始登录XTP服务器以及相关初始化操作,在右下角的日志监控组件中,可以看到初始化相关的日志信息输出:

 
description

 

登录初始化过程中有任何异常情况,日志信息中都会看到相应的文字输出,可以根据内容自行排查。看到两个交易所的合约信息查询成功这条日志后,说明已经成功完成了初始化操作。

 

 

查看合约

 

点击菜单栏“帮助”->“查询合约”,或者左侧功能导航栏的倒数第二个放大镜按钮,打开合约查询对话框:

 
description

 

点击右上角的查询按钮,显示当前VN Trader内部已连接的交易接口(XTP)的上支持的所有可交易合约。

 

几个需要关注的字段:

 

  • 合约代码symbol:该合约在某家交易所的唯一标识
  • 交易所代码exchanage:该交易所在VN Trader内的唯一标识
  • 本地代码vt_symbol:由合约代码以及交易所代码共同组成,代表该合约在VN Trader内的唯一标识符,需要交易所代码是因为跨交易所的代码可能存在重复,比如000001在上交所代表的是上证指数,在深交所代表的则是平安银行;
  • 价格跳动pricetick:意味着交易委托时价格的最小变动单位,如果精度不对则会造成委托失败

 

 

订阅行情

 

在上一步中找到自己想要订阅行情的合约信息后,则可以在VN Trader界面左上角的交易组件框中,选择交易所、接口后,在代码框中输入合约代码后回车,即可订阅行情。

 

当收到最新行情Tick推送时,会显示在下方的深度报价中,国内证券市场Level 1行情的Tick推送的更新频率是每3秒1笔。

 

description
 

所有已订阅的行情信息,都会显示在右侧顶部的行情监控组件中,方便后续快速执行手动交易:

 
 

交易下单

 

知道最新行情的价格在哪里后,就可以进行买卖下单:

 
description

 

  • 选择交易方向:要买(多)还是要卖(空)
  • 开平留空不用选(两融和期权交易则需要选)
  • 选择价格类型:XTP接口支持限价、市价
  • 输入价格和数量后,点击“委托”按钮即可发出交易请求

 

 

委托成交

 
委托请求提交后,则会返回相应的委托回报信息,显示在委托组件中,显示当前这笔委托请求的最新状态:
 

description

 

注意委托组件分为两个:

 

  • “活动”:只显示当前处于可撤状态(提交中、未成交、部分成交)的委托信息
  • “委托”:显示所有的委托信息(包括可撤委托)

 

两个组件中,对于处于可撤状态的委托,均可双击该笔委托的单元格来实现撤单的功能(鼠标放置其上时会有文字提示)。或者也可以通过交易组件上的单击“全撤”按钮,来实现一键全撤VN Trader内当前所有可撤委托。

 
description

 

当委托发生成交后,VN Trader会收到成交推送的数据,并显示在成交监控组件中,用户可以通过每笔成交的委托号来实现和对应委托的映射。注意在实盘中,每笔委托可能和多笔反向来自其他投资者的委托发生成交,即一笔委托对应有多笔成交记录。

 
 

资金持仓

 

委托成交后,XTP账户的资金情况将会发生变化:

 

description

 

VN Trader底部中间的资金监控组件的数据,默认以每4秒一次的频率查询刷新,所以某一时间点你看到数据可能并非最新情况。

 

description

 

实盘交易

 

当你已经对XTP的仿真测试环境足够熟悉后,可能已经做好了使用XTP柜台进行实盘交易的准备,接下来的步骤是:

 

  1. 选择某家营业部开立XTP实盘账户;
  2. 完成专业投资者身份认证;
  3. 联系客户经理,进行“三方采购”流程;
  4. 将你开发完成的程序(或者直接用vn.py)提交给中泰进行检测;
  5. 检测通过后,中泰会提供实盘账号信息,以及内网托管服务器环境(一般是虚拟机,也可自行购买实体机器);
  6. 开始实盘交易吧!

 

了解更多知识,请关注vn.py社区公众号
description

Member
avatar
加入于:
帖子: 32
声望: 0

description
邮件中没有收到行情端口和交易端口,请问有谁知道不?

Member
avatar
加入于:
帖子: 337
声望: 27

行情端口是138后面以6开头的数字,行情地址截止到138,交易端口是69后面的数字,交易地址截止到69。
ljx wrote:

description
邮件中没有收到行情端口和交易端口,请问有谁知道不?

Member
avatar
加入于:
帖子: 32
声望: 0

谢谢!但按照你的提示操作还是连不上报错,请看一下并帮解决!
description

Member
avatar
加入于:
帖子: 32
声望: 0

我看原因是提示用户不存在,但我打电话给中泰确认了用户名是成功的,说找VNPY客服说可能是这边的原因.....

Member
avatar
加入于:
帖子: 32
声望: 0

哈哈查到了账号不存在的原因,是因為那个账号我是在邮箱中直接复制过去的,那知复制是不行的,我手动输入就成功了,但又报错交易服务器登陆失败,帮看看是啥问题!

description

Member
avatar
加入于:
帖子: 32
声望: 0

米筐数据接口成功了,并注册了中泰XTP模拟账户,为何不能下载股票比如510050的历史数据?还有查询合约不能查到上证50的期权合约

Member
avatar
加入于:
帖子: 337
声望: 27

请问是用接口下的数据还是用米筐获取的数据,确认一下是否有数据权限。
ljx wrote:

米筐数据接口成功了,并注册了中泰XTP模拟账户,为何不能下载股票比如510050的历史数据?还有查询合约不能查到上证50的期权合约

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】