发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2024-12-29
今年【社区活动尊享卡】的受欢迎程度大幅超出我们的预期,为了保证每场社区活动的交流质量,尊享卡已经变更为仅对部分专业交易员用户定向提供。同时当前的999优惠价格(12次活动)将于2024年12月31日结束,25年将会上涨到1099的价格。有需要的同学请扫描二维码添加小助手咨询:
本周发布了VeighNa的3.9.4版本,也是3.0大版本的最后一次发布。本次更新的主要内容是升级支持了TDengine时序数据库的3.0新版本,以及VeighNa Docker容器镜像功能的再度升级,整合了VeighNa Station投研一体化终端,提供和VeighNa Studio更加一致的用户体验。
对于已经安装了VeighNa Studio的用户,可以使用快速更新功能完成自动升级。对于没有安装的用户,请下载VeighNa Studio-3.9.4,体验一键安装的量化交易Python发行版,下载链接:
https://download.vnpy.com/veighna_studio-3.9.4.exe
TDengine时序数据库支持升级
作为知名国产开源时序数据库的TDengine,其对于金融时序数据的存储性能充分得到了量化行业用户的认可,但之前TDengine 2.0版本中相对复杂的安装流程(WSL安装配置、FQDN服务器地址验证、服务自动启动等),难住了许多对于Linux命令操作不那么熟悉的VeighNa社区同学。
本次3.9.4版本更新中升级实现了对于TDengine 3.0版本的适配,在保持原有高性能的同时,大幅降低了在Windows系统上使用VeighNa平台对接TDengine的安装配置难度,强烈推荐已经遇到默认SQLite数据库性能瓶颈的同学们上手体验。
Docker服务端
对于大多数VeighNa用户,推荐使用TDengine 3.0版本的Docker容器镜像来安装配置时序数据库的服务端程序。对于Linux命令操作熟悉的同学,也可以参考这篇文档中的说明在WSL或者Linux服务器上直接安装,本文中就不做详细介绍。
首先需要确保Windows系统中已经安装好了Docker Desktop软件,可以在Docker官网的该页面找到下载链接:
https://www.docker.com/products/docker-desktop/
点击页面中部蓝色按钮的【Download Docker Desktop】,在弹出的下拉框中选择【Download for Windows - AMD64】,下载完成后运行安装程序,基本一路傻瓜安装即可。
安装完成后启动Docker Desktop程序,点击窗口右上角的齿轮按钮进入全局配置页面,如下图所示:
勾选【General】下的【Start Docker Desktop when you sign in to your computer】后,点击右下角的【Apply & restart】按钮,将Docker Desktop设置为随操作系统启动(配合后面的容器自动重启参数,实现TDengine的后台服务式运行)。
完成后可以关闭Docker Desktop窗口,此时软件不会退出,而是最小化到系统右下角的托盘栏中。随后打开PowerShell或者其他命令行工具(文中使用的是Windows Terminal中运行的PowerShell),运行命令:
docker
如果能看到如下图所示输出,则说明Docker运行正常:
下一步是使用命令拉取TDengine容器镜像:
docker pull tdengine/tdengine:latest
运行命令后,看到所有进度条都走完,则说明拉取成功:
拉取完成后,通过下述命令来启动数据库服务容器:
docker run -d `
-v C:/my_tdengine/data:/var/lib/taos `
-v C:/my_tdengine/log:/var/log/taos `
-p 6030:6030 `
-p 6041:6041 `
-p 6043:6043 `
-p 6044-6049:6044-6049 `
-p 6044-6045:6044-6045/udp `
-p 6060:6060 `
--restart=always `
tdengine/tdengine
以上PowerShell多行命令的每行结尾使用了反引号(键盘Tab上方按键)作为换行符,将上述命令复制到PowerShell窗口中运行,等待几秒后容器启动成功会输出一段较长的随机字符串(容器编号)。
启动容器后,可以通过下述命令来查看当前容器的运行状态:
docker ps
正常运行状态下,输出的信息如下图所示:
命令中的具体参数(以-或者--开头)说明如下:
-v:用于挂载Windows系统下的指定文件夹到容器中,为容器中运行的TDengine程序提供数据存储输出,可以根据自己的需求修改:
/var/lib/taos,对应的是TDengine的数据存储路径;
/var/log/taos,对应的是TDengine的日志输出路径。
-p:用于将Windows系统的端口映射绑定到容器中对应的端口,为外部程序提供数据库访问,这些端口参数建议保持不变:
- 6030,主要用于应用程序(如VeighNa)连接TDengine;
- 6041,提供数据库管理终端(如DBeaver)连接TDengine;
- 其他端口提供更加进阶的功能,这里可以忽略。
--restart:用于设置容器的重启策略,always代表每次Docker Desktop启动后都立即启动TDengine容器,结合之前设置的Docker Desktop开机自动启动即可实现时序数据库的后台服务式运行。
Windows客户端
完成Docker服务端安装后,下一步需要安装Windows客户端程序:
https://www.taosdata.com/assets-download/3.0/TDengine-client-3.3.4.8-Windows-x64.exe
下载完成后运行程序直接安装即可,至此我们就完成了TDengine 3.0版本的安装流程。
在VeighNa中对接TDengine,需要通过vnpy_taos模块(VeighNa Station更新3.9.4版本时会自动安装),该模块又依赖于刚安装完成的TDengine客户端程序。
然后在VeighNa Trader菜单栏的全局配置中(或者vt_setting.json文件里)填入以下内容:
- database.name: "taos"
- database.database: "vnpy"
- database.host: "127.0.0.1"
- database.port: 6030
- database.user: "root"
- database.password: "taosdata"
重启后,即可体验VeighNa Trader连接TDengine时序数据库的高能性能数据读写。
VeighNa Docke容器镜像升级
本次3.9.4更新中对VeighNa Docker容器镜像的功能再次进行了升级,整合了广受欢迎的VeighNa Station投研一体化终端,为Linux和Mac系统用户提供和VeighNa Studio高度一致的体验。
安装好Docker后,在终端(如bash中)运行下述命令:
docker run \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /mnt/c/veighna/home:/home \
veighna/veighna:3.9.4 \
python3 -m veighna_station
即可启动VeighNa Station,同时【交易】页面下的【交易接口】和【功能模块】也都对Docker容器环境进行了适配,如下图所示:
上述命令中的"-v /mnt/c/veighna/home:/home",用于将宿主机中的"/mnt/c/veighna/home"文件夹,挂载到Docker容器中的"/home"路径,作为VeighNa运行时的数据存储和日志输出,实际使用时可以根据自己的需求进行调整。
CHANGELOG
新增
- vnpy_tora增加登录时终端动态密钥支持
- vnpy_taos升级支持TDengine的3.0版本
调整
- vnpy_xt行情接口增加实时行情中的涨跌停价字段
- vnpy_taos移除不必要的时区转换提高性能
- vnpy_dolphindb优化写入大量数据时候的内存占用
- vnpy_portfoliostrategy简化回测引擎的calculate_pnl每日盈亏计算函数
- vnpy_tap/vnpy_tts升级pybind11封装工具库的版本,支持Python 3.12编译
- EmailEngine发送邮件失败后,捕捉异常并输出日志
修复
- vnpy_optionmaster移除不必要的价格缓存代码
- vnpy_dolphindb修复保存overview的时区不正确问题