2025-02-22 10:25:24 +01:00
2025-02-22 10:25:24 +01:00
2024-09-06 11:19:56 +02:00
2025-01-16 12:14:59 -05:00
2024-10-16 21:02:05 +02:00
2024-09-10 20:32:05 +02:00
2024-10-17 21:42:03 +02:00

WNE Masters Thesis

The repository contains the implementation of evaluation framework and strategies for master's thesis: "Informer In Algorithmic Investment Strategies on High Frequency Bitcoin Data"

The implementation uses PytorchForecasting framework, and the Informer implementation is taken from the following Github repository. Experiment management is done using Weights&Biases.

Repository structure

Thre repository is organized in the following way:

  • src/ml: contains the code that implements utilities for training the machine learning models.
  • src/informer: contains the implementation of the Informer.
  • src/strategy: contains the implementation of the strategies, as well as the methods for efficient evaluation and hyperparameter serach.
  • notebooks/: contains the evaluations of various srategies and methods for generating the visualistions used in the publication.
  • scripts/: contains the main training script.
  • configs/: contains configurations for different experiments of ml models, that can be passed to the main training script.

Installation

Install package with the following command:

pip install -e .

Training

Usage of the training script:

usage: train.py [-h] [-p PROJECT] [-l LOG_LEVEL] [-s SEED] [-n LOG_INTERVAL] [-v VAL_CHECK_INTERVAL] [-t PATIENCE] [--no-wandb] [--store-predictions] config

positional arguments:
  config                Experiment configuration file in yaml format.

optional arguments:
  -h, --help            show this help message and exit
  -p PROJECT, --project PROJECT
                        W&B project name. (default: wne-masters-thesis-testing)
  -l LOG_LEVEL, --log-level LOG_LEVEL
                        Sets the log level. (default: 20)
  -s SEED, --seed SEED  Random seed for the training. (default: 42)
  -n LOG_INTERVAL, --log-interval LOG_INTERVAL
                        Log every n steps. (default: 100)
  -v VAL_CHECK_INTERVAL, --val-check-interval VAL_CHECK_INTERVAL
                        Run validation every n batches. (default: 300)
  -t PATIENCE, --patience PATIENCE
                        Patience for early stopping. (default: 5)
  --no-wandb            Disables wandb, for testing. (default: False)
  --store-predictions   Whether to store predictions of the best run. (default: False)
Description
No description provided
Readme 9.7 MiB
Languages
Jupyter Notebook 98.4%
Python 1.6%