backtrader报错AttributeError: 'int' object has no attribute 'to_pydatetime'
时间: 2023-11-28 08:45:48 浏览: 286
根据提供的引用内容,可以看出这是一个关于backtrader的报错问题。该报错信息显示'int'对象没有'to_pydatetime'属性。这通常是由于在backtrader中使用了不支持datetime格式的数据而导致的。解决此问题的方法是将数据转换为datetime格式。下面是一个解决此问题的示例代码:
```python
from datetime import datetime
import backtrader as bt
class MyStrategy(bt.Strategy):
def __init__(self):
self.dataclose = self.datas[0].close
def next(self):
dt = bt.num2date(self.datas[0].datetime[0])
print('Datetime:', dt)
if __name__ == '__main__':
cerebro = bt.Cerebro()
data = bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=datetime(2019, 1, 1), todate=datetime(2020, 1, 1))
cerebro.adddata(data)
cerebro.addstrategy(MyStrategy)
cerebro.run()
```
在上面的代码中,我们使用了`num2date`函数将数据转换为datetime格式。这样就可以避免报错了。
阅读全文