docstr: Creates a list of transactions based on the current open orders,
  slippage model, and commission model.
  
  Parameters
  ----------
  bar_data: zipline._protocol.BarData
  
  Notes
  -----
  This method book-keeps the blotter's open_orders dictionary, so that
   it is accurate by the time we're done processing open orders.
  
  Returns
  -------
  transactions_list: List
      transactions_list: list of transactions resulting from the current
      open orders.  If there were no open orders, an empty list is
      returned.
  
  commissions_list: List
      commissions_list: list of commissions resulting from filling the
      open orders.  A commission is an object with "asset" and "cost"
      parameters.
  
  closed_orders: List
      closed_orders: list of all the orders that have filled.
docstr_tok: ["Creates","a","list","of","transactions","based","on","the","current","open","orders",",","slippage","model",",","and","commission","model",".","Parameters","--","--","--","--","--","bar_data",":","zipline._protocol.BarData","Notes","--","--","-","This","method","book-keeps","the","blotter","'s","open_orders","dictionary",",","so","that","it","is","accurate","by","the","time","we","'re","done","processing","open","orders",".","Returns","--","--","--","-","transactions_list",":","List","transactions_list",":","list","of","transactions","resulting","from","the","current","open","orders",".","If","there","were","no","open","orders",",","an","empty","list","is","returned",".","commissions_list",":","List","commissions_list",":","list","of","commissions","resulting","from","filling","the","open","orders",".","A","commission","is","an","object","with","``","asset","''","and","``","cost","''","parameters",".","closed_orders",":","List","closed_orders",":","list","of","all","the","orders","that","have","filled","."]
code: def get_transactions(self, bar_data):
      """
      Creates a list of transactions based on the current open orders,
      slippage model, and commission model.
  
      Parameters
      ----------
      bar_data: zipline._protocol.BarData
  
      Notes
      -----
      This method book-keeps the blotter's open_orders dictionary, so that
       it is accurate by the time we're done processing open orders.
  
      Returns
      -------
      transactions_list: List
          transactions_list: list of transactions resulting from the current
          open orders.  If there were no open orders, an empty list is
          returned.
  
      commissions_list: List
          commissions_list: list of commissions resulting from filling the
          open orders.  A commission is an object with "asset" and "cost"
          parameters.
  
      closed_orders: List
          closed_orders: list of all the orders that have filled.
      """
  
      closed_orders = []
      transactions = []
      commissions = []
  
      if self.open_orders:
          for asset, asset_orders in iteritems(self.open_orders):
              slippage = self.slippage_models[type(asset)]
  
              for order, txn in slippage.simulate(
                  bar_data, asset, asset_orders
              ):
                  commission = self.commission_models[type(asset)]
                  additional_commission = commission.calculate(
                      order, txn
                  )
  
                  if additional_commission > 0:
                      commissions.append(
                          {
                              "asset": order.asset,
                              "order": order,
                              "cost": additional_commission,
                          }
                      )
  
                  order.filled += txn.amount
                  order.commission += additional_commission
  
                  order.dt = txn.dt
  
                  transactions.append(txn)
  
                  if not order.open:
                      closed_orders.append(order)
  
      return transactions, commissions, closed_orders
  
imports: from logbook import Logger
  from collections import defaultdict
  from copy import copy
  from six import iteritems
  from zipline.assets import Equity, Future, Asset
  from .blotter import Blotter
  from zipline.extensions import register
  from zipline.finance.order import Order
  from zipline.finance.slippage import DEFAULT_FUTURE_VOLUME_SLIPPAGE_BAR_LIMIT, VolatilityVolumeShare, FixedBasisPointsSlippage
  from zipline.finance.commission import DEFAULT_PER_CONTRACT_COST, FUTURE_EXCHANGE_FEES_BY_SYMBOL, PerContract, PerShare
  from zipline.utils.input_validation import expect_types
label_desc: Use image node_id 10 for calling the SimulationBlotter obj's underlying member method code with example usage: obj.get_transactions(bar_data) and returns: transactions,  commissions,  closed_orders