VeighNa量化社区
你的开源社区量化交易平台
xiaohe's Avatar
Member
离线
4300 帖子
声望: 268

可以开个cmd,在其中执行报错的命令,看看输出信息是什么

不是

请问加载其他的app能否成功呢?

策略逻辑可以自己掌握

可以设置时区之后再试试看

可以pip install --upgrade vnpy_ctastrategy试试

你这个报错是没定义available吧

可以pip install --upgrade vnpy_ctastrategy试试

应该不行

如果接口支持,接口连接时查询未成交委托的回报函数中就不会过滤该订单信息,会向上层推送的

可以看看是不是开了360之类的,如果有就停止或者卸载掉后再装

实盘交易的时候都是收到的tick合成bar的,只有初始化需要拉取历史数据,如果没有数据服务,需要自己用datarecorder录数据的

因为vnpy_ctrastrategy也升级了;
可以升级到2.6.0

你qapp = create_qapp()这行代码用了两次,会报错的。去掉多余的代码后我这边可以打开,可以试着加载其他的app看看能否成功,如果不可以可能是环境配置问题,如果可以就请查看一下vnpy包里algo_trading的代码是否有缺失,可能是安装不完全导致的

这个是你自己修改过吧,原来的代码是strategy.pos += trade.volume

发布于vn.py社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2021-09-26
 

昨天发布了vn.py的2.6.0版本,本次更新的内容主要是新增了一系列专门针对金融时序数据的高性能数据库支持,包括:DolphinDB、Arctic和LevelDB,大幅提高各类量化策略回测研究的效率。

请注意,2.6.0新版本中包含了对数据库(database)和数据服务(datafeed)全局配置字段的修改,老版本用户升级后需要重新手动配置,具体请参考后面对应的章节内容。

和之前一样,对于使用VN Studio的用户,启动VN Station后,直接点击界面右下角的【更新】按钮就能完成自动更新升级,对于没有安装的用户,请下载VN Studio-2.6.0,体验一键安装的量化交易Python发行版,下载链接:

https://download.vnpy.com/vnstudio-2.6.0.exe

 

高性能数据库支持

 

全局配置变化

在2.6.0新版本中,参考vn.py对于交易接口的标准化设计BaseGateway(位于vnpy.trader.gateway中),添加了对于数据库适配器的标准化接口BaseDatabase(位于vnpy.trader.database中),实现简洁易用的插件化数据库支持。

新版本的VN Trader全局配置中,和数据库相关的字段全部以database作为前缀,如下图所示(点击主界面顶部菜单栏的【配置】按钮打开):

description

具体字段含义如下:

  • database.timezone:数据库时区,考虑到大部分用户都在国内,一般无需修改;
  • database.name:数据库适配器接口的名称,通常采用数据库全称的小写英文字母;
  • database.database:数据库中用于保存vn.py相关数据的实例,例如SQLite的文件名、MySQL的Schema等;
  • database.host:数据库服务器程序所在的IP地址,如果安装于本地电脑则直接使用localhost;
  • database.port:数据库服务器程序监听的IP端口,不同数据库的默认端口不同;
  • database.user:数据库的登录用户名;
  • database.password:数据库的登录密码。

2.6.0版本对原有的数据库适配器(vnpy.database)进行了剥离和代码优化,放置到了对应的独立仓库中,允许用户按需安装,这下用Linux系统的同学们再也不用为psycopg2(PostgreSQL数据库驱动)的安装折腾了。

具体的数据库配置请参考下文。

 

DolphinDB

description

项目地址:vnpy_dolphindb

DolphinDB是由浙江智臾科技有限公司研发的一款高性能分布式时序数据库,特别适用于对速度要求极高的低延时或实时性任务,在国内外金融投资领域有着丰富的应用案例。

作为国产数据库的DolphinDB,在定位上对标的是世界顶级的金融时序数据库Kdb+。目前2.6.0版本支持的所有数据库中,DolphinDB的读写速度均占据No.1的位置。由于目前我们只采用了简单的分区数据表设计,理论上还有进一步优化的空间。

description

尽管DolphinDB是商业软件,但是也提供了免费的社区版,在安装时注意要选择2.0的Beta版本,我们会在下一篇公众号文章中详细介绍DolphinDB的特点和使用方法

 

