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

因为数据库里有A股的日线行情,所以就替换了一下。

description

数据加载输出提示很热闹,但是最后没有数据。

description

数据库里面是有数据的,比如000001.SZSE有5000多条。运行程序时,我已经在DB browser中关闭了数据库,甚至也关闭了DB browser

description

请大神帮我指指路,问题可能出在哪里了?谢谢。

阅读代码发现
回测引擎backtesting.py中的load_data调用了database.py中的load_bar_data(),

description

但是load_bar_data()只有pass一条语句。

description

原因在这里?
但是代码为什么会这样?只有pass什么都不做?为什么课程里面数据能加载上?

Super Moderator
avatar
加入于:
帖子: 658
声望: 50

start、end、interval参数是否有修改正确

Member
加入于:
帖子: 5
声望: 0

问题解决的回复
首先感谢“投资组合策略7天入门”QQ群的大神@子健
他指出database.load_bar_data不是database.py中的load_bar_data(),这里的database是数据库引擎的实例化,指向了vnpy_sqlite\ sqlite_database.py里面的load_bar_data(),不是字面上的database.py。解决了我的疑惑。再次感谢。

Member
加入于:
帖子: 5
声望: 0

后来又处理了二个问题,最后数据被成功加载了。
1、通过阅读代码,知道vnpy使用sql语句选择数据,对比后发现,我的数据日期格式对不上,修改了格式。当时在电脑上成功加载。
2、但是在另一台电脑加载失败,通过阅读代码,发现sqlite_database.py里面的load_bar_data()打开的数据库被写死了?!只能打开database.db。而我的数据库是database1.db,虽然我修改了全局配置,查看vt_setting.json也可以看到的确是改成了database1.db。但是代码根本不读全局配置。修改以后加载成功。

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

沪公网安备 31011502017034号

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