code: def lookup_symbol(self,
                        symbol,
                        as_of_date,
                        fuzzy=False,
                        country_code=None):
          
          if symbol is None:
              raise TypeError("Cannot lookup asset for symbol of None for "
                              "as of date %s." % as_of_date)
  
          if fuzzy:
              f = self._lookup_symbol_fuzzy
              mapping = self._choose_fuzzy_symbol_ownership_map(country_code)
          else:
              f = self._lookup_symbol_strict
              mapping = self._choose_symbol_ownership_map(country_code)
  
          if mapping is None:
              raise SymbolNotFound(symbol=symbol)
          return f(
              mapping,
              country_code is None,
              symbol,
              as_of_date,
          )
docs: Lookup an equity by symbol.
  
          Parameters
          ----------
          symbol : str
              The ticker symbol to resolve.
          as_of_date : datetime or None
              Look up the last owner of this symbol as of this datetime.
              If ``as_of_date`` is None, then this can only resolve the equity
              if exactly one equity has ever owned the ticker.
          fuzzy : bool, optional
              Should fuzzy symbol matching be used? Fuzzy symbol matching
              attempts to resolve differences in representations for
              shareclasses. For example, some people may represent the ``A``
              shareclass of ``BRK`` as ``BRK.A``, where others could write
              ``BRK_A``.
          country_code : str or None, optional
              The country to limit searches to. If not provided, the search will
              span all countries which increases the likelihood of an ambiguous
              lookup.
  
          Returns
          -------
          equity : Equity
              The equity that held ``symbol`` on the given ``as_of_date``, or the
              only equity to hold ``symbol`` if ``as_of_date`` is None.
  
          Raises
          ------
          SymbolNotFound
              Raised when no equity has ever held the given symbol.
          MultipleSymbolsFound
              Raised when no ``as_of_date`` is given and more than one equity
              has held ``symbol``. This is also raised when ``fuzzy=True`` and
              there are multiple candidates for the given ``symbol`` on the
              ``as_of_date``. Also raised when no ``country_code`` is given and
              the symbol is ambiguous across multiple countries.