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 和机器学习做之后的挖掘。