【发布时间】:2018-12-15 22:14:46
【问题描述】:
如何将backtrader csv reader 转换为backtrader datafeed?我试过了:
尝试 1:(用 GenericCSV 替换数据馈送)
all_data=bt.feeds.GenericCSVData(
#my csv params here
)
for s, df in all_data.items(): #THIS LINE READS IN CSV AND ERRORS
#do stuff
'Lines_LineSeries_DataSeries_OHLC_OHLCDateTime_Abst'对象没有属性'items'
尝试 2:(将 GenericCSV 转换为 Datafeed)
all_data=bt.feeds.GenericCSVData(
#my csv params here
)
all_datafeed = bt.feeds.PandasData(dataname=all_data)
错误:“Lines_LineSeries_DataSeries_OHLC_OHLCDateTime_Abst”对象没有属性“列”
尝试 3:(读取 csv 并转换为数据馈送)
df=pd.read_csv('/home/abc/EUR_USD.csv',header=0,parse_dates=True)
all_datafeed = bt.feeds.PandasData(dataname=df)
for df in all_datafeed.items():
print(df)
'Lines_LineSeries_DataSeries_OHLC_OHLCDateTime_Abst'对象没有属性'items'
摘自 csv:
time,oask,hask,lask,cask,obid,hbid,lbid,cbid,volume
2002-05-06 20:00:00 UTC,0.9184,0.9184,0.9181,0.9184,0.9181,0.9181,0.9181,0.9181,1
2002-05-07 20:00:00 UTC,0.9155,0.9155,0.9152,0.9155,0.9152,0.9152,0.9152,0.9152,1
2002-05-08 20:00:00 UTC,0.9045,0.9045,0.9042,0.9045,0.9042,0.9042,0.9042,0.9042,1
【问题讨论】:
-
你在用
items做什么?GenericCSVData、PandasData已经是 backtrader 数据馈送,您的实际问题是什么?