class_docstr: Converts minute pricing data into a daily summary, to be used for the
  last slot in a call to history with a frequency of `1d`.
  
  This summary is the same as a daily bar rollup of minute data, with the
  distinction that the summary is truncated to the `dt` requested.
  i.e. the aggregation slides forward during a the course of simulation day.
  
  Provides aggregation for `open`, `high`, `low`, `close`, and `volume`.
  The aggregation rules for each price type is documented in their respective
class_docstr_tok: ["Converts","minute","pricing","data","into","a","daily","summary",",","to","be","used","for","the","last","slot","in","a","call","to","history","with","a","frequency","of","`","1d","`",".","This","summary","is","the","same","as","a","daily","bar","rollup","of","minute","data",",","with","the","distinction","that","the","summary","is","truncated","to","the","`","dt","`","requested",".","i.e",".","the","aggregation","slides","forward","during","a","the","course","of","simulation","day",".","Provides","aggregation","for","`","open","`",",","`","high","`",",","`","low","`",",","`","close","`",",","and","`","volume","`",".","The","aggregation","rules","for","each","price","type","is","documented","in","their","respective"]
code: def _prelude(self, dt, field):
      session = self._trading_calendar.minute_to_session_label(dt)
      dt_value = dt.value
      cache = self._caches[field]
      if cache is None or cache[0] != session:
          market_open = self._market_opens.loc[session]
          cache = self._caches[field] = (session, market_open, {})
  
      _, market_open, entries = cache
      try:
          market_open = market_open.tz_localize("UTC")
      except TypeError:
          market_open = market_open.tz_convert("UTC")
      if dt != market_open:
          prev_dt = dt_value - self._one_min
      else:
          prev_dt = None
      return market_open, prev_dt, dt_value, entries
  
imports: from collections import OrderedDict
  from abc import ABCMeta, abstractmethod
  import numpy
  import pandas
  from six import with_metaclass
  from catalyst.data._resample import _minute_to_session_open, _minute_to_session_high, _minute_to_session_low, _minute_to_session_close, _minute_to_session_volume
  from catalyst.data.bar_reader import NoDataOnDate
  from catalyst.data.minute_bars import MinuteBarReader
  from catalyst.data.session_bars import SessionBarReader
  from catalyst.utils.memoize import lazyval
label_desc: Use image node_id 2 for calling the DailyHistoryAggregator obj's underlying member method code with example usage: obj._prelude(dt, field) and returns: market_open,  prev_dt,  dt_value,  entries