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

我在template文件里面看到load_bar的那个use_database了。这个问题搞明白了。

def load_bar(
self,
days: int,
interval: Interval = Interval.MINUTE,
callback: Callable = None,
use_database: bool = False
)

现在还有一个疑惑,就是load_tick这个函数,有没有use_database: bool = False or True的用法呢?

def load_tick(self, days: int):
    """
    Load historical tick data for initializing strategy.
    """
    self.cta_engine.load_tick(self.vt_symbol, days, self.on_tick)

这个use_database默认是false,是不可以修改的对吗?(是在engine.py文件里?)

使用方法是在自己写的策略文件里,在调用load_bar函数的时候,直接加一行use_database=true,然后这个策略在启动时候(比如no_ui模式),就自动优先从本地database里面读取行情数据进行初始化了对吗?

我看了一下engine里面的loadbar和loadtick,loadtick函数好像没有use_database,是不是只有loadbar能这么用?tick数据不能从本地的database里面读取吗?

请问load_bar函数在哪个文件里面可以找到?

再问一下,
VNPY的架构是只支持从datafeed读取数据进行初始化吗?
database模块只能是用来存储行情录制数据?
有没有从行情录制数据的database里面读取数据进行初始化的办法?
就是让database的数据,发挥datafeed的功能?

CTA策略的noui,只涉及数据初始化的设置,以便进行指标计算和报单交易,不涉及行情录制模块。
谢谢,明白了。我再去看看行情录制的noui帖子。

在GUI模式下,按步骤正常登录VNPY,设置好dolphinDB数据库端口,打开vntrader和datarecorder以后,可以正常录制行情。

可是如果通过noui下面的run.py运行,就提示“找不到数据服务驱动vnpy,使用默认的RQData数据服务”,此时是不是vnpy-dolphinDB没有正常被启动?请问这是为何?应该如何解决?

启动CTA策略守护父进程
启动子进程
子进程启动成功
找不到数据服务驱动vnpy_,使用默认的RQData数据服务
2022-02-14 12:52:38,540 INFO: 主引擎创建成功
2022-02-14 12:52:38,546 INFO: 注册日志事件监听
2022-02-14 12:52:38,547 INFO: 连接CTP接口
2022-02-14 12:52:38,739 INFO: 行情服务器连接成功
2022-02-14 12:52:38,797 INFO: 行情服务器登录成功
2022-02-14 12:52:38,970 INFO: 交易服务器连接成功
2022-02-14 12:52:39,076 INFO: 交易服务器授权验证成功
2022-02-14 12:52:39,119 INFO: 交易服务器登录成功
2022-02-14 12:52:39,359 INFO: 结算信息确认成功
2022-02-14 12:52:40,894 INFO: 合约信息查询成功
2022-02-14 12:52:48,570 INFO: CTA策略引擎初始化成功
2022-02-14 12:52:48,570 INFO: CTA策略初始化完成
2022-02-14 12:53:48,575 INFO: CTA策略全部初始化
2022-02-14 12:53:48,576 INFO: CTA策略全部启动

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

description

description

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

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

谢谢指导,目前我的配置是
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相关的使用教程和中文资料实在是太少了

我把我的步骤说一下

  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

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

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

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

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: 合约信息查询成功

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.

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

沪公网安备 31011502017034号

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