Microservices-Based-Algorithmic-Trading-System

(β˜… 541)

MBATS is a docker based platform for developing, testing and deploying Algorthmic Trading strategies with a focus on Machine Learning based algorithms.

  • .devcontainer.json
  • .env
  • .gitignore
  • docker-compose.yml
  • LICENSE
  • README.md
  • starter_script.bat

πŸš€ Installation Guide

1. Get the code
git clone https://github.com/saeed349/Microservices-Based-Algorithmic-Trading-System

Downloads the entire project code from GitHub to your computer.

cd Microservices-Based-Algorithmic-Trading-System

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
3. Run docker compose:

Runs the command against the services defined in the compose file.

MBATS is a collection of 9 docker containers acting synchronously to create an environment to develop and productionise trading strategies with ease. The main parts of MBATS are as follows.

Type this command into your terminal and run it.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

3. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
8. Go to Jupyter Notebook (http://localhost:8888) and use the Notebook [*Example.ipynb*](./Storage/notebooks/Example.ipynb) to run through the example strategy implementation where you can

Type this command into your terminal and run it.

In this project all the ML model can be tracked by the MLflow Tracker and the model artifacts are stored in Minio, the main reason for doing so is that later on I can swap Minio for a Cloud object store like S3. The ML models are then served using MLflow pyfunc. We also have the option to serve the model as Rest API using MLflow (code in sample jupyter notebook)

Type this command into your terminal and run it.

* Jupyter Notebook:http://localhost:8888

Type this command into your terminal and run it.

βœ… If it runs without errors and prints output in the terminal, it worked.

Pulled directly from this repo's README.

// repository documentation