首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backtrader / Python ValueError:年份x超出范围

Backtrader / Python ValueError:年份x超出范围
EN

Stack Overflow用户
提问于 2021-09-06 18:10:37
回答 1查看 67关注 0票数 1

我试图将一些数据从.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绘制的代码:

代码语言:javascript
复制
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日期,但不确定如何操作。

希望有人能帮上忙。

EN

回答 1

Stack Overflow用户

发布于 2021-09-06 18:16:38

我在检索数据并将其放入导致错误的CSV的脚本中漏掉了一行

代码语言:javascript
复制
for candlestick in candlesticks:
    candlestick[0] = candlestick[0] / 1000
    candlestick_writer.writerow(candlestick)

以上更正了错误

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69078749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档