我正在尝试将 .csv 文件中的一些数据导入 backtrader,但遇到错误 ValueError: year x is out of range。
这是我要导入的 csv 中的一行
1577836800000,7195.24000000,7255.00000000,7175.15000000,7200.85000000,16792.38816500,1577923199999,121214452.11606228,194010,8946.95553500,64597785.21233434,0
这是将数据摄取到 backtrader 并使用 matplotlib 绘图的代码:
import backtrader as bt
import matplotlib
class RSIStrategy(bt.Strategy):
def __init__(self):
self.rsi = bt.talib.RSI(self.data, period=14)
def next(self):
if self.rsi < 30 and not self.position:
self.buy(size=1)
if self.rsi > 70 and self.position:
self.close()
cerebro = bt.Cerebro()
data = bt.feeds.GenericCSVData (dataname= 'daily_2021.csv', dtformat=2)
cerebro.adddata(data)
cerebro.addstrategy(RSIStrategy)
cerebro.run()
cerebro.plot()
daily_2021.csv 是数据的来源。
我已经看到在其他地方提到它,这可能是由于 unix 时间戳的工作原理,我需要 /1000 日期但不确定如何。
希望有人可以提供帮助。