class_docstr: This example strategy always uses the latest rolling model sas online models.
class_docstr_tok: ["This","example","strategy","always","uses","the","latest","rolling","model","sas","online","models","."]
docstr: List latest recorder form rec_list
  
  Args:
      rec_list (List[Recorder]): a list of Recorder
  
  Returns:
      List[Recorder], pd.Timestamp: the latest recorders and their test end time
docstr_tok: ["List","latest","recorder","form","rec_list","Args",":","rec_list","(","List","[","Recorder","]",")",":","a","list","of","Recorder","Returns",":","List","[","Recorder","]",",","pd.Timestamp",":","the","latest","recorders","and","their","test","end","time"]
code: def _list_latest(self, rec_list: List[Recorder]):
      """
      List latest recorder form rec_list
  
      Args:
          rec_list (List[Recorder]): a list of Recorder
  
      Returns:
          List[Recorder], pd.Timestamp: the latest recorders and their test end time
      """
      if len(rec_list) == 0:
          return rec_list, None
      max_test = max(
          rec.load_object("task")["dataset"]["kwargs"]["segments"][
              "test"
          ]
          for rec in rec_list
      )
      latest_rec = []
      for rec in rec_list:
          if (
              rec.load_object("task")["dataset"]["kwargs"]["segments"][
                  "test"
              ]
              == max_test
          ):
              latest_rec.append(rec)
      return latest_rec, max_test
  
imports: from typing import List, Union
  from qlib.log import get_module_logger
  from qlib.model.ens.group import RollingGroup
  from qlib.utils import transform_end_date
  from qlib.workflow.online.utils import OnlineTool, OnlineToolR
  from qlib.workflow.recorder import Recorder
  from qlib.workflow.task.collect import Collector, RecorderCollector
  from qlib.workflow.task.gen import RollingGen, task_generator
  from qlib.workflow.task.utils import TimeAdjuster
label_desc: Use image node_id 5 for calling the RollingStrategy obj's underlying member method code with example usage: obj._list_latest(rec_list) and returns: latest_rec,  max_test, rec_list,  None