VeighNa发布v3.9.4 - 升级支持TDengine时序数据库3.0版本!

文摘   财经   2024-12-29 22:42   上海  
今年【社区活动尊享卡】的受欢迎程度大幅超出我们的预期,为了保证每场社区活动的交流质量,尊享卡已经变更为仅对部分专业交易员用户定向提供。同时当前的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


新增

  1. vnpy_tora增加登录时终端动态密钥支持

  2. vnpy_taos升级支持TDengine的3.0版本


调整

  1. vnpy_xt行情接口增加实时行情中的涨跌停价字段

  2. vnpy_taos移除不必要的时区转换提高性能

  3. vnpy_dolphindb优化写入大量数据时候的内存占用

  4. vnpy_portfoliostrategy简化回测引擎的calculate_pnl每日盈亏计算函数

  5. vnpy_tap/vnpy_tts升级pybind11封装工具库的版本,支持Python 3.12编译

  6. EmailEngine发送邮件失败后,捕捉异常并输出日志


修复

  1. vnpy_optionmaster移除不必要的价格缓存代码

  2. vnpy_dolphindb修复保存overview的时区不正确问题


VeighNa开源量化
VeighNa官方公众号。免责声明:本公众号内的文章旨在为更多想要学习Python的学员提供帮助,VeighNa管理者及运营者不对任何利用VeighNa社区或相关软件技术直接或间接从事违反中国法律以及社会公德的行为负责。
 最新文章