Ce projet contient les sources principales de l'application ainsi que les fichier utiles à la documentation.
Ce projet contient les sources de l'application.
## Pour commencer
## Pré-requis
Dans un premier temps, il faudra les librairies Python3 suivantes :
Fichier **requirements.txt**
Base de données : **https://eswys.ch/tmp/tradeDB.sqlite.zip**
### Pré-requis
-**Panda**⇒ Format des dates dans les array et pour Plotly
-**Numpy** ⇒ Pratique avec matplotlib
-**Flask** ⇒ Pour le backend de l'interface de démonstration
-**Matplotlib** ⇒ Plotting des résultats de la documentation
-**Plotly** ⇒ Plots avancés des indicateurs et du prix
Mettre le fichier de la base de donée dans DBManagement/
### Structure
```
AppTrading
│
└─── main
│ │ __init__.py ( Init modules )
│ │ backend.py ( Main demo )
│ │ Decision.py ( Main )
│ │ orders.py ( Module )
│ │ simulation.py ( Module )
│
└─── APIWrappers
│ │ __init__.py ( Init modules )
│ │ ApiManagement.py ( Module )
│ │ ApiManagementWS.py ( Module )
│ │ CryptoDatas.py ( Module )
│
└─── frontend
│ ....
│
└─── DBManagement
│ │ __init__.py ( Init modules )
│ │ DataManagement.py ( Module )
│
└─── others
│ │ __init__.py ( Init modules )
│ │ FetchCrypto.py ( Module )
│ │ plotting_lib.py ( Module )
│ │ profiling.py ( Module )
│ │ volatility.py ( Module )
│
└─── README.md
```
## Fichiers
Voici une description des différents fichiers sources de ce projet.
**Package main**
Ce dossier contient les fichiers principaux suivant :
**backend.py** : Ce fichier est le main de l'application FLASK, il contient les différentes routes de notre server python WS utile à la démonstration.
**Decision.py** : Ce fichier est le main de l'algo décisionnelle, on peut lancer des simulations ou alors avec la gestion des ordres HitBTC automatisées.
**orders.py** : Ce fichier est le module principale utile à la gestion des ordres.
**simulation.py** : Ce fichier est le module principale utile à la simulation.
**Package APIWrapper**
Ce dossier contient les fichiers suivant :
**ApiManagement.py** : Ceci est un module avec les fonctions utiles l'utilisation de l'API REST
de HitBTC.
**ApiManagementWS.py** : Ceci est un module avec les fonctions utiles l'utilisation de l'API WS de HitBTC.
**CryptoDatas.py** : Ce fichier est le module qui utilise l'API **cryptowat.ch** pour récupérer des données historiques.
**Package DBManagement**
Ce dossier contient les fichiers suivant :
**DataManagement.py** : Ce module contient les différentes fonctions pour l'utilisation de la bdd MongoDB.
**Package others**
Ce package contient uniquement des fichiers utiles à la documentation.
**Package frontend**
Interface frontend utilisé à la démo et tester la posibilité d'un web pilote via FLASK.
Le HTML et CSS est repris d'un ancien projet d'école.
## Démarrage
Pour lancer la simulation il faut être dans l'environnement virtuel de Python avec la commande :
source env/bin/activate
Une fois dans l'environnement virtuel il faut exéctuer le fichier backend.py avec python3.
Pour lancer le simulateur, il faut avoir télécharger les libraires et la base de données. Pour exécuter le simulateur il faut faire la commande :