backtrader 记录日志

在做 backtrader 回测的时候,希望可以将过程中的数据记录成 csv 文件,这样就可以通过指标挖掘其它的因子,或者利用机器学习和深度学习,对现在的指标进行优化。

增加日志输出的方法如下:

datapath = os.path.join(self.modpath, f'datas/{self.funds}_log.csv')
self.cerebro.addwriter(bt.WriterFile, csv=True, out=datapath)

但是这种情况下,输出的结果只有 observers 和 输入数据,还有一些过程值,没有具体的指标(因子)信息。

翻看了一下,源码,指标 csv 变量默认为 False ,所以不能输出,查看了一下代码,可以利用下面的方式将指标写入到文件中。

self.frsi = bt.talib.RSI(i, timeperiod=self.p.rsi_fperiod)
self.frsi.csv=True

但是需要将数据做一些筛选之后,才能利用 tsfrsh 和机器学习做之后的挖掘。