feat(Labeling): purge overlapping events, sort dataframe at loading time (#226)

* feat(Labeling): purge overlapping events, sort dataframe at loading time

* fix(Linter): ran

* refactor(Labeling): moved purge_overlapping_events one abstraction level higher

* fix(Data): renamed class

* fix(Data): corrected parameter name

* fix(Config): parameters

* fix(Data): fixed path

* fix(Data): uncommented required code

* feat(EventFilters): use vol based CUSUM

* fix(Config): only retrain every 2000 samples

* fix(Config): filter out even more events

* fix(Inference): added remove_overlapping_events

* refactor(Types): simplified type hierarchy
This commit is contained in:
Mark Aron Szulyovszky
2022-03-02 00:26:33 +01:00
committed by GitHub
parent 10a0803c91
commit 75157c6285
17 changed files with 120 additions and 77 deletions
+7 -3
View File
@@ -28,7 +28,7 @@ def run_pipeline(
wandb, config = setup_config(project_name, with_wandb, sweep, raw_config)
pipeline_outcome = run_training(config)
report_results(
pipeline_outcome.directional_training.training.stats,
pipeline_outcome.directional_training.stats,
pipeline_outcome.get_output_stats(),
pipeline_outcome.get_output_weights(),
config,
@@ -72,7 +72,11 @@ def run_training(config: Config) -> PipelineOutcome:
print("---> Filter for significant events when we want to trade, and label data")
events, X, y, forward_returns = label_data(
config.event_filter, config.labeling, X, returns
event_filter=config.event_filter,
event_labeller=config.labeling,
X=X,
returns=returns,
remove_overlapping_events=config.remove_overlapping_events,
)
print("---> Train directional models")
@@ -90,7 +94,7 @@ def run_training(config: Config) -> PipelineOutcome:
print("---> Run bet sizing on directional model's output")
bet_sizing_outcomes = bet_sizing_with_meta_model(
X,
directional_training_outcome.training.predictions,
directional_training_outcome.predictions,
y,
forward_returns,
config.meta_model,