1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-16 09:11:00 +08:00

Support loading for backtest

This commit is contained in:
Yuge Zhang
2021-05-28 17:31:08 +08:00
parent 6a636546c4
commit c26bee126b

View File

@@ -1,6 +1,7 @@
# Copyright (c) Microsoft Corporation. # Copyright (c) Microsoft Corporation.
# Licensed under the MIT License. # Licensed under the MIT License.
from typing import Optional
import qlib import qlib
import fire import fire
@@ -124,11 +125,17 @@ class MultiLevelTradingWorkflow:
sr = SignalRecord(model, dataset, recorder) sr = SignalRecord(model, dataset, recorder)
sr.generate() sr.generate()
def backtest(self): def _load_model(self, load):
return R.get_recorder(load, experiment_name="train").load_object("params.pkl")
def backtest(self, load_model: Optional[str] = None):
self._init_qlib() self._init_qlib()
model = init_instance_by_config(self.task["model"]) model = init_instance_by_config(self.task["model"])
dataset = init_instance_by_config(self.task["dataset"]) dataset = init_instance_by_config(self.task["dataset"])
self._train_model(model, dataset) if load_model is None:
self._train_model(model, dataset)
else:
model = self._load_model(load_model)
strategy_config = { strategy_config = {
"class": "TopkDropoutStrategy", "class": "TopkDropoutStrategy",
"module_path": "qlib.contrib.strategy.model_strategy", "module_path": "qlib.contrib.strategy.model_strategy",