code: def universe(context, lookback_date, current_date):
      # get all the pairs for the given exchange
      json_symbols = get_exchange_symbols(context.exchange)
      # convert into a DataFrame for easier processing
      df = pd.DataFrame.from_dict(json_symbols).transpose().astype(str)
      df["quote_currency"] = df.apply(
          lambda row: row.symbol.split("_")[1], axis=1
      )
      df["base_currency"] = df.apply(
          lambda row: row.symbol.split("_")[0], axis=1
      )
  
      # Filter all the pairs to get only the ones for a given quote_currency
      df = df[df["quote_currency"] == context.quote_currency]
  
      # Filter all pairs to ensure that pair existed in the current date range
      df = df[df.start_date < lookback_date]
      df = df[df.end_daily >= current_date]
      context.coins = symbols(
          *df.symbol
      )  # convert all the pairs to symbols
  
      return df.symbol.tolist()
  
file_path: catalyst/catalyst/examples/simple_universe.py
imports: from datetime import timedelta
  import numpy
  import pandas
  from catalyst import run_algorithm
  from catalyst.api import symbols
  from catalyst.exchange.utils.exchange_utils import get_exchange_symbols
label_desc: Use image node_id 4 for calling a global function with example usage: universe(context, lookback_date, current_date) and returns: df