code: def get_trade_commission(self, trade):
          
          order_id = trade.order_id
          if self.env.data_proxy.instruments(trade.order_book_id).type == 'PublicFund':
              return self._get_public_fund_commission(trade.order_book_id, trade.side, trade.last_price * trade.last_quantity)
          commission = self.commission_map[order_id]
          cost_commission = trade.last_price * trade.last_quantity * self.commission_rate * self.commission_multiplier
          if cost_commission > commission:
              if commission == self.min_commission:
                  self.commission_map[order_id] = 0
                  return cost_commission
              else:
                  self.commission_map[order_id] = 0
                  return cost_commission - commission
          else:
              if commission == self.min_commission:
                  self.commission_map[order_id] -= cost_commission
                  return commission
              else:
                  self.commission_map[order_id] -= cost_commission
                  return 0
docs: 计算手续费这个逻辑比较复杂，按照如下算法来计算：
          1.  定义一个剩余手续费的概念，根据order_id存储在commission_map中，默认为min_commission
          2.  当trade来时计算该trade产生的手续费cost_money
          3.  如果cost_money > commission
              3.1 如果commission 等于 min_commission，说明这是第一笔trade，此时，直接commission置0，返回cost_money即可
              3.2 如果commission 不等于 min_commission, 则说明这不是第一笔trade,此时，直接cost_money - commission即可
          4.  如果cost_money <= commission
              4.1 如果commission 等于 min_commission, 说明是第一笔trade, 此时，返回min_commission(提前把最小手续费收了)
              4.2 如果commission 不等于 min_commission， 说明不是第一笔trade, 之前的trade中min_commission已经收过了，所以返回0.