code: def load_portfolio_risk_factors(
      filepath_prefix=None, start=None, end=None
  ):
      """
      Load risk factors Mkt-Rf, SMB, HML, Rf, and UMD.
      Data is stored in HDF5 file. If the data is more than 2
      days old, redownload from Dartmouth.
      Returns
      -------
      five_factors : pd.DataFrame
          Risk factors timeseries.
      """
  
      if start is None:
          start = "1/1/1970"
      if end is None:
          end = _1_bday_ago()
  
      start = get_utc_timestamp(start)
      end = get_utc_timestamp(end)
  
      if filepath_prefix is None:
          filepath = data_path("factors.csv")
      else:
          filepath = filepath_prefix
  
      five_factors = get_returns_cached(filepath, get_fama_french, end)
  
      return five_factors.loc[start:end]
  
imports: from datetime import datetime
  from functools import wraps
  from os import makedirs, environ
  from os.path import expanduser, join, getmtime, isdir
  import errno
  import warnings
  import numpy
  from numpy.lib.stride_tricks import as_strided
  import pandas
  from pandas.tseries.offsets import BDay
  from .deprecate import deprecated
label_desc: Use image node_id 13 for calling a global function with example usage: load_portfolio_risk_factors(filepath_prefix, start, end) and returns: five_factors