我正在尝试将数据导入添加到我的数据馈送中,但是当我输出时,它显示“ " AttributeError: 'Lines_LineSeries_DataSeries_OHLC_OHLCDateTime_Abst' object has no attribute 'longshort_ratio'",Extending a Datafeed、 https://community.backtrader.com/topic/158/how-to-feed-backtrader-alternative-data/15,但仍然不起作用
这是我的代码:
import datetime
import backtrader as bt
import pandas as pd
class ExtraPandasDirectData(bt.feeds.PandasDirectData):
lines = ('longshort_ratio', )
params = (('longshort_ratio', -1), )
datafields = bt.feeds.PandasData.datafields + (['longshort_ratio'])
class MyStrategy(bt.Strategy):
def __init__(self):
print(*self.data.longshort_ratio)
cerebro = bt.Cerebro()
Kline = pd.read_csv('Data/data.csv')
Kline['datetime'] = pd.to_datetime(Kline['datetime'])
Kline.set_index('datetime', inplace=True)
feed = bt.feeds.PandasDirectData(
dataname=Kline,
fromdate=datetime.datetime(2022, 3, 11, 0, 0, 0),
todate=datetime.datetime(2022, 4, 10, 15, 0, 0),
timeframe=bt.TimeFrame.Minutes,
compression=60)
cerebro.adddata(feed)
cerebro.addstrategy(MyStrategy)
cerebro.run()
运行结果及报错内容
CVS:
先谢谢各位了