为什么backtrader在回测时没有显示时间?

时间:2017-11-24 08:59:47

标签: python datetime time back-testing

我正在尝试使用Backtrader重新测试策略,并在打印日期时遇到问题。每次迭代的时间(时间停留在23:59:59)。

以下是我的数据集的第一行:

Lines of dataset

控制台上印有什么:

Console log

最后我如何加载数据:

data = bt.feeds.GenericCSVData(dataname="BTCUSD_15MIN.csv",
                               datetime=0,
                               fromdate=datetime.datetime(2015,1,13),
                               todate=datetime.datetime(2015,1,15),
                               open=1,
                               high=2,
                               low=3,
                               close=4,
                               openinterest=-1,
                               time=-1,
                               volume=-1,
                               dtformat="%Y-%m-%d %H:%M:%S")

有人已经遇到过这个问题吗?

2 个答案:

答案 0 :(得分:3)

这肯定只是偶然解决了你的问题(因为你选择的东西比实际情况要小)

您的数据显然基于15-minutes。但是如果没有说明,您可以使用默认值:bt.TimeFrame.Daily,这样可以为每个条形提供当天结束。没有惊喜。

因此,正确的选择是:

timeframe=bt.TimeFrame.Minutes,
compression=15,

backtrader 社区在几个帖子和常见问题解答中对此进行了解释。

答案 1 :(得分:1)

将此行添加到数据Feed中,整理出我的问题:

timeframe=bt.TimeFrame.Ticks

如果对策略结果感兴趣,那就here