code: def __missing__(self, key):
      if isinstance(key, Asset):
          return Position(key)
      elif isinstance(key, int):
          warn(
              "Referencing positions by integer is deprecated."
              " Use an asset instead."
          )
      else:
          warn(
              "Position lookup expected a value of type Asset but got {0}"
              " instead.".format(type(key).__name__)
          )
  
      return _DeprecatedSidLookupPosition(key)
  
imports: from warnings import warn
  import pandas
  from catalyst.assets import Asset, Future
  from catalyst.utils.input_validation import expect_types
  from .utils.enum import enum
  from catalyst._protocol import BarData
label_desc: Use image node_id 1 for calling the Positions obj's underlying member method code with example usage: obj.__missing__(key) and returns: _DeprecatedSidLookupPosition, Position