class_docstr: This observer stores the *log returns* of the strategy or a
  
  Params:
  
    - ``timeframe`` (default: ``None``)
      If ``None`` then the complete return over the entire backtested period
      will be reported
  
      Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
      time constraints
  
    - ``compression`` (default: ``None``)
  
      Only used for sub-day timeframes to for example work on an hourly
      timeframe by specifying "TimeFrame.Minutes" and 60 as compression
  
    - ``fund`` (default: ``None``)
  
      If ``None`` the actual mode of the broker (fundmode - True/False) will
      be autodetected to decide if the returns are based on the total net
      asset value or on the fund value. See ``set_fundmode`` in the broker
      documentation
  
      Set it to ``True`` or ``False`` for a specific behavior
  
  Remember that at any moment of a ``run`` the current values can be checked
  by looking at the *lines* by name at index ``0``.
code: def __init__(self):
      self.logret1 = self._owner._addanalyzer_slave(
          bt.analyzers.LogReturnsRolling,
          data=self.data0,
          **self.p._getkwargs(),
      )
  
file_path: backtrader/backtrader/observers/logreturns.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import backtrader
label_desc: Use image node_id 2 to create a new LogReturns object from inherited base classes: bt with example: obj = LogReturns()