Пример #1
0
    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