class_docstr: Tracks the performance of the algorithm.
docstr: Creates a dictionary representing the state of this tracker.
  Returns a dict object of the form described in header comments.
docstr_tok: ["Creates","a","dictionary","representing","the","state","of","this","tracker",".","Returns","a","dict","object","of","the","form","described","in","header","comments","."]
code: def to_dict(self, emission_type=None):
      """
      Creates a dictionary representing the state of this tracker.
      Returns a dict object of the form described in header comments.
      """
      # Default to the emission rate of this tracker if no type is provided
      if emission_type is None:
          emission_type = self.emission_rate
  
      _dict = {
          "period_start": self.period_start,
          "period_end": self.period_end,
          "capital_base": self.capital_base,
          "cumulative_perf": self.cumulative_performance.to_dict(),
          "progress": self.progress,
          "cumulative_risk_metrics": self.cumulative_risk_metrics.to_dict(),
      }
      if emission_type == "daily":
          _dict["daily_perf"] = self.todays_performance.to_dict()
      elif emission_type == "minute":
          _dict["minute_perf"] = self.todays_performance.to_dict(
              self.saved_dt
          )
      else:
          raise ValueError("Invalid emission type: %s" % emission_type)
  
      return _dict
  
imports: from __future__ import division
  import logbook
  import pandas
  from pandas.tseries.tools import normalize_date
  from catalyst.finance.performance.period import PerformancePeriod
  from catalyst.errors import NoFurtherDataError
  import catalyst.finance.risk
  from .position_tracker import PositionTracker
  from catalyst.constants import LOG_LEVEL
label_desc: Use image node_id 9 for calling the PerformanceTracker obj's underlying member method code with example usage: obj.to_dict(emission_type) and returns: _dict