[英]Converting a GenericCSVData object to a backtrader datafeed
[英]In backtrader I am unable to add 1 minute candle data using GenericCSVData
我的 CSV 如下所示:
time,open,high,low,close
2022-05-16T09:15:00+05:30,33263.7,33284.15,33037.3,33185.95
2022-05-16T09:16:00+05:30,33187.75,33236.3,33152.3,33215
2022-05-16T09:17:00+05:30,33221.35,33250.75,33171.6,33176.4
2022-05-16T09:18:00+05:30,33173.8,33177.7,33085.55,33085.55
我的數據開始於2022-05-16 09:15:00+05:30
並於2022-07-29 15:29:00+05:30
結束(最后一根蠟燭為 15:29:00)
在添加數據cerebro.adddata(data)
時,我收到以下錯誤:
File "C:\Users\ritul\AppData\Roaming\Python\Python38\site-packages\backtrader\feed.py", line 710, in _load
return self._loadline(linetokens)
File "C:\Users\ritul\AppData\Roaming\Python\Python38\site-packages\backtrader\feeds\csvgeneric.py", line 148, in _loadline
csvfield = linetokens[csvidx]
IndexError: list index out of range
我嘗試了以下命令:
data = bt.feeds.GenericCSVData(
dataname="Book1.csv",
timeframe=bt.TimeFrame.Minutes,
compression=1,
fromdate=datetime.datetime(2022, 5, 16, 9, 15),
todate=datetime.datetime(2022, 7, 29, 15, 30),
sessionstart=datetime.time(9, 15),
sessionend=datetime.time(15, 30),
dtformat='%Y-%m-%dT%H:%M:%S+05:30',
datetime=0,
time=-1,
open=1,
high=2,
low=3,
close=4,
volume=5,
openinterest=-1,
headers=1,
separator=",",
reverse=True
)
data.addfilter(bt.filters.SessionFilter(data))
cerebro.adddata(data)
# Run over everything
cerebro.run()
# Plot the result
cerebro.plot(style='bar')
除此之外,我還嘗試過:
class CSV(bt.feeds.GenericCSVData):
params = (
('dtformat', '%Y-%m-%dT%H:%M:%S+05:30'),
('datetime', 0),
('open', 1),
('high', 2),
('low', 3),
('close', 4),
("compression",1),
('volume', -1),
('openintrest', -1),
("timeframe",bt.TimeFrame.Minutes)
)
data = bt.feeds.GenericCSVData(
dataname='Book1.csv',
dtformat=('%Y-%m-%dT%H:%M:%S+05:30'),
datetime=0,
high=2,
low=3,
open=1,
close=4,
compression=1,
timeframe=bt.TimeFrame.Minutes,
volume=-1,
openinterest=-1
)
feed = CSV(dataname ="Book1.csv")
cerebro.adddata(feed)
cerebro.run()
cerebro.plot()
誰能幫我使用 backtrader 添加一分鍾蠟燭數據?
我解決了我的問題。
剛剛在我的數據中添加了另外兩列“交易量”和“未平倉合約” 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.