backtrader的feeds.PandasData怎么增加个性列

在使用backtrader进行量化回测时,涉及到将数据传递近期,使用feeds.PandasData只能传递特定的列值,现在将增加传递多列,如何实现?
如代码中想多传递一列 'close_nfq'但没有成功

df = df[['sec_code', 'open', 'high', 'low', 'close', 'close_nfq', 'volume', 'openinterest']]
data = bt.feeds.PandasData(dataname=df, fromdate=dt_start, todate=dt_end)



```python
class Addmoredata(PandasData):
    lines = ('close_nfq',)
    params = (('close_nfq',7),)

 data = Addmoredata(dataname=data, fromdate=dt_start, todate=dt_end)

```

两边的参数个数要一致,这里添加了,调用那里也要添加

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在 feeds.PandasData 中增加个性列,需要对数据进行预处理,将需要传递的列增加到数据中。

可以通过以下步骤来增加传递多列:

1.首先需要在原始数据中增加一列 'close_nfq',并赋值为需要传递的数据,例如:

df['close_nfq'] = [1.0, 2.0, 3.0, ...] # 这里的数据需要根据实际情况进行填充


2.然后将处理后的数据作为 dataname 传入 feeds.PandasData 中:

df = df[['sec_code', 'open', 'high', 'low', 'close', 'close_nfq', 'volume', 'openinterest']]
data = bt.feeds.PandasData(dataname=df, fromdate=dt_start, todate=dt_end)


这样,就可以将增加的个性列 'close_nfq' 传递到 backtrader 中进行使用。在 backtrader 中,可以通过以下方式来获取该列的数据:

class MyStrategy(bt.Strategy):
    def __init__(self):
        self.dataclose = self.datas[0].close
        self.dataclose_nfq = self.datas[0].close_nfq