docstr: The spot values for the gives assets, field and date. Reads from
  the exchange data bundle.
  
  Parameters
  ----------
  assets: list[TradingPair]
  field: str
  dt: pd.Timestamp
  data_frequency: str
  reset_reader:
  
  Returns
  -------
  float
docstr_tok: ["The","spot","values","for","the","gives","assets",",","field","and","date",".","Reads","from","the","exchange","data","bundle",".","Parameters","--","--","--","--","--","assets",":","list","[","TradingPair","]","field",":","str","dt",":","pd.Timestamp","data_frequency",":","str","reset_reader",":","Returns","--","--","--","-","float"]
code: def get_spot_values(
      self, assets, field, dt, data_frequency, reset_reader=False
  ):
      """
      The spot values for the gives assets, field and date. Reads from
      the exchange data bundle.
  
      Parameters
      ----------
      assets: list[TradingPair]
      field: str
      dt: pd.Timestamp
      data_frequency: str
      reset_reader:
  
      Returns
      -------
      float
  
      """
      values = []
      try:
          reader = self.get_reader(data_frequency)
          if reset_reader:
              del self._readers[reader._rootdir]
              reader = self.get_reader(data_frequency)
  
          for asset in assets:
              value = reader.get_value(
                  sid=asset.sid, dt=dt, field=field
              )
              values.append(value)
  
          return values
  
      except Exception:
          symbols = [asset.symbol for asset in assets]
          raise PricingDataNotLoadedError(
              field=field,
              first_trading_day=min(
                  [asset.start_date for asset in assets]
              ),
              exchange=self.exchange_name,
              symbols=symbols,
              symbol_list=",".join(symbols),
              data_frequency=data_frequency,
              start_dt=dt,
              end_dt=dt,
          )
  
imports: import os
  import shutil
  from datetime import timedelta
  from functools import partial
  from itertools import chain
  from operator import is_not
  import numpy
  import pandas
  import pytz
  from catalyst import get_calendar
  from catalyst.assets._assets import TradingPair
  from catalyst.constants import DATE_TIME_FORMAT, AUTO_INGEST
  from catalyst.constants import LOG_LEVEL
  from catalyst.data.minute_bars import BcolzMinuteOverlappingData, BcolzMinuteBarMetadata
  from catalyst.exchange.exchange_bcolz import BcolzExchangeBarReader, BcolzExchangeBarWriter
  from catalyst.exchange.exchange_errors import EmptyValuesInBundleError, TempBundleNotFoundError, NoDataAvailableOnExchange, PricingDataNotLoadedError, DataCorruptionError, PricingDataValueError
  from catalyst.exchange.utils.bundle_utils import range_in_bundle, get_bcolz_chunk, get_df_from_arrays, get_assets
  from catalyst.exchange.utils.datetime_utils import get_start_dt, get_period_label, get_month_start_end, get_year_start_end
  from catalyst.exchange.utils.exchange_utils import get_exchange_folder, save_exchange_symbols, mixin_market_params, get_catalyst_symbol
  from catalyst.utils.cli import maybe_show_progress
  from catalyst.utils.paths import ensure_directory
  from logbook import Logger
  from pytz import UTC
  from six import itervalues
label_desc: Use image node_id 18 for calling the ExchangeBundle obj's underlying member method code with example usage: obj.get_spot_values(assets, field, dt, data_frequency, reset_reader) and returns: values