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

发布于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终端。安装完成后双击桌面快捷方式,打开登录窗口:

description

点击左下方的【申请账号】按钮,跳转到掘金官网的【新用户注册】页面:

description

完成注册后,使用注册中填写的信息登录。登录成功会自动弹出掘金量化终端的主窗口,如下图所示:

description

使用VeighNa Trader的掘金仿真交易接口GmGateway,需要用到密钥Token账户ID两个信息。

点击掘金主窗口右上角的【系统设置】,在弹出的界面中找到密钥管理(Token)栏目,即可看到当前账户的密钥Token信息:

description

然后回到掘金主窗口,点击顶部的【账户管理】按钮进入账户界面,此时根据情况不同可能看到一个或者多个仿真账户:

description

找到想要使用的仿真账户,点击其下方【复制账户ID】按钮(上图中红框),即可将该账户ID复制到剪切板。

有了这两个信息后,就可以在VeighNa Station中配置加载GmGateway并启动VeighNa Trader,随后点击主界面菜单栏的【系统】->【连接GM】按钮,在弹出的对话框中输入Token和账户ID,即可连接掘金仿真交易接口。

接口连接成功后,会自动执行初始化查询(包括账户资金、合约持仓、交易委托和成交信息等),每一步完成均会在左下角的日志区域输出对应的信息提示:

description

掘金仿真交易接口的行情依赖于TuShare数据服务,需要在全局配置中配置TuShare相关账户信息(修改以datafeed开头的字段),具体可以参考这里的vnpy_tushare模块说明文档

尤其需要注意的是,在使用掘金仿真交易接口的过程中,需要始终保持掘金量化终端的开启运行,否则会导致交易接口断开连接

完成上述步骤后,就可以很方便的在掘金仿真环境中订阅实时行情、进行手动交易和运行量化策略了,整体使用方式和其他VeighNa Trader常用交易接口基本一致:

description

 

TuShare账号配置问题

如果连接GM接口后,弹出异常信息报错:“抱歉,您输入的TOKEN无效!”:

description

则说明TuShare账号配置有问题,请点击VeighNa Trader菜单栏的【配置】按钮,在全局配置对话框中检查以datafeed开头的字段是否有误。

 

7 x 24模拟撮合环境

掘金默认仿真账户的撮合方式是精准撮合(仅交易时段可用),如果想要使用模拟撮合环境(7 x 24小时可用),可以在掘金量化终端的【账户管理】界面点击右上角的【添加仿真账户】按钮:

description

在弹出的窗口中填入相关信息即可创建新的仿真账户(账户名称和期初资金可随意填写),如下图所示:

description

创建成功后,可以看到【账户管理】界面上已经显示新申请账户的信息:

description

此时手动点击新账户信息右侧的【连接】按钮,在掘金量化终端中启用并连接该账户,就可以复制新账户的账户ID去VeighNa Trader连接掘金仿真交易接口了。

 

CHANGELOG

 

新增

  1. 新增数据库组件vnpy.trader.database中的TickOverview对象

  2. 新增掘金仿真环境交易接口vnpy_gm

  3. BaseData基础数据类型增加extra字段(字典类型),用于传送任意相关数据

调整

  1. 使用Python内置的zoneinfo库替换三方的pytz库

  2. 调整相关交易接口、数据服务接口、数据库适配器、应用模块,使用新的ZoneInfo对象来标识时区信息

  3. 数据库适配器接口vnpy.trader.database写入数据时,新增流式写入参数stream,提高行情录制性能
     

Member
avatar
加入于:
帖子: 14
声望: 31

刚试用过,汇报一下,如果要在源代码中使用掘金仿真交易接口,需要:
1-pip安装掘金仿真交易接口包
pip install vnpy_gm
2-run.py的头部增加导入
from vnpy_gm import GmGateway
3-main()函数中在主引擎中加载
main_engine.add_gateway(GmGateway)

有个问题:无论建立的是期货模拟账户还是股票账户,“合约查询”功能看到的都是股票,还需要继续研究。
只是简单试了一下,说得不一定对,也还没有发现其它的问题。

Member
avatar
加入于:
帖子: 1472
声望: 105

目前只支持了股票功能,Github仓库README里有写的

Member
avatar
加入于:
帖子: 97
声望: 3

掘金仿真只能在windows系统下使用吧?

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

gm.gateway在Github上的代码怎么和Gitee不一样

Member
avatar
加入于:
帖子: 1472
声望: 105

https://github.com/vnpy/vnpy_gm

https://gitee.com/vnpy/vnpy_gm

具体不一样的地方是?

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

MTF wrote:

https://github.com/vnpy/vnpy_gm

https://gitee.com/vnpy/vnpy_gm

具体不一样的地方是?

description

description

github上的代码用了tushare,gitee上没用,一个用的gmtrade.api,一个用的gm.api

Member
avatar
加入于:
帖子: 1472
声望: 105

已经更新同步好了,再看下吧

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

沪公网安备 31011502017034号

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