From 799731164ab848dfd1c823cf38d88155d47b0002 Mon Sep 17 00:00:00 2001 From: abc Date: Fri, 13 Feb 2026 11:03:50 +0800 Subject: [PATCH 1/2] add update shell script with tags --- up.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 up.sh diff --git a/up.sh b/up.sh new file mode 100755 index 0000000000..0ff6ee232a --- /dev/null +++ b/up.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +git pull upstream main +git fetch upstream --tags --prune \ No newline at end of file From 5117592adaeb24c10c7cb9e0339113424001a958 Mon Sep 17 00:00:00 2001 From: abc Date: Sat, 14 Feb 2026 20:14:48 +0800 Subject: [PATCH 2/2] optional data handler cache for Rolling.run --- qlib/contrib/rolling/base.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qlib/contrib/rolling/base.py b/qlib/contrib/rolling/base.py index 5f17c05623..e21be2c201 100644 --- a/qlib/contrib/rolling/base.py +++ b/qlib/contrib/rolling/base.py @@ -191,9 +191,9 @@ def run_basic_task(self): trainer = TrainerR(experiment_name=self.exp_name) trainer([task]) - def get_task_list(self) -> List[dict]: + def get_task_list(self, enable_data_handler_cache: Optional[bool] = True) -> List[dict]: """return a batch of tasks for rolling.""" - task = self.basic_task() + task = self.basic_task(enable_data_handler_cache) task_l = task_generator( task, RollingGen(step=self.step, trunc_days=self.horizon + 1) ) # the last two days should be truncated to avoid information leakage @@ -203,8 +203,8 @@ def get_task_list(self) -> List[dict]: t["record"] = ["qlib.workflow.record_temp.SignalRecord"] return task_l - def _train_rolling_tasks(self): - task_l = self.get_task_list() + def _train_rolling_tasks(self, enable_data_handler_cache: Optional[bool] = True): + task_l = self.get_task_list(enable_data_handler_cache) self.logger.info("Deleting previous Rolling results") try: # TODO: mlflow does not support permanently delete experiment @@ -250,10 +250,10 @@ def _update_rolling_rec(self): r.generate() print(f"Your evaluation results can be found in the experiment named `{self.exp_name}`.") - def run(self): + def run(self, enable_data_handler_cache: Optional[bool] = True): # the results will be save in mlruns. # 1) each rolling task is saved in rolling_models - self._train_rolling_tasks() + self._train_rolling_tasks(enable_data_handler_cache) # 2) combined rolling tasks and evaluation results are saved in rolling self._ens_rolling() self._update_rolling_rec()