由于一些历史原因,A股证券市场在几年前就关闭了类似期货这样的开放式API接入(几乎0门槛,只需要一定开发技术),现阶段可行的方案主要是“三方采购”的接入模式,其门槛大致为:
- 专业投资者认证:自然人需要不低于300万金融资产,且具有1年以上投资经历(证券、期货、基金、黄金、外汇均可),法人则包括各类持牌机构(券商、期货、公募、私募等);
- 券商三方系统采购:基于券商提供的API接口完成交易程序的开发后,由券商进行安全合规性检查,通过后与客户签署采购协议(该程序成为券商官方提供的程序之一,尽管只提供给该客户自己使用);
- 券商内网托管运行:完成采购的交易程序,在实盘交易时必须运行在托管于券商内网的服务器上(独立或者虚拟均可),客户在盘中只能通过远程桌面或者其他控制客户端来访问管理,禁止以任何方式向外网发送行情和交易的数据。
监管的核心目标(或者说红线)是杜绝配资的可能。
中泰证券自主开发的XTP量化极速证券柜台,无论速度性能还是每日交易量,都是目前国内领先的证券柜台之一,同时其“三方采购”流程比较标准化,本篇教程就主要针对XTP进行讲解。
准备账号
XTP目前提供三类账户:
- 现货账户:股票、ETF、债券、回购等
- 两融账户:融资融券
- 期权账户:ETF期权
测试上我们就用简单的现货账户,前往中泰证券XTP的主页,点击右上角的“注册”按钮申请测试账号:
注册完成后,回到主页点击右上角的“登录”按钮进行登录,完成后再点击右上角的“测试账号”,进入申请页面:
这里请根据实际情况进行填写,提交申请后一个工作日,将会收到测试环境的账号、密码、服务器等信息的邮件。
接口登录
接下来照着入门1中的方法,启动VN Trader Pro,只加载“XTP”接口。
进入主界面后,点击菜单栏的“系统”->“连接XTP”,看到对话框:
各个字段的填写如下:
- 账号:测试账号(邮件收到)
- 密码:测试密码(邮件收到)
- 客户号:填1(若同时多点登录,则每个点需要不同的客户号)
- 行情地址:120.27.164.138(可能会变,以邮件收到的为准)
- 行情端口:6002(可能会变,以邮件收到的为准)
- 交易地址:120.27.164.69(可能会变,以邮件收到的为准)
- 交易端口:6002(可能会变,以邮件收到的为准)
- 行情协议:选TCP,实盘环境中可选UDP行情
- 授权码:交易程序的授权编码(邮件收到)
XTP的测试环境部署在阿里云上,可以直接通过互联网连接,无需把机器放到托管环境内。
以上都填好后,点击“连接”按钮开始登录XTP服务器以及相关初始化操作,在右下角的日志监控组件中,可以看到初始化相关的日志信息输出:
登录初始化过程中有任何异常情况,日志信息中都会看到相应的文字输出,可以根据内容自行排查。看到两个交易所的合约信息查询成功这条日志后,说明已经成功完成了初始化操作。
查看合约
点击菜单栏“帮助”->“查询合约”,或者左侧功能导航栏的倒数第二个放大镜按钮,打开合约查询对话框:
点击右上角的查询按钮,显示当前VN Trader内部已连接的交易接口(XTP)的上支持的所有可交易合约。
几个需要关注的字段:
- 合约代码symbol:该合约在某家交易所的唯一标识
- 交易所代码exchanage:该交易所在VN Trader内的唯一标识
- 本地代码vt_symbol:由合约代码以及交易所代码共同组成,代表该合约在VN Trader内的唯一标识符,需要交易所代码是因为跨交易所的代码可能存在重复,比如000001在上交所代表的是上证指数,在深交所代表的则是平安银行;
- 价格跳动pricetick:意味着交易委托时价格的最小变动单位,如果精度不对则会造成委托失败
订阅行情
在上一步中找到自己想要订阅行情的合约信息后,则可以在VN Trader界面左上角的交易组件框中,选择交易所、接口后,在代码框中输入合约代码后回车,即可订阅行情。
当收到最新行情Tick推送时,会显示在下方的深度报价中,国内证券市场Level 1行情的Tick推送的更新频率是每3秒1笔。
所有已订阅的行情信息,都会显示在右侧顶部的行情监控组件中,方便后续快速执行手动交易:
交易下单
知道最新行情的价格在哪里后,就可以进行买卖下单:
- 选择交易方向:要买(多)还是要卖(空)
- 开平留空不用选(两融和期权交易则需要选)
- 选择价格类型:XTP接口支持限价、市价
- 输入价格和数量后,点击“委托”按钮即可发出交易请求
委托成交
委托请求提交后,则会返回相应的委托回报信息,显示在委托组件中,显示当前这笔委托请求的最新状态:
注意委托组件分为两个:
- “活动”:只显示当前处于可撤状态(提交中、未成交、部分成交)的委托信息
- “委托”:显示所有的委托信息(包括可撤委托)
两个组件中,对于处于可撤状态的委托,均可双击该笔委托的单元格来实现撤单的功能(鼠标放置其上时会有文字提示)。或者也可以通过交易组件上的单击“全撤”按钮,来实现一键全撤VN Trader内当前所有可撤委托。
当委托发生成交后,VN Trader会收到成交推送的数据,并显示在成交监控组件中,用户可以通过每笔成交的委托号来实现和对应委托的映射。注意在实盘中,每笔委托可能和多笔反向来自其他投资者的委托发生成交,即一笔委托对应有多笔成交记录。
资金持仓
委托成交后,XTP账户的资金情况将会发生变化:
VN Trader底部中间的资金监控组件的数据,默认以每4秒一次的频率查询刷新,所以某一时间点你看到数据可能并非最新情况。
实盘交易
当你已经对XTP的仿真测试环境足够熟悉后,可能已经做好了使用XTP柜台进行实盘交易的准备,接下来的步骤是:
- 选择某家营业部开立XTP实盘账户;
- 完成专业投资者身份认证;
- 联系客户经理,进行“三方采购”流程;
- 将你开发完成的程序(或者直接用vn.py)提交给中泰进行检测;
- 检测通过后,中泰会提供实盘账号信息,以及内网托管服务器环境(一般是虚拟机,也可自行购买实体机器);
- 开始实盘交易吧!
了解更多知识,请关注vn.py社区公众号