3

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

这是我的数据集的第一行:

数据集行

控制台上打印的内容:

控制台日志

最后我如何加载我的数据:

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")

有人已经有这个问题了吗?

4

2 回答 2

3

那肯定只是偶然解决了您的问题(因为您选择的小于实际情况)

你的数据显然是有15-minutes根据的。但是如果没有规范,您可以使用默认值:bt.TimeFrame.Daily,这为您提供了每个柱的一天结束。那里没有惊喜。

因此,正确的选择是:

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

这在backtrader社区的几篇文章和常见问题解答中进行了解释。

于 2017-11-24T21:06:29.800 回答
1

将此行添加到数据提要解决了我的问题:

timeframe=bt.TimeFrame.Ticks

如果对策略结果感兴趣,就在这里

于 2017-11-24T20:54:09.863 回答