class_docstr: Loader for sliding history windows, with support for adjustments.
  
  Parameters
  ----------
  trading_calendar: TradingCalendar
      Contains the grouping logic needed to assign minutes to periods.
  reader : DailyBarReader, MinuteBarReader
      Reader for pricing bars.
  adjustment_reader : SQLiteAdjustmentReader
      Reader for adjustment data.
class_docstr_tok: ["Loader","for","sliding","history","windows",",","with","support","for","adjustments",".","Parameters","--","--","--","--","--","trading_calendar",":","TradingCalendar","Contains","the","grouping","logic","needed","to","assign","minutes","to","periods",".","reader",":","DailyBarReader",",","MinuteBarReader","Reader","for","pricing","bars",".","adjustment_reader",":","SQLiteAdjustmentReader","Reader","for","adjustment","data","."]
code: def _decimal_places_for_asset(self, asset, reference_date):
      if isinstance(asset, Future) and asset.tick_size:
          return number_of_decimal_places(asset.tick_size)
      elif isinstance(asset, ContinuousFuture):
          # Tick size should be the same for all contracts of a continuous
          # future, so arbitrarily get the contract with next upcoming auto
          # close date.
          oc = self._asset_finder.get_ordered_contracts(
              asset.root_symbol
          )
          contract_sid = oc.contract_before_auto_close(
              reference_date.value
          )
          if contract_sid is not None:
              contract = self._asset_finder.retrieve_asset(contract_sid)
              if contract.tick_size:
                  return number_of_decimal_places(contract.tick_size)
      return DEFAULT_ASSET_PRICE_DECIMALS
  
imports: from abc import ABCMeta, abstractmethod, abstractproperty
  from numpy import concatenate
  from lru import LRU
  from pandas import isnull
  from toolz import sliding_window
  from six import with_metaclass
  from zipline.assets import Equity, Future
  from zipline.assets.continuous_futures import ContinuousFuture
  from zipline.lib._int64window import AdjustedArrayWindow
  from zipline.lib._float64window import AdjustedArrayWindow
  from zipline.lib.adjustment import Float64Multiply, Float64Add
  from zipline.utils.cache import ExpiringCache
  from zipline.utils.math_utils import number_of_decimal_places
  from zipline.utils.memoize import lazyval
  from zipline.utils.numpy_utils import float64_dtype
  from zipline.utils.pandas_utils import find_in_sorted_index, normalize_date
label_desc: Use image node_id 5 for calling the HistoryLoader obj's underlying member method code with example usage: obj._decimal_places_for_asset(asset, reference_date) and returns: DEFAULT_ASSET_PRICE_DECIMALS, number_of_decimal_places, number_of_decimal_places