Arctic(MongoDB)

description

项目地址:vnpy_arctic

由英国量化对冲基金Man AHL基于MongoDB开发的高性能金融时序数据库,我们团队对于Arctic的了解来源于公众号【量化投资与机器学习】的这篇文章《盘点对冲基金大佬『开源』的Python工具包!》。

简单总结一下Arctic的优势:

  • 支持直接存储pandas的DataFrame和numpy的ndarray对象,在量化投研中可太实用了;
  • 允许对数据进行版本化管理(类似于数据库中的git),便于因子挖掘过程中的数据迭代管理;
  • 基于分块化存储和LZ4压缩,在网络和磁盘IO方面节省大量资源,实现每秒最高每秒百万行的数据查询。

description

Arctic底层使用的是MongoDB数据库服务器,因此安装时直接前往MongoDB官网下载最新版本安装即可。目前不支持自定义端口、用户名、密码等修改,因此请保持默认配置。

 

LevelDB

description

项目地址:vnpy_leveldb

由Google推出的高性能Key/Value数据库,基于LSM算法实现进程内存储引擎,支持数十亿级别的海量数据。LevelDB的定位是通用性数据存储方案,对于金融领域的时序数据存储没有特别大的优势,但也比一堆SQL类数据库快多了。

关于LevelDB的作者Google传奇工程师Jeff Dean,在知乎上有一个非常有趣的讨论,感兴趣的同学可以看看:有谁可以介绍一下谷歌大牛Jeff Dean以及与他相关的事迹么?

description

作为单机数据库的LevelDB,和SQLite类似只需要配置一个数据存储的路径(文件夹)即可,适合作为SQLite的轻量级高性能替代方案。

 

原有数据库

之前版本中原有的数据库适配器也都进行了剥离优化:

  • SQL类

  • NoSQL类

    • MongoDB:剥离到vnpy_mongodb,改用pymongo替代mongoengine重构实现,大幅提高了性能;
    • InfluxDB:剥离到vnpy_influxdb,改用influxdb-client支持2.0版本的InfluxDB。

 

灵活数据服务支持

 

全局配置变化

和数据库适配器类似,对于数据服务也新增了标准化接口BaseDatafeed(位于vnpy.trader.datafeed中),实现了更加灵活的数据服务支持。在全局配置中,和数据服务相关的字段全部以datafeed作为前缀。

具体字段含义如下:

  • datafeed.name:数据服务接口的名称,同样是全称的小写英文字母;
  • datafeed.username:数据服务的用户名;
  • datafeed.password:数据服务的密码。

以上字段对于所有数据服务都是必填,如果是token方式授权请填写在database.password字段中,具体每个数据服务的细节如下。

 

RQData

米筐RQData一直以来是我们vn.py官方团队长期推荐的数据服务,对于大部分个人投资者应该是性价比较高的选择:

  • 项目地址:vnpy_rqdata
  • 数据分类:股票、期货、期权、基金、黄金TD
  • 数据周期:日线、小时线、分钟线、TICK(实时更新)
  • 注册申请:RICEQUANT

 

UData

恒有数UData是由恒生电子最新推出的云端数据服务,提供不限次、不限量的多种金融数据获取:

  • 项目地址:vnpy_udata
  • 数据分类:股票、期货
  • 数据周期:分钟线(盘后更新)
  • 注册申请:恒有数UData

 

TuShare

国内知名的开源Python金融数据接口项目,由大神Jimmy团队长期开发维护,除了行情数据外还提供许多另类数据:

 

TQSDK

天勤TQSDK是由信易科技推出的Python程序化交易解决方案,提供当前所有可交易合约上市以来的全部历史数据获取:

 

其他更新

 

价差交易模块优化

2.6.0版本中对SpreadTrading模块(vnpy_spreadtrading)进行了大幅优化,包括:

  1. 移除对反向合约、交易开平选项的支持,减少价差交易算法中的整体逻辑长度;
  2. 移除对老版本中线性价差的支持,统一改为使用灵活价差,提供更加灵活的价差构建方案;
  3. 当用户手动或者由策略停止价差交易算法时,必须等到全部委托结束且各条腿平衡后,算法才会结束运行,避免出现价差瘸腿;
  4. 价差的持仓数据不再使用账户底层各个合约的持仓计算,而是改为基于价差算法的成交结果进行维护,方便在多个价差中使用同一条合约腿。

