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

VNPY 2.9安装以后,开始配置arctic。降版本安装pandas 1.0.3.,只是报与tdsdk不匹配,不用tqsdk就问题不大。报vnstudio没有安装vnpy-arctic,于是也进行补装。

但是接下来提示vnpy-mongodb版本不匹配,vnpy-mongodb和pymongo,以及arctic要求的版本不匹配,感觉卡死了,请问这怎么处理?

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
vnpy-mongodb 1.0.1 requires pymongo==3.12.3, but you have pymongo 3.11.0 which is incompatible.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
arctic 1.80.5 requires pymongo<=3.11.0,>=3.6.0, but you have pymongo 3.12.3 which is incompatible.

Member
avatar
加入于:
帖子: 13
声望: 0

VNSTUDIO 2.9.0的版本好像没有自带vnpy_arctic了,不装的话,运行no_ui.py就如下提示报错,但是如果自己pip install vnpy_arctic的话,就报pymongo和vnpy-mongodb的版本匹配问题,请问这个问题怎么解决呀?想试试用arctic来存储行情数据。

启动CTA策略守护父进程
启动子进程
子进程启动成功
找不到数据库驱动vnpyarctic,使用默认的SQLite数据库
找不到数据服务驱动vnpy
,使用默认的RQData数据服务
2022-02-07 13:20:29,983 INFO: 主引擎创建成功
2022-02-07 13:20:29,987 INFO: 注册日志事件监听
2022-02-07 13:20:29,987 INFO: 连接CTP接口
2022-02-07 13:20:30,140 INFO: 行情服务器连接成功
2022-02-07 13:20:30,141 INFO: 交易服务器连接成功
2022-02-07 13:20:30,196 INFO: 行情服务器登录成功
2022-02-07 13:20:30,255 INFO: 交易服务器授权验证成功
2022-02-07 13:20:30,303 INFO: 交易服务器登录成功
2022-02-07 13:20:30,412 INFO: 结算信息确认成功
2022-02-07 13:20:31,490 INFO: 合约信息查询成功

Member
avatar
加入于:
帖子: 716
声望: 62

可以把pymongo降级到3.11.0,再安装vnpy-arctic。
pymongo3.版本的改动不大,应该是可以通用的,锁定3.12.3只是因为4.0版本大改了,无法适配。
vnpy-arctic和vnpy-mongodb只是mongodb的两种接口,选择一个就行了,数据都是存储在本地的mongodb数据库中的。
这个不是报错,只是提示,之所以报找不到vnpy_arctic是因为你的全局配置中数据库用的是arctic。程序找不到vnpy_arctic包会自动使用sqlite数据库,不影响整体使用。vnpy_arctic安装成功后就不会再有这个提示。

Member
avatar
加入于:
帖子: 13
声望: 0

各种包的降级安装都试着做了一遍,arctic就是收不到行情数据写进库里(按照使用文档里的设置做的)。
切换到纯mongodb的设置,就可以有行情数据接下来写进库里,如果数据库接口改成arctic的配置就是不行。
实在是不明白问题出在哪里?还请再指导一下,谢谢。

VNSTUDIO 2.9.0的初始安装状态,好像是没有vnpy_arctic了。只有vnpy_mongodb。
然后安装arctic,pandas降级,都做了。一头雾水中。

Member
avatar
加入于:
帖子: 4618
声望: 284

参考一下3楼吧

Member
avatar
加入于:
帖子: 13
声望: 0

我把我的步骤说一下

  1. vnpy2.9.0初始安装以后,发现已经没有vnpy_arctic包了。(如果vnpy_arctic包被移除了,只留下vnpy-mongodb包,好像无法让arctic正常工作)
  2. pandas降级为1.1.5或者1.0.3的版本
  3. 安装arctic的1.79.3版本
  4. 在mongodb里建立一个新的叫做vnpy的collection后,按照使用文档设置arctic数据库端口,就是database.name——arctic,database.host——localhost,database.database——vnpy,port——0,然而此时arctic不工作,收不到任何行情数据写入,mongodb里面也无任何新的collection
  5. 如果自己再安装vnpy_arctic包,则可以看到mongodb里面自己生成了一个arctic_vnpy的collection,但是依然收不到行情数据写入
  6. 如下图所示,arctic_vnpy收不到行情数据写入。如果数据库接口改为mongodb的默认设置,就可以收到行情数据写入。
  7. 如果降级pymongo到3.11.0,则提示与vnpy-mongodb版本不兼容。按照3楼的办法,vnpy_arctic和vnpy-mongodb二选一好像不行,而且如果卸载vnpy-mongodb,再安装vnpy_arctic,则可能mongodb的默认设置端口就估计没法用了?

RROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
vnpy-mongodb 1.0.1 requires pymongo==3.12.3, but you have pymongo 3.11.0 which is incompatible.

description

description

到底是哪个步骤没做对?还请指导一下。

Member
avatar
加入于:
帖子: 716
声望: 62

直接使用vnpy_datamanager来读取数据。图一里显示有数据了,只是你这个软件无法读取arctic数据。

Member
avatar
加入于:
帖子: 13
声望: 0

谢谢指导,目前我的配置是
arctic 1.79.3
pandas 1.0.3
vnpy-arctic 1.0.2
vnpy-mongodb 1.0.1
pymongo 3.12.3
几个包安装没有提示报错或版本不兼容

刚才夜盘开盘以后,用vnpy_datamanager刷新可以看到分钟线的数据,并进行数据导出。不过这只能导出1分钟数据,看不到tick数据,也不是很方便。还有我不太明白的是此时datamanager里面的数据,是直接从vnpy的arraymanager里面出来的,还是从vnpy-arctic里面出来的?

如果mongodb compass和robo 3t都无法直接读取arctic的数据,不太明白arctic的数据存储读取应该如何操作(看了它的github官网指导也不是很明白),arctic相关的使用教程和中文资料实在是太少了

Member
avatar
加入于:
帖子: 716
声望: 62

可以试试navicat,这个应该可以读取arctic数据的

Member
avatar
加入于:
帖子: 13
声望: 0

description

description

谢谢,装了navicat,发现和mongodb compass和robo 3T一样,还是无法读取arctic数据,请问具体应该如何做?

今日打开vnpy-datamanager,发现数据量还是只有当下行情的那么几根1分钟k线,没有昨晚上的历史行情数据,感觉arctic的数据库设置,好像并没有配置成功。

Member
avatar
加入于:
帖子: 716
声望: 62

navicat显示的就是arctic中的数据,只是以一个月为chunk,所以只有一条。

可以在ui界面下使用datarecorder模块去录制一段时间的k线行情,然后通过datamanager来检查是否有写入数据库,来判断arctic是否进行正常读写。

Member
avatar
加入于:
帖子: 13
声望: 0

谢谢讲解,大概明白了,看了一下vnpy-arctic的code,vnpy是用的chunk store,分块存储,以时间月份的range来切割,所以只有一条。而与mongodb直连的话,行情数据则是一条一条写进去的,所以存储越多越慢。我再慢慢研究研究,非科班,数据库知识懂得不多,学的很慢。有啥问题我再来论坛请教。

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

沪公网安备 31011502017034号

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