code: def get_algo_object(
      algo_name, key, environ=None, rel_path=None, how="pickle"
  ):
      """
      The de-serialized object of the algo name and key.
  
      Parameters
      ----------
      algo_name: str
      key: str
      environ:
      rel_path: str
      how: str
  
      Returns
      -------
      Object
  
      """
      if algo_name is None:
          return None
  
      folder = get_algo_folder(algo_name, environ)
  
      if rel_path is not None:
          folder = os.path.join(folder, rel_path)
  
      name = (
          "{}.p".format(key)
          if how == "pickle"
          else "{}.json".format(key)
      )
      filename = os.path.join(folder, name)
  
      if os.path.isfile(filename):
          if how == "pickle":
              with open(filename, "rb") as handle:
                  return pickle.load(handle)
  
          else:
              with open(filename) as data_file:
                  data = json.load(data_file, cls=ExchangeJSONDecoder)
                  return data
  
      else:
          return None
  
imports: import hashlib
  import json
  import os
  import pickle
  import shutil
  from datetime import date, datetime
  import pandas
  from catalyst.assets._assets import TradingPair
  from six import string_types
  from six.moves.urllib import request
  from catalyst.constants import DATE_FORMAT, SYMBOLS_URL
  from catalyst.exchange.exchange_errors import ExchangeSymbolsNotFound
  from catalyst.exchange.utils.serialization_utils import ExchangeJSONEncoder, ExchangeJSONDecoder
  from catalyst.utils.memoize import weak_lru_cache
  from catalyst.utils.paths import data_root, ensure_directory, last_modified_time
label_desc: Use image node_id 14 for calling a global function with example usage: get_algo_object(algo_name, key, environ, rel_path, how) and returns: None, None, pickle, data