code: def position_tracker(self, obj):
      if obj is None:
          raise ValueError("position_tracker can not be None")
      self._position_tracker = obj
      # we only calculate perf once we inject PositionTracker
      self.calculate_performance()
  
imports: from __future__ import division
  import logbook
  import numpy
  from collections import namedtuple
  from catalyst.assets import Future
  from six import itervalues, iteritems
  import catalyst.protocol
  from catalyst.constants import LOG_LEVEL
label_desc: Use image node_id 4 for calling the PerformancePeriod obj's underlying member method code with example usage: obj.position_tracker(obj) without return types