code: def __init__(self, *args, **kwargs):
      self.exchange_names = kwargs.pop("exchange_names", None)
  
      super(DataPortalExchangeBacktest, self).__init__(*args, **kwargs)
  
      self.exchange_bundles = dict()
      self.history_loaders = dict()
      self.minute_history_loaders = dict()
  
      for name in self.exchange_names:
          self.exchange_bundles[name] = ExchangeBundle(name)
  
imports: import abc
  import datetime
  import numpy
  import pandas
  from catalyst.assets._assets import TradingPair
  from catalyst.constants import LOG_LEVEL, AUTO_INGEST
  from catalyst.data.data_portal import DataPortal
  from catalyst.exchange.exchange_bundle import ExchangeBundle
  from catalyst.exchange.exchange_errors import ExchangeRequestError, PricingDataNotLoadedError
  from catalyst.exchange.utils.exchange_utils import resample_history_df, group_assets_by_exchange
  from catalyst.exchange.utils.datetime_utils import get_frequency, get_start_dt
  from logbook import Logger
  from redo import retry
label_desc: Use image node_id 1 to create a new DataPortalExchangeBacktest object from inherited base classes: DataPortalExchangeBase with example: obj = DataPortalExchangeBacktest()