我正在尝试使用backtrader和python构建用于回测加密策略的代码,但每次尝试连接数据源时都会出现错误,我尝试了不同的数据源方法,并尝试了许多其他连接方式,但每次都会出现一些或其他类型的错误,似乎没有任何效果。请帮忙
提到了我在代码中尝试使用的两种方法
代码:
import backtrader as bt
import os
import sys
import datetime
cerebro = bt.Cerebro()
#Method 1: YahooFinanceCSVData
modpath = os.path.dirname(os.path.abspath(sys.argv[0]))
datapath = os.path.join(modpath, 'C:/Users/admin/xx/xx2/xx.csv')
data = bt.feeds.YahooFinanceCSVData(dataname=datapath, reverse=False)
#Method 2: GenericCSVData
data = bt.feeds.GenericCSVData (dataname='filename.csv', dtformat=1)
cerebro.adddata(data)
cerebro.run()
cerebro.plot()
<end>
数据文件的第一个字符串: 1623809640000401224.02000000040129.7000000040100.00000000 40107.65000000,12.5374970162380969999502950.08549781339,4.72578400189573.50347000,0
#错误 #方法1#ValueError month必须在1..12中 #方法2#OSError[Errno 22]无效参数
文件显示:
如果您试图直接转换日期时间,您会得到:
错误:
这是因为您的日期时间以毫秒为单位。修正为秒除以1000,得到:
导致:
我相信这可能是你问题的根源
相关问题 更多 >
编程相关推荐