Merge pull request #11368 from freqtrade/fix/nan_metadata
Allow NAN in Freqai datadrawer metadata
This commit is contained in:
@@ -33,6 +33,8 @@ LABEL_PIPELINE = "label_pipeline"
|
|||||||
TRAINDF = "trained_df"
|
TRAINDF = "trained_df"
|
||||||
METADATA = "metadata"
|
METADATA = "metadata"
|
||||||
|
|
||||||
|
METADATA_NUMBER_MODE = rapidjson.NM_NATIVE | rapidjson.NM_NAN
|
||||||
|
|
||||||
|
|
||||||
class pair_info(TypedDict):
|
class pair_info(TypedDict):
|
||||||
model_filename: str
|
model_filename: str
|
||||||
@@ -495,7 +497,7 @@ class FreqaiDataDrawer:
|
|||||||
dk.data["label_list"] = dk.label_list
|
dk.data["label_list"] = dk.label_list
|
||||||
|
|
||||||
with (save_path / f"{dk.model_filename}_{METADATA}.json").open("w") as fp:
|
with (save_path / f"{dk.model_filename}_{METADATA}.json").open("w") as fp:
|
||||||
rapidjson.dump(dk.data, fp, default=self.np_encoder, number_mode=rapidjson.NM_NATIVE)
|
rapidjson.dump(dk.data, fp, default=self.np_encoder, number_mode=METADATA_NUMBER_MODE)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -526,7 +528,7 @@ class FreqaiDataDrawer:
|
|||||||
dk.data["label_list"] = dk.label_list
|
dk.data["label_list"] = dk.label_list
|
||||||
# store the metadata
|
# store the metadata
|
||||||
with (save_path / f"{dk.model_filename}_{METADATA}.json").open("w") as fp:
|
with (save_path / f"{dk.model_filename}_{METADATA}.json").open("w") as fp:
|
||||||
rapidjson.dump(dk.data, fp, default=self.np_encoder, number_mode=rapidjson.NM_NATIVE)
|
rapidjson.dump(dk.data, fp, default=self.np_encoder, number_mode=METADATA_NUMBER_MODE)
|
||||||
|
|
||||||
# save the pipelines to pickle files
|
# save the pipelines to pickle files
|
||||||
with (save_path / f"{dk.model_filename}_{FEATURE_PIPELINE}.pkl").open("wb") as fp:
|
with (save_path / f"{dk.model_filename}_{FEATURE_PIPELINE}.pkl").open("wb") as fp:
|
||||||
@@ -563,7 +565,7 @@ class FreqaiDataDrawer:
|
|||||||
presaved backtesting (prediction file loading).
|
presaved backtesting (prediction file loading).
|
||||||
"""
|
"""
|
||||||
with (dk.data_path / f"{dk.model_filename}_{METADATA}.json").open("r") as fp:
|
with (dk.data_path / f"{dk.model_filename}_{METADATA}.json").open("r") as fp:
|
||||||
dk.data = rapidjson.load(fp, number_mode=rapidjson.NM_NATIVE)
|
dk.data = rapidjson.load(fp, number_mode=METADATA_NUMBER_MODE)
|
||||||
dk.training_features_list = dk.data["training_features_list"]
|
dk.training_features_list = dk.data["training_features_list"]
|
||||||
dk.label_list = dk.data["label_list"]
|
dk.label_list = dk.data["label_list"]
|
||||||
|
|
||||||
@@ -587,7 +589,7 @@ class FreqaiDataDrawer:
|
|||||||
dk.label_pipeline = self.meta_data_dictionary[coin][LABEL_PIPELINE]
|
dk.label_pipeline = self.meta_data_dictionary[coin][LABEL_PIPELINE]
|
||||||
else:
|
else:
|
||||||
with (dk.data_path / f"{dk.model_filename}_{METADATA}.json").open("r") as fp:
|
with (dk.data_path / f"{dk.model_filename}_{METADATA}.json").open("r") as fp:
|
||||||
dk.data = rapidjson.load(fp, number_mode=rapidjson.NM_NATIVE)
|
dk.data = rapidjson.load(fp, number_mode=METADATA_NUMBER_MODE)
|
||||||
|
|
||||||
with (dk.data_path / f"{dk.model_filename}_{FEATURE_PIPELINE}.pkl").open("rb") as fp:
|
with (dk.data_path / f"{dk.model_filename}_{FEATURE_PIPELINE}.pkl").open("rb") as fp:
|
||||||
dk.feature_pipeline = cloudpickle.load(fp)
|
dk.feature_pipeline = cloudpickle.load(fp)
|
||||||
|
|||||||
Reference in New Issue
Block a user