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"]
docstr: The high field's aggregation returns the largest high seen between
  the market open and the current dt.
  If there has been no data on or before the `dt` the high is `nan`.
  
  Returns
  -------
  np.array with dtype=float64, in order of assets parameter.
code: def highs(self, assets, dt):
      """
      The high field's aggregation returns the largest high seen between
      the market open and the current dt.
      If there has been no data on or before the `dt` the high is `nan`.
  
      Returns
      -------
      np.array with dtype=float64, in order of assets parameter.
      """
      market_open, prev_dt, dt_value, entries = self._prelude(
          dt, "high"
      )
  
      highs = []
      session_label = self._trading_calendar.minute_to_session_label(dt)
  
      for asset in assets:
          if not asset.is_alive_for_session(session_label):
              highs.append(np.NaN)
              continue
  
          if prev_dt is None:
              val = self._minute_reader.get_value(asset, dt, "high")
              entries[asset] = (dt_value, val)
              highs.append(val)
              continue
          else:
              try:
                  last_visited_dt, last_max = entries[asset]
                  if last_visited_dt == dt_value:
                      highs.append(last_max)
                      continue
                  elif last_visited_dt == prev_dt:
                      curr_val = self._minute_reader.get_value(
                          asset, dt, "high"
                      )
                      if pd.isnull(curr_val):
                          val = last_max
                      elif pd.isnull(last_max):
                          val = curr_val
                      else:
                          val = max(last_max, curr_val)
                      entries[asset] = (dt_value, val)
                      highs.append(val)
                      continue
                  else:
                      after_last = pd.Timestamp(
                          last_visited_dt + self._one_min, tz="UTC"
                      )
                      window = self._minute_reader.load_raw_arrays(
                          ["high"],
                          after_last,
                          dt,
                          [asset],
                      )[0].T
                      val = np.nanmax(np.append(window, last_max))
                      entries[asset] = (dt_value, val)
                      highs.append(val)
                      continue
              except KeyError:
                  window = self._minute_reader.load_raw_arrays(
                      ["high"],
                      market_open,
                      dt,
                      [asset],
                  )[0].T
                  val = np.nanmax(window)
                  entries[asset] = (dt_value, val)
                  highs.append(val)
                  continue
      return np.array(highs)
  
imports: from collections import OrderedDict
  from abc import ABCMeta, abstractmethod
  import numpy
  import pandas
  from six import with_metaclass
  from zipline.data._resample import _minute_to_session_open, _minute_to_session_high, _minute_to_session_low, _minute_to_session_close, _minute_to_session_volume
  from zipline.data.bar_reader import NoDataOnDate
  from zipline.data.minute_bars import MinuteBarReader
  from zipline.data.session_bars import SessionBarReader
  from zipline.utils.memoize import lazyval
label_desc: Use image node_id 4 for calling the DailyHistoryAggregator obj's underlying member method code with example usage: obj.highs(assets, dt) and returns: np