AlgoInvest&Trade est une société financière spécialisée dans l'investissement. La société cherche à optimiser ses stratégies d'investissement à l'aide d'algorithmes, afin de dégager davantage de bénéfices pour ses clients. L'objectif de ce projet est de développer, optimiser et backtester un algorithme maximisant le profit et répondant au cachier des charges.
- Déconstruire un problème
- Développer un algorithme pour résoudre un problème
- memory_profiler
- matplotlib
Project
├── core
│ ├── aglorithms : package contenant les algorithmes développés
│ ├── backtesting_results.py
│ ├── model.py : module définissant les dataclass Action et Portfolio
│ ├── performance.py : module permettant de générer les analyses graphiques de résultats
│
├── ressources
│ ├── actions_data : analyses graphiques des résultats
│ ├── backtesting_data : données de backtesting
│
|── requirements.txt
|── documentation
Clonez le repository sur votre machine.
git clone https://github.com/GDSDC/OpenclassroomsProject-P7.git
Accédez au répertoire cloné.
cd OpenclassroomsProject-P7
Créez l'environnement virtuel env.
python3 -m venv env
Activez votre environnement virtuel env nouvellement créé.
source env/bin/activate
Installez les paquets présents dans la liste requirements.txt
pip install -r requirements.txt
Lancer simplement le script python main.py
présent à la racine du dossier de travail en spécifiant le nom de l'algorithm (bruteforce
ou optimized
) ainsi que le chemin vers les données.
Le résultat s'affichera directement sur votre console/terminal.
python3 main.py <algorithm_name> <data_path>
Liste des algorithmes développés :
bruteforce
: bruteforce_algorithmoptimized
: optimised_algorithm_dynamicdyn_algo_v2
: optimised_algorithm_dynamic_v2greedy_algo
optimised_algorithm_greedy