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: Use rolling_gen to generate different tasks based on task_template.
  
  Returns:
      List[dict]: a list of tasks
docstr_tok: ["Use","rolling_gen","to","generate","different","tasks","based","on","task_template",".","Returns",":","List","[","dict","]",":","a","list","of","tasks"]
code: def first_tasks(self) -> List[dict]:
      """
      Use rolling_gen to generate different tasks based on task_template.
  
      Returns:
          List[dict]: a list of tasks
      """
      return task_generator(
          tasks=self.task_template,
          generators=self.rg,  # generate different date segment
      )
  
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 3 for calling the RollingStrategy obj's underlying member method code with example usage: obj.first_tasks() and returns: task_generator