code: def __init__(self):
      self.name = None
      self.assets = []
      self._symbol_maps = [None, None]
      self.minute_writer = None
      self.minute_reader = None
      self.quote_currency = None
  
      self.num_candles_limit = None
      self.max_requests_per_minute = None
      self.request_cpt = None
      self.bundle = ExchangeBundle(self.name)
  
      self.low_balance_threshold = None
  
imports: import abc
  from abc import ABCMeta, abstractmethod, abstractproperty
  from datetime import timedelta
  from time import sleep
  import numpy
  import pandas
  from catalyst.constants import LOG_LEVEL
  from catalyst.data.data_portal import BASE_FIELDS
  from catalyst.exchange.exchange_bundle import ExchangeBundle
  from catalyst.exchange.exchange_errors import MismatchingQuoteCurrencies, SymbolNotFoundOnExchange, PricingDataNotLoadedError, NoDataAvailableOnExchange, NoValueForField, NoCandlesReceivedFromExchange, TickerNotFoundError, NotEnoughCashError
  from catalyst.exchange.utils.datetime_utils import get_delta, get_periods_range, get_periods, get_start_dt, get_frequency, get_candles_number_from_minutes
  from catalyst.exchange.utils.exchange_utils import get_exchange_symbols, resample_history_df, has_bundle, get_candles_df
  from logbook import Logger
label_desc: Use image node_id 1 to create a new Exchange object  with example: obj = Exchange()