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

发布于veighna社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2022-05-16
 

上周五发布了VeighNa的3.1.0版本,本次更新的主要内容是升级了若干依赖库到对应的Python 3.10新版本,解决之前版本中出现的warning提示等问题。

对于已经安装了VeighNa Studio 3.0.0的用户,可以使用快速更新功能完成自动升级。对于没有安装的用户,请下载VeighNa Studio-3.1.0,体验一键安装的量化交易Python发行版,下载链接:

https://download.vnpy.com/veighna_studio-3.1.0.exe

 

自动更新功能

 

考虑到许多用户可能是第一次使用VeighNa Station重构后的自动更新功能,这里做个简单的演示说明。

启动VeighNa Station后,可以通过标题栏上的版本号确认当前的Station版本:

description

在左侧导航栏找到【更新】标签切换页面,此时可以先点击页面左下角的【检查】按钮,查看当前本地VeighNa Studio内已安装的三方库版本:

description

点击右下角的【更新】按钮后,会自动连接服务器获取目前VeighNa相关模块已发布的新版本号,并使用子进程对逐个模块执行更新升级,更新过程中的日志信息会输出在右侧的监控区域:

description

更新完成后会自动弹出对话框提示重启,此时需要手动关闭VeighNa Station来完成重启操作。

如果发现有部分模块更新失败或者出错的情况,可以尝试再次点击【更新】按钮执行任务。对于持续失败的情况,建议选中复制右侧日志区域里的相关日志信息后,在社区论坛的【安装指南】板块咨询求助。

 

依赖库升级

 

tzlocal升级到4.2

不少同学在论坛反馈了上个版本中遇到的这个get_localzone().zone函数warning提示:

description

背后原因是在时区相关的定义和转换上,从Python 3.9版本开始新增了zoneinfo内置库用于替代之前社区维护的pytz三方库,两者之间的API设计有所区别。

本次更新中将tzlocal库升级到了4.2版本,同时将get_localzone().zone替换为新的get_localzone_name函数解决了上述问题。

pymongo升级到4.0

在之前版本的pymongo中,由于需要使用collection.replace_one函数来保证主键(vt_symbol、interval、datetime)约束下的数据更新,只能采用逐条数据写入的方式,导致vnpy_mongodb模块的K线和Tick数据的写入性能相当差。

感谢社区dyllanwli贡献的数据批量写入功能,基于pymongo新的4.0版本中引入的bulk_write函数,写入时间和读取速度相对之前有了显著提升。

 

CHANGELOG

 

新增

  1. 新增恒生云UF2.0证券仿真环境交易接口vnpy_uf(仅限Python 3.7)
  2. 新增火象投教仿真环境交易接口vnpy_hx

调整

  1. 升级tzlocal库的版本到4.2,消除get_localzone()函数的warning
  2. 完善代码中函数和变量类型提示
  3. 使用QtCore.Signal代替老的QtCore.pyqtSignal
  4. 优化vnpy_rohon接口的委托成交相关细节功能
  5. 更新vnpy_xtp到2.2.32.2.0版本XTP API,支持上交所新债系统
  6. 优化vnpy_mongodb的数据写入速度,基于pymongo 4.0版本的批量写入功能
  7. 增加vnpy_ctp对于委托函数返回值为非0(请求发送失败)状态的处理
  8. 对vnpy_ctastrategy和vnpy_ctabacktester的策略模板下拉框中内容,改为基于首字母排序

修复

  1. 修复vnpy_optionmaster模块希腊值监控组件的数据刷新问题
  2. 修复vnpy_mongodb由于时间戳的时区信息缺失,导致的数据加载范围问题
  3. 修复vnpy_tts的sdist源代码打包缺失lib文件的问题
  4. 修复vnpy_rqdata由于查询返回数据为NaN导致的解析问题
     
Member
avatar
加入于:
帖子: 4
声望: 1

升级后报错哟:程序都开不出来啦。。。

2022-06-02 09:06:18 --------------------------------------------------
2022-06-02 09:06:18 VeighNa Trader进程启动
2022-06-02 09:06:18 Traceback (most recent call last):
File "C:\veighna_studio\lib\runpy.py", line 196, in _run_module_as_main
2022-06-02 09:06:18 return _run_code(code, main_globals, None,
File "C:\veighna_studio\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 5, in <module>
2022-06-02 09:06:18 File "C:\veighna_studio\lib\site-packages\vnpy\trader\engine.py", line 43, in <module>
from .setting import SETTINGS
File "C:\veighna_studio\lib\site-packages\vnpy\trader\setting.py", line 7, in <module>
from tzlocal import get_localzone_name
ImportError: cannot import name 'get_localzone_name' from 'tzlocal' (C:\veighna_studio\lib\site-packages\tzlocal__init.py)
2022-06-02 09:06:18 VeighNa Trader进程终止
2022-06-02 09:06:43 --------------------------------------------------
2022-06-02 09:06:43 VeighNa Trader进程启动
2022-06-02 09:06:43 Traceback (most recent call last):
File "C:\veighna_studio\lib\runpy.py", line 196, in _run_module_as_main
2022-06-02 09:06:43 return _run_code(code, main_globals, None,
File "C:\veighna_studio\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 5, in <module>
2022-06-02 09:06:43 File "C:\veighna_studio\lib\site-packages\vnpy\trader\engine.py", line 43, in <module>
from .setting import SETTINGS
File "C:\veighna_studio\lib\site-packages\vnpy\trader\setting.py", line 7, in <module>
from tzlocal import get_localzone_name
ImportError: cannot import name 'get_localzone_name' from 'tzlocal' (C:\veighna_studio\lib\site-packages\tzlocal\
init__.py)
2022-06-02 09:06:43 VeighNa Trader进程终止

Member
avatar
加入于:
帖子: 4684
声望: 285

在station【更新】页面点击【更新】升级一下tzlocal吧

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

沪公网安备 31011502017034号

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