'N.B. this does not yet represent a string that can be used
to instantiate an exact copy of an algorithm.
However, it is getting close, and provides some value as something
that can be inspected interactively.'

def __repr__(self):

    return '\n{class_name}(\n                capital_base={capital_base}\n                sim_params={sim_params},\n                initialized={initialized},\n                slippage_models={slippage_models},\n                commission_models={commission_models},\n                blotter={blotter},\n                recorded_vars={recorded_vars})\n'.strip().format(class_name=self.__class__.__name__, capital_base=self.sim_params.capital_base, sim_params=repr(self.sim_params), initialized=self.initialized, slippage_models=repr(self.blotter.slippage_models), commission_models=repr(self.blotter.commission_models), blotter=repr(self.blotter), recorded_vars=repr(self.recorded_vars))
