日志 Logging - Writter

Writer #

Writer类负责将以下内容写入流:

数据源、策略、指标和观察者的CSV流。可以通过每个对象的csv属性控制哪些对象实际进入CSV流(数据源和观察者默认为True,指标默认为False)。

属性摘要:

  • 数据源
  • 策略(线条和参数)
  • 指标/观察者(线条和参数)
  • 分析器(参数和分析结果)

系统中定义了一个名为WriterFile的Writer,可以通过以下方式添加:

  1. 设置Cerebro的writer参数为True,将实例化一个标准的WriterFile
  2. 调用Cerebro.addwriter(writerclass, **kwargs),在回测执行期间,使用给定的kwargs实例化writerclass

由于标准的WriterFile默认不输出CSV,以下调用可以处理这一点:

cerebro.addwriter(bt.WriterFile, csv=True)

参考 #

class backtrader.WriterFile() #

系统范围内的Writer类。

可以通过以下参数进行参数化:

参数名默认说明
outsys.stdout写入的输出流,如果传递的是字符串,将使用参数内容作为文件名。
close_outFalse如果 out 是一个流,是否需要由Writer显式关闭。
csvFalse在执行过程中,是否将数据源、策略、观察者和指标的CSV流写入输出流。可以通过每个对象的csv属性控制哪些对象实际进入CSV流(数据源和观察者默认为True,指标默认为False)。
csv_filternanTrueCSV流中清除nan值(用空字段替换)。
csv_counterTrue是否应保持并输出实际输出行的计数器。
indent2每个级别的缩进空格数。
separators‘=’, ‘-’, ‘+’, ‘*’, ‘.’, ‘~’, ‘"’, ‘^’, ‘#’用于分隔部分/子部分的行分隔符字符。
seplen79包括缩进在内的行分隔符的总长度。
roundingNone将浮点数舍入到的小数位数。如果为None,则不执行舍入。