class_docstr: This is the Multiple Pass Portfolio Analysis Record class that run backtest multiple times and generates the analysis results such as those of backtest. This class inherits the ``PortAnaRecord`` class.
  
  If shuffle_init_score enabled, the prediction score of the first backtest date will be shuffled, so that initial position will be random.
  The shuffle_init_score will only works when the signal is used as <PRED> placeholder. The placeholder will be replaced by pred.pkl saved in recorder.
  
  Parameters
  ----------
  recorder : Recorder
      The recorder used to save the backtest results.
  pass_num : int
      The number of backtest passes.
  shuffle_init_score : bool
      Whether to shuffle the prediction score of the first backtest date.
code: def list(self):
      list_path = []
      for _analysis_freq in self.risk_analysis_freq:
          if _analysis_freq in self.all_freq:
              list_path.append(
                  f"multi_pass_port_analysis_{_analysis_freq}.pkl"
              )
          else:
              warnings.warn(
                  f"risk_analysis freq {_analysis_freq} is not found"
              )
      return list_path
  
imports: import logging
  import warnings
  import pandas
  import numpy
  from tqdm import trange
  from pprint import pprint
  from typing import Union, List, Optional, Dict
  from qlib.utils.exceptions import LoadObjectError
  from ..contrib.evaluate import risk_analysis, indicator_analysis
  from ..data.dataset import DatasetH
  from ..data.dataset.handler import DataHandlerLP
  from ..backtest import backtest
  from ..log import get_module_logger
  from ..utils import fill_placeholder, flatten_dict, class_casting, get_date_by_shift
  from ..utils.time import Freq
  from ..utils.data import deepcopy_basic_type
  from ..utils.exceptions import QlibException
  from ..contrib.eva.alpha import calc_ic, calc_long_short_return, calc_long_short_prec
label_desc: Use image node_id 4 for calling the MultiPassPortAnaRecord obj's underlying member method code with example usage: obj.list() and returns: list_path