Bot de support au trading de crypto-monnaies basé sur un modèle de Machine Learning. Projet réalisé dans le cadre de la formation MLOPs DataScientest, promotion Mai 2023.
Auteurs - Johann Ambrugeat, Julien Le Bot, Christopher Corbin
TODO: diagramme
Pré-requis : Docker >= 24.0.5, Python >= 3.9.18
Depuis un terminal, cloner le dépôt et se positionner dans le projet:
git clone https://github.com/JohannGump/CryptoBot-Binance.git
cd CryptoBot-Binance
Optionnel (ie. auto-completion VSCode, execution des scripts sur hôte)
Créer un environnement virtuel Python dans le projet et installer les dépendances des modules:
python -m venv .venv
source .venv/bin/activate
pip install -r binance_bridge/requirements.txt
pip install -r data/requirements.txt
pip install -r model/requirements.txt
pip install -r web_api/requirements.txt
Créez un network docker nommé cryptobot-network
docker network create cryptobot-network
Executez docker compose pour démarrer l'ensemble des services
docker compose up
Patientez quelques minutes (cela peu être long au premier démarrage), jusqu'a observer une sortie ressemblant à celle-ci
c-requester | [2023-10-01 17:20:22] [INFO] predict - WEEKLY predictions up to date, latest 2023-10-23 02:00:00
Vous pouvez maintenant naviguer à l'adresse suivante pour accéder à la vitrine de l'application: http://localhost:8000
L'accès à l'interface Airflow est disponible ici (login: airflow, mdp: airflow): http://localhost:8080
- airflow : dags airflows
- airflow-setup : manifests de déploiement d'Airflow sur le cluster Kubernetes
- binance_bridge : utilitaires de communication avec l'API Binance, définitions des constantes
- data : scripts etl des données d'entrainement, build file Docker
- kubernetes : manifests de déploiment de la solution sur cluster Kubernetes
- model : scripts d'entrainement (preprocessing, fit, save) des modèles, build files Docker (entraineur de modèles, serveur de modèles)
- requester : etl données de prédictions, requêteur de prédcitions
- web_api : vitrine publique de l'application