How to modify header names in the csv output of WriterFile?
AliAskari last edited by
By default the csv writer uses the indicator class name as the name of the header in the csv output, i.e.
def __init__(self): self.fast_ma = bt.indicators.SimpleMovingAverage(self.datas, period=self.params.fast_ma) self.slow_ma = bt.indicators.SimpleMovingAverage(self.datas, period=self.params.slow_ma) self.fast_ma.csv = True self.slow_ma.csv = True
in the csv file generated by
cerebro.addwriter(bt.WriterFile, csv=True, out='some_file.csv')
I am getting two columns with the same name
SimpleMovingAverage. The same thing is valid for the plot but there is an extra
plotnameparameter that can be used to change the name of an indicator in plots
self.fast_ma = bt.indicators.SimpleMovingAverage(self.datas, period=self.params.fast_ma, plotname='fast_ma')
but this parameter doesn't modify the header name in the csv file.
I looked in the code and there doesn't seem to be a method to do so. Is this supported?
There is currently no provision to modify the headers. Adding the parameter values was deemed excessive (the size of the output would have been gigantic)
What you can count on: the indicators are added in the same order you instantiated them.