以上功能优化涉及到对价差交易配置文件的修改,如果在启动VN Trader时出现和SpreadTrading相关的报错,请进入程序运行缓存目录(C:\Users\Administrator.vntrader),删除下述文件后重启即可:

  • spread_trading_setting.json
  • spread_trading_advanced.json
  • spread_trading_strategy.json

交易应用模块剥离

  1. OptionMaster期权波动率交易模块,剥离到vnpy_optionmaster项目中;
  2. ChartWizard图表分析模块,剥离到vnpy_chartwizard项目中;
  3. DataRecorder实盘数据录制模块,剥离到vnpy_datarecorder项目中。

 

CHANGELOG

 

新增

  1. 增加双边报价业务的发送和撤销函数功能
  2. 增加双边报价监控UI组件
  3. 增加用于对接数据库的抽象接口vnpy.trader.database
  4. 新增基于Arctic的MongoDB数据库接口项目vnpy_arctic
  5. 新增LevelDB数据库接口项目vnpy_leveldb
  6. 新增DolphinDB数据库接口项目vnpy_dolphindb
  7. 增加用于对接数据服务的抽象接口vnpy.trader.datafeed
  8. 新增TuShare数据服务项目vnpy_tushare
  9. 新增恒生UData数据服务项目vnpy_udata
  10. 新增天勤TQSDK数据服务项目vnpy_tqsdk
  11. 新增CoinAPI数据服务项目vnpy_coinapi

调整

  1. 移除批量委托和批量撤单相关的函数功能
  2. 移除老虎证券交易接口TigerGateway
  3. 移除鑫管家交易接口XgjGateway
  4. 移除AlgoTrading算法交易模块对于金纳算法服务的支持
  5. RestClient增加对操作系统代理配置的支持
  6. RestClient和WebsocketClient的默认异常处理逻辑由抛出异常修改为打印输出
  7. 价差交易模块移除对反向合约、线性价差、开平字段的支持
  8. 价差交易模块优化对灵活价差的支持,优化价差行情推送过滤判断
  9. 价差交易算法停止时,等待全部委托结束、各条腿平衡后,再结束算法

修复

  1. 修复在Linux/Mac系统上,运行多进程优化时的进程启动错误
  2. 修复WebsocketClient由于心跳机制不完善,导致的频繁断线问题

剥离

  1. 将米筐数据接口剥离到vnpy_rqdata项目中,并升级到2.9.38版本
  2. 将行情录制模块剥离到vnpy_datarecorder项目中
  3. 将K线图表模块剥离到vnpy_chartwizard项目中
  4. 将SQLite数据库接口剥离到vnpy_sqlite项目中
  5. 将MySQL数据库接口剥离到vnpy_mysql项目中
  6. 将PostgreSQL数据库接口剥离到vnpy_postgresql项目中
  7. 将MongoDB数据库接口剥离到vnpy_mongodb项目中
  8. 将InfluxDB数据库接口剥离到vnpy_influxdb项目中
  9. 将期权波动率交易模块剥离到vnpy_optionmaster项目中

 
v2.6.0版本预计将在国庆前发布,该版本最主要的更新是剥离了数据库接口(database)和数据服务接口(datafeed),方便用户根据自己的需求选择更加合适的高性能数据系统解决方案,计划在发布后搞一次专门的线下活动讲解。

内容:

  • vn.py的3.0开发方向

    • 架构改进:标准核心 + 插件扩展
    • 灵活构建适应各种场景的量化交易系统
  • 数据库接口database

    • 按需安装和基础使用
    • 高性能时序数据库DolphinDB
  • 数据服务接口datafeed

    • 更多的数据服务支持
    • 米筐RQData
    • 恒生UData
    • TuShare Pro
  • 后续社区活动规划 + QA问答环节

时间:10月16日 14:00-17:00

地点:浦东新区芳甸路1155号4楼WeWork会议室M

名额:40人
报名费:99元

报名方式:扫描下方二维码报名(名额有限,先到先得~)

description

在主线程定时触发

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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