':type proposed_trade: ProposedTrade
:rtype: Transaction'

def create_from_proposed_trade(self, proposed_trade):

    assert isinstance(proposed_trade, ProposedTrade), type(proposed_trade)
    transaction = Transaction.from_proposed_trade(proposed_trade, self.transaction_repository.next_identity())
    self.transaction_repository.add(transaction)
    self._logger.info('Transaction    created    with    id:    %s,    quantity:    %s,    price:    %s', str(transaction.transaction_id), str(transaction.total_quantity), str(transaction.price))
    return transaction
