def analyse(self, orders, start_date, end_date, benchmark_sym=None): trade_days = Market.get_trade_days(start_date, end_date) values = [] fee = 0 for timestamp in trade_days: for order in orders: t = order.timestamp if t == timestamp: f = Trader.make_order(self.portfolio, order) fee += f value = self.portfolio.get_value(timestamp) values.append(value) benchmark = None if benchmark_sym: benchmark = Simulator.get_benchmark(benchmark_sym, start_date, end_date) self.result['days'] = trade_days self.result['values'] = pd.Series(values, index=trade_days) self.result['benchmark'] = benchmark self.result['fee'] = fee self.result['trades'] = len(orders) return self.result