1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-17 01:14:35 +08:00

black format

This commit is contained in:
Young
2020-11-21 15:34:15 +00:00
parent e5923333f5
commit 89977320e3
5 changed files with 20 additions and 18 deletions

View File

@@ -1,12 +1,12 @@
''' """
Here is a batch of evaluation functions. Here is a batch of evaluation functions.
The interface should be redesigned carefully in the future. The interface should be redesigned carefully in the future.
''' """
import pandas as pd import pandas as pd
def calc_ic(pred: pd.Series, label: pd.Series, date_col='datetime', dropna=False) -> (pd.Series, pd.Series): def calc_ic(pred: pd.Series, label: pd.Series, date_col="datetime", dropna=False) -> (pd.Series, pd.Series):
"""calc_ic. """calc_ic.
Parameters Parameters
@@ -23,9 +23,9 @@ def calc_ic(pred: pd.Series, label: pd.Series, date_col='datetime', dropna=False
(pd.Series, pd.Series) (pd.Series, pd.Series)
ic and rank ic ic and rank ic
""" """
df = pd.DataFrame({'pred': pred, 'label': label}) df = pd.DataFrame({"pred": pred, "label": label})
ic = df.groupby(date_col).apply(lambda df: df['pred'].corr(df['label'])) ic = df.groupby(date_col).apply(lambda df: df["pred"].corr(df["label"]))
ric = df.groupby(date_col).apply(lambda df: df['pred'].corr(df['label'], method='spearman')) ric = df.groupby(date_col).apply(lambda df: df["pred"].corr(df["label"], method="spearman"))
if dropna: if dropna:
return ic.dropna(), ric.dropna() return ic.dropna(), ric.dropna()
else: else:

View File

@@ -100,11 +100,13 @@ class DatasetH(Dataset):
self._handler = init_instance_by_config(handler, accept_types=DataHandler) self._handler = init_instance_by_config(handler, accept_types=DataHandler)
self._segments = segments.copy() self._segments = segments.copy()
def prepare(self, def prepare(
segments: Union[List[str], Tuple[str], str, slice], self,
col_set=DataHandler.CS_ALL, segments: Union[List[str], Tuple[str], str, slice],
data_key=DataHandlerLP.DK_I, col_set=DataHandler.CS_ALL,
**kwargs) -> Union[List[pd.DataFrame], pd.DataFrame]: data_key=DataHandlerLP.DK_I,
**kwargs,
) -> Union[List[pd.DataFrame], pd.DataFrame]:
""" """
prepare the data for learning and inference prepare the data for learning and inference
@@ -132,8 +134,8 @@ class DatasetH(Dataset):
logger = get_module_logger("DatasetH") logger = get_module_logger("DatasetH")
fetch_kwargs = {"col_set": col_set} fetch_kwargs = {"col_set": col_set}
fetch_kwargs.update(kwargs) fetch_kwargs.update(kwargs)
if "data_key"in getfullargspec(self._handler.fetch).args: if "data_key" in getfullargspec(self._handler.fetch).args:
fetch_kwargs['data_key'] = data_key fetch_kwargs["data_key"] = data_key
else: else:
logger.info(f"data_key[{data_key}] is ignored.") logger.info(f"data_key[{data_key}] is ignored.")

View File

@@ -10,14 +10,14 @@ class Serializable:
Serializable behaves like pickle. Serializable behaves like pickle.
But it only saves the state whose name **does not** start with `_` But it only saves the state whose name **does not** start with `_`
""" """
def __init__(self): def __init__(self):
self._dump_all = False self._dump_all = False
self._exclude = [] self._exclude = []
def __getstate__(self) -> dict: def __getstate__(self) -> dict:
return { return {
k: v k: v for k, v in self.__dict__.items() if k not in self.exclude and (self.dump_all or not k.startswith("_"))
for k, v in self.__dict__.items() if k not in self.exclude and (self.dump_all or not k.startswith("_"))
} }
def __setstate__(self, state: dict): def __setstate__(self, state: dict):

View File

@@ -251,7 +251,7 @@ class MLflowExpManager(ExpManager):
self.active_experiment = None self.active_experiment = None
def create_exp(self, experiment_name=None): def create_exp(self, experiment_name=None):
assert(experiment_name is not None) assert experiment_name is not None
# init experiment # init experiment
experiment_id = self.client.create_experiment(experiment_name) experiment_id = self.client.create_experiment(experiment_name)
experiment = MLflowExperiment(experiment_id, experiment_name, self.uri) experiment = MLflowExperiment(experiment_id, experiment_name, self.uri)

View File

@@ -119,7 +119,7 @@ class SignalRecord(RecordTemp):
raw_label = DatasetH.prepare(**params) raw_label = DatasetH.prepare(**params)
except TypeError: except TypeError:
# The argument number is not right # The argument number is not right
del params['data_key'] del params["data_key"]
# The backend handler should be DataHandler # The backend handler should be DataHandler
raw_label = DatasetH.prepare(**params) raw_label = DatasetH.prepare(**params)
self.recorder.save_objects(**{"label.pkl": raw_label}) self.recorder.save_objects(**{"label.pkl": raw_label})
@@ -147,7 +147,7 @@ class SigAnaRecord(SignalRecord):
"IC": ic.mean(), "IC": ic.mean(),
"ICIR": ic.mean() / ic.std(), "ICIR": ic.mean() / ic.std(),
"Rank IC": ric.mean(), "Rank IC": ric.mean(),
"Rank ICIR": ric.mean() / ric.std() "Rank ICIR": ric.mean() / ric.std(),
} }
self.recorder.log_metrics(**metrics) self.recorder.log_metrics(**metrics)
self.recorder.save_objects(**{"ic.pkl": ic, "ric.pkl": ric}, artifact_path=self.artifact_path_sig) self.recorder.save_objects(**{"ic.pkl": ic, "ric.pkl": ric}, artifact_path=self.artifact_path_sig)