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

在使用vnpy 3.4.0进行策略回测时发现一个问题,后使用系统自带的示例策略 KingKeltnerStrategy 也可以再现。
一,问题描述 在进行回测时 2022-10-12 的数据会重复执行,其他日期则不会。
2022-10-12的数据回测完成后,会再回测一次。5分钟bar的输出日志如下 :

description

二, 回测设置如下
1, 在示例策略 KingKeltnerStrategy中

description

增加最后一行bar输出: print('\n\n', bar.datetime, ' 分钟线bar为: ' , str(bar))

2,设置回测参数如下

description

3,运行回测后,就会出现开头 5分钟bar的输出日志 所描述的问题。

请帮忙分析解决,谢谢!

Member
avatar
加入于:
帖子: 1472
声望: 105

方便的话在github仓库里开个issue吧

Member
avatar
加入于:
帖子: 16
声望: 3

MTF wrote:

方便的话在github仓库里开个issue吧

不好意思,没用过github提交issue。 就是上面描述的这个问题。 有不清楚的地方,我可以再补充。
急等解决, 感谢!

Member
avatar
加入于:
帖子: 4713
声望: 287

请问使用是数据源是?配置是数据库是?

Member
avatar
加入于:
帖子: 16
声望: 3

配置的是mysql, 米筐的数据源

Member
avatar
加入于:
帖子: 4713
声望: 287

可以参考一下这个PR试试看https://github.com/vnpy/vnpy_mysql/pull/10

Member
avatar
加入于:
帖子: 16
声望: 3

找到原因了。
经分析发现mysql文件中的 start, end 两个字段被修改导致。
所以进行注释,问题解决。

E:\veighna_studio\Lib\site-packages\vnpy_mysql\mysql_database.py

def load_bar_data(
self,
symbol: str,
exchange: Exchange,
interval: Interval,
start: datetime,
end: datetime
) -> List[BarData]:
""""""

# start: datetime = start.replace(hour=0, minute=0, second=0)
# end: datetime = end.replace(hour=23, minute=59, second=59)
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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