发布于veighna社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2022-06-28
上周日发布了VeighNa的3.2.0版本,本次更新的主要内容是新增了TDengine和TimescaleDB的支持,为用户提供更丰富的时序数据库选择。
对于已经安装了VeighNa Studio的用户,可以使用快速更新功能完成自动升级。对于没有安装的用户,请下载VeighNa Studio-3.2.0,体验一键安装的量化交易Python发行版,下载链接:
https://download.vnpy.com/veighna_studio-3.2.0.exe
TDengine支持
TDengine是一款由涛思数据(taosdata)推出的国产开源时序数据库,其特点除了高性能、分布式、支持SQL,同时还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少研发和运维的复杂度(以上介绍来自涛思数据官网)。
本次更新中新增了vnpy_taos模块用于实现TDengine数据库的连接适配。在安装流程上TDengine可能略显复杂,因此这里我们专门列举出每个步骤中需要注意的重点。
服务端安装
截止目前,TDengine的服务端只提供了Linux版本,用户可以根据自己的需求选择Docker、apt-get、安装包或者源码编译的方式进行安装。这里考虑到VeighNa官方主力支持的Linux版本是Ubuntu,推荐初次尝试的同学使用apt-get的安装方式,具体安装流程可以参考TDengine文档中的【服务器安装章节】。
客户端安装
TDengine的客户端除了Linux外也支持Windows系统,注意为了避免客户端驱动和服务端不兼容,请安装使用一致的版本,具体安装流程可以参考官方文档中的【客户端安装章节】。
FQDN配置
使用Windows客户端的用户,在安装完成后还需要配置FQDN来满足TDengine的节点寻址需求(不知道FQDN的同学请戳这里),具体操作推荐这篇【知乎上的文章】。
数据库配置
完成安装后,即可在VeighNa Trader的全局配置中进行数据库设置,具体字段参考如下(请根据自己的需求修改):
database.name: taos
database.host: localhost
database.port: 6030
database.database: vnpy
database.user: root
database.password: taosdata
TimescaleDB支持
TimescaleDB是基于PostgreSQL打造的一款时序数据库,对时序数据高度优化的同时,也保持了对SQL语言的兼容,支持自动按时间和空间对数据进行分片。TimescaleDB作为PostgreSQL扩展插件的形式发布,所以也拥有PostgreSQL本身的丰富生态。
TimescaleDB支持的系统包括Windows、Linux和Mac,安装流程上都分为安装PostgreSQL本身和添加激活TimescaleDB插件两步,具体操作在不同的系统上有所区别,推荐阅读参考官方文档中的【Install TimescaleDB Self-hosted】。
数据库配置
本次更新中新增了vnpy_timescaledb模块用于实现TimescaleDB数据库的连接适配,VeighNa Trader全局配置中的数据库字段参考如下:
database.name: timescaledb
database.host: localhost
database.port: 5432
database.database: vnpy
database.user: postgres
database.password: 默认为空
CHANGELOG
新增
- 添加广州期货交易所枚举值字段GFEX
- 新增CTP期权(ETF)穿透式测试接口vnpy_sopttest
- 新增Currency.CAD(加元)枚举值
- 新增Exchange.TSE(多伦多交易所)和Exchange.AMEX(美洲交易所)枚举值
- 新增vnpy_taos,涛思数据TDengine时序数据库适配器
- 新增vnpy_timescaledb,TimescaleDB时序数据库适配器
调整
- 更新vnpy_ctp/vnpy_ctptest支持广州期货交易所
- 更新vnpy_tora的现货API接口到最新版本:API_Python3.7_交易_v4.0.3_20220222
- 更新vnpy_tora的期权API接口到最新版本:API_Python3.7_v1.3.2_20211201
- 更新vnpy_esunny/vnpy_tap添加关闭接口时对于API退出函数的调用
- 移除vnpy_ctastrategy/vnpy_ctabacktester/vnpy_optionmaster的反向合约支持
- 增加vnpy_ib对于沪股通、深股通、多伦多交易所、美洲交易所的支持
- 增加vnpy_ib对于指数行情数据的支持
- 添加vnpy_ctastrategy策略交易管理界面的策略实例查找功能
修复
- 修复vnpy_mongodb中K线数据量统计的问题(使用新的count_documents函数)
- 修复由于PySide6对象销毁先于del调用,导致的BaseMonitor衍生组件无法自动保存界面状态的问题