class_docstr: This analyzer reports the transactions occurred with each an every data in
  the system
  
  It looks at the order execution bits to create a ``Position`` starting from
  0 during each ``next`` cycle.
  
  The result is used during next to record the transactions
  
  Params:
  
    - headers (default: ``True``)
  
      Add an initial key to the dictionary holding the results with the names
      of the datas
  
      This analyzer was modeled to facilitate the integration with
      ``pyfolio`` and the header names are taken from the samples used for
      it::
  
        'date', 'amount', 'price', 'sid', 'symbol', 'value'
  
  Methods:
  
    - get_analysis
  
      Returns a dictionary with returns as values and the datetime points for
      each return as keys
code: def notify_order(self, order):
      # An order could have several partial executions per cycle (unlikely
      # but possible) and therefore: collect each new execution notification
      # and let the work for next
  
      # We use a fresh Position object for each round to get summary of what
      # the execution bits have done in that round
      if order.status not in [Order.Partial, Order.Completed]:
          return  # It's not an execution
  
      pos = self._positions[order.data._name]
      for exbit in order.executed.iterpending():
          if exbit is None:
              break  # end of pending reached
  
          pos.update(exbit.size, exbit.price)
  
file_path: backtrader/backtrader/analyzers/transactions.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import collections
  import backtrader
  from backtrader import Order, Position
label_desc: Use image node_id 2 for calling the Transactions obj's underlying member method code with example usage: obj.notify_order(order) without return types