(self, experiment_id, general_hyperparameters, model_hyperparameters, torch_dataset_preparation=False, torch_dataset_preparation_backtest=False)
| 20 | |
| 21 | class Executor: |
| 22 | def __init__(self, experiment_id, general_hyperparameters, model_hyperparameters, torch_dataset_preparation=False, torch_dataset_preparation_backtest=False): |
| 23 | self.manager = None |
| 24 | self.model = None |
| 25 | self.experiment_id = experiment_id |
| 26 | self.torch_dataset_preparation = torch_dataset_preparation |
| 27 | self.torch_dataset_preparation_backtest = torch_dataset_preparation_backtest |
| 28 | |
| 29 | self.training_stocks_string, self.test_stocks_string = get_training_test_stocks_as_string(general_hyperparameters) |
| 30 | |
| 31 | if self.torch_dataset_preparation: |
| 32 | create_tree(f"./torch_datasets/threshold_{model_hyperparameters['threshold']}/batch_size_{model_hyperparameters['batch_size']}/training_{self.training_stocks_string}_test_{self.test_stocks_string}/{model_hyperparameters['prediction_horizon']}/") |
| 33 | |
| 34 | if general_hyperparameters["model"] == "deeplob": |
| 35 | self.model = DeepLOB(lighten=model_hyperparameters["lighten"]) |
| 36 | elif general_hyperparameters["model"] == "transformer": |
| 37 | self.model = Transformer(lighten=model_hyperparameters["lighten"]) |
| 38 | elif general_hyperparameters["model"] == "itransformer": |
| 39 | self.model = ITransformer(lighten=model_hyperparameters["lighten"]) |
| 40 | elif general_hyperparameters["model"] == "lobtransformer": |
| 41 | self.model = LobTransformer(lighten=model_hyperparameters["lighten"]) |
| 42 | elif general_hyperparameters["model"] == "dla": |
| 43 | self.model = DLA(lighten=model_hyperparameters["lighten"]) |
| 44 | elif general_hyperparameters["model"] == "cnn1": |
| 45 | self.model = CNN1() |
| 46 | elif general_hyperparameters["model"] == "cnn2": |
| 47 | self.model = CNN2() |
| 48 | elif general_hyperparameters["model"] == "binbtabl": |
| 49 | self.model = BiN_BTABL(120, 40, 100, 5, 3, 1) |
| 50 | elif general_hyperparameters["model"] == "binctabl": |
| 51 | self.model = BiN_CTABL(120, 40, 100, 5, 120, 5, 3, 1) |
| 52 | elif general_hyperparameters["model"] == "axiallob": |
| 53 | self.model = AxialLOB() |
| 54 | elif general_hyperparameters["model"] == "hlob": |
| 55 | homological_structures = torch.load(f"./torch_datasets/threshold_{model_hyperparameters['threshold']}/batch_size_{model_hyperparameters['batch_size']}/training_{self.training_stocks_string}_test_{self.test_stocks_string}/complete_homological_structures.pt") |
| 56 | self.model = Complete_HCNN(lighten=model_hyperparameters["lighten"], homological_structures=homological_structures) |
| 57 | |
| 58 | if self.torch_dataset_preparation: |
| 59 | # Prepare the training dataloader. |
| 60 | dataset = CustomDataset( |
| 61 | dataset=general_hyperparameters["dataset"], |
| 62 | learning_stage="training", |
| 63 | window_size=model_hyperparameters["history_length"], |
| 64 | shuffling_seed=model_hyperparameters["shuffling_seed"], |
| 65 | cache_size=1, |
| 66 | lighten=model_hyperparameters["lighten"], |
| 67 | threshold=model_hyperparameters["threshold"], |
| 68 | all_horizons=general_hyperparameters["horizons"], |
| 69 | prediction_horizon=model_hyperparameters["prediction_horizon"], |
| 70 | targets_type=general_hyperparameters["targets_type"], |
| 71 | balanced_dataloader=model_hyperparameters["balanced_sampling"], |
| 72 | training_stocks=general_hyperparameters["training_stocks"], |
| 73 | validation_stocks=general_hyperparameters["target_stocks"], |
| 74 | target_stocks=general_hyperparameters["target_stocks"] |
| 75 | ) |
| 76 | torch.save(dataset, f"./torch_datasets/threshold_{model_hyperparameters['threshold']}/batch_size_{model_hyperparameters['batch_size']}/training_{self.training_stocks_string}_test_{self.test_stocks_string}/{model_hyperparameters['prediction_horizon']}/training_dataset.pt") |
| 77 | elif self.torch_dataset_preparation is False and self.torch_dataset_preparation_backtest is False: |
| 78 | dataset = torch.load(f"./torch_datasets/threshold_{model_hyperparameters['threshold']}/batch_size_{model_hyperparameters['batch_size']}/training_{self.training_stocks_string}_test_{self.test_stocks_string}/{model_hyperparameters['prediction_horizon']}/training_dataset.pt") |
| 79 | self.train_loader = DataLoader( |
nothing calls this directly
no test coverage detected