class_docstr: This class is responsible for scanning over historical data and analyzing returns before
  and after the events.
  
  :param predicate: A :class:`Predicate` subclass responsible for identifying events.
  :type predicate: :class:`Predicate`.
  :param lookBack: The number of bars before the event to analyze. Must be > 0.
  :type lookBack: int.
  :param lookForward: The number of bars after the event to analyze. Must be > 0.
  :type lookForward: int.
code: def __init__(self, predicate, lookBack, lookForward):
      assert lookBack > 0
      assert lookForward > 0
      self.__predicate = predicate
      self.__lookBack = lookBack
      self.__lookForward = lookForward
      self.__feed = None
      self.__rets = {}
      self.__futureRets = {}
      self.__events = {}
  
imports: import numpy
  import matplotlib.pyplot
  from six.moves import xrange
  from pyalgotrade.technical import roc
  from pyalgotrade import dispatcher
label_desc: Use image node_id 1 to create a new Profiler object from inherited base classes: object with example: obj = Profiler(predicate, lookBack, lookForward)