发布于veighna社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2022-08-21
本周初发布了VeighNa的3.3.0版本,本次更新的主要内容是增加了掘金仿真交易接口,以及使用Python官方时区库zoneinfo来替代过去使用的三方库pytz。
对于已经安装了VeighNa Studio的用户,可以使用快速更新功能完成自动升级。对于没有安装的用户,请下载VeighNa Studio-3.3.0,体验一键安装的量化交易Python发行版,下载链接:
https://download.vnpy.com/veighna_studio-3.3.0.exe
掘金仿真交易接口
注册登录仿真账号
和CTP等常见交易接口直连后端服务器不同,掘金仿真交易接口的连接对象是本地安装的掘金量化终端(类似IB接口连接的是本地TWS客户端)。
因此使用该交易接口前,需要先前往掘金官网(myquant.cn)下载安装掘金量化3.0终端。安装完成后双击桌面快捷方式,打开登录窗口:
点击左下方的【申请账号】按钮,跳转到掘金官网的【新用户注册】页面:
完成注册后,使用注册中填写的信息登录。登录成功会自动弹出掘金量化终端的主窗口,如下图所示:
使用VeighNa Trader的掘金仿真交易接口GmGateway,需要用到密钥Token和账户ID两个信息。
点击掘金主窗口右上角的【系统设置】,在弹出的界面中找到密钥管理(Token)栏目,即可看到当前账户的密钥Token信息:
然后回到掘金主窗口,点击顶部的【账户管理】按钮进入账户界面,此时根据情况不同可能看到一个或者多个仿真账户:
找到想要使用的仿真账户,点击其下方【复制账户ID】按钮(上图中红框),即可将该账户ID复制到剪切板。
有了这两个信息后,就可以在VeighNa Station中配置加载GmGateway并启动VeighNa Trader,随后点击主界面菜单栏的【系统】->【连接GM】按钮,在弹出的对话框中输入Token和账户ID,即可连接掘金仿真交易接口。
接口连接成功后,会自动执行初始化查询(包括账户资金、合约持仓、交易委托和成交信息等),每一步完成均会在左下角的日志区域输出对应的信息提示:
掘金仿真交易接口的行情依赖于TuShare数据服务,需要在全局配置中配置TuShare相关账户信息(修改以datafeed开头的字段),具体可以参考这里的vnpy_tushare模块说明文档。
尤其需要注意的是,在使用掘金仿真交易接口的过程中,需要始终保持掘金量化终端的开启运行,否则会导致交易接口断开连接。
完成上述步骤后,就可以很方便的在掘金仿真环境中订阅实时行情、进行手动交易和运行量化策略了,整体使用方式和其他VeighNa Trader常用交易接口基本一致:
TuShare账号配置问题
如果连接GM接口后,弹出异常信息报错:“抱歉,您输入的TOKEN无效!”:
则说明TuShare账号配置有问题,请点击VeighNa Trader菜单栏的【配置】按钮,在全局配置对话框中检查以datafeed开头的字段是否有误。
7 x 24模拟撮合环境
掘金默认仿真账户的撮合方式是精准撮合(仅交易时段可用),如果想要使用模拟撮合环境(7 x 24小时可用),可以在掘金量化终端的【账户管理】界面点击右上角的【添加仿真账户】按钮:
在弹出的窗口中填入相关信息即可创建新的仿真账户(账户名称和期初资金可随意填写),如下图所示:
创建成功后,可以看到【账户管理】界面上已经显示新申请账户的信息:
此时手动点击新账户信息右侧的【连接】按钮,在掘金量化终端中启用并连接该账户,就可以复制新账户的账户ID去VeighNa Trader连接掘金仿真交易接口了。
CHANGELOG
新增
新增数据库组件vnpy.trader.database中的TickOverview对象
新增掘金仿真环境交易接口vnpy_gm
BaseData基础数据类型增加extra字段(字典类型),用于传送任意相关数据
调整
使用Python内置的zoneinfo库替换三方的pytz库
调整相关交易接口、数据服务接口、数据库适配器、应用模块,使用新的ZoneInfo对象来标识时区信息
数据库适配器接口vnpy.trader.database写入数据时,新增流式写入参数stream,提高行情录制性能