Aller au contenu
Table des matières

Workshop1

Workshop1 est un atelier Python d’AlgoÉTS construit autour de notebooks. La progression part de l’installation, passe par les appels API, pandas et la visualisation, puis se termine par un exercice d’EMA sur le cours d’Apple. Les faits ci-dessous viennent du dépôt, lu pour l’article associé.

  • Mis à jour

1. Aperçu

Pourquoi il existe. Un atelier d’initiation où chaque notion a une suite : une requête devient un tableau, le tableau devient un graphique.

Cas d’usage. Premier contact avec Python pour des étudiants en finance, avant de passer à une expérience par lots comme BatchBacktesting.

2. Cas d’utilisation

Atelier AlgoÉTS en français : carnets Jupyter, des bases de Python aux API, à pandas, aux graphiques et à une EMA sur Apple.

Diagramme de cas d’utilisation de Workshop1 : Préparer son environnement; Apprendre les bases de Python; Appeler une API web; Nettoyer des données (pandas); Tracer une EMA sur AppleWorkshop1Préparer son environnementApprendre les bases de PythonAppeler une API webNettoyer des données (pandas)Tracer une EMA sur AppleParticipant«système»Jupyter ou Colab«système»API de cours FMP
Acteurs à gauche (personnes) et à droite (systèmes externes) ; chaque ovale est un cas d’utilisation appuyé par les fichiers cités ci-dessous.
Préparer son environnement
ParticipantJupyter ou Colab

0.1_python_environement présente virtualenv, Anaconda et Jupyter Lab ; 0.2_jupyter_cloud montre DeepNote et Google Colab, et le README pointe vers une copie Colab du premier carnet.

Apprendre les bases de Python
ParticipantJupyter ou Colab

1.1_python_basic et 1.2_python_advanced couvrent variables, structures de contrôle, lecture de fichier (monfichier.txt) et une petite base SQLite (ma_base.db).

Appeler une API web
ParticipantJupyter ou Colab

2.1_python_api explique les verbes REST, les codes d'état, les jetons Bearer, les clés d'API et OAuth, avec des exemples requests et httpx asynchrone.

Nettoyer des données (pandas)
Participant

3.1_python_panda présente les DataFrame, le filtrage avec loc et iloc, les valeurs manquantes, les fusions, les indicateurs pandas_ta et une comparaison avec polars.

Tracer une EMA sur Apple
ParticipantAPI de cours FMP

5.1_project_ema récupère les cours journaliers d'AAPL via historical-price-full de FMP, calcule une EMA 20 jours avec ewm de pandas et la trace avec la clôture dans Matplotlib ; 4.2 ajoute SMM, RSI et MACD.

2.1. Scénario : Suivre l'atelier jusqu'au projet EMA

  1. Cloner https://github.com/AlgoETS/Workshop1.git et lancer pip install -r requirements.txt.
  2. Démarrer jupyter notebook, ou ouvrir 1.0-basic/1.1_python_basic.ipynb dans Google Colab depuis le lien du README.
  3. Parcourir 1.0-basic, 2.0-api et 3.0-data dans l'ordre.
  4. Ouvrir 5.0-project/5.1_project_ema.ipynb et remplacer YOUR_API_KEY par une clé Financial Modeling Prep.
  5. Exécuter les cellules pour charger les cours d'AAPL dans un DataFrame, ajouter EMA_20 et tracer la clôture avec l'EMA 20 jours.

Fichiers consultésREADME.mdrequirements.txt0.0-install/0.1_python_environement.md0.0-install/0.2_jupyter_cloud.md1.0-basic/1.2_python_advanced.md2.0-api/2.1_python_api.md3.0-data/3.1_python_panda.ipynb4.0-visualisation/4.2_visualisation_analyse.ipynb5.0-project/5.1_project_ema.md5.0-project/5.1_project_ema.ipynb

3. Démarrage

  • Ouvrir le premier notebook dans Colab : 1.1_python_basic.ipynb (lien du README).
  • Ou cloner le dépôt et lancer Jupyter en local ; les notebooks d’installation couvrent l’environnement.

La disponibilité des API, les clés et les versions de paquets peuvent avoir changé depuis l’atelier. Les notebooks sont du matériel pédagogique à examiner et adapter.

4. Fonctions et composants

Neuf notebooks Jupyter répartis dans six dossiers numérotés :

ÉtapeNotebooks
Environnement et infonuagique2
Bases et notions avancées de Python2
Lecture de réponses d’API1
Nettoyage et exploration avec pandas1
Visualisation2
Projet final1 — 5.1_project_ema.ipynb trace les cours de clôture d’Apple avec des EMA de 12, 26, 50, 100 et 200 jours

Ce sont des décomptes du matériel versionné, pas des statistiques de participation.

5. Architecture

flowchart TD
  S["Notebooks d'environnement et d'infonuagique"] --> P["Bases et notions avancées de Python"]
  P --> A["Lire des réponses d'API"]
  A --> D["Nettoyer et explorer avec pandas"]
  D --> V["Visualiser les données"]
  V --> E["Cours d'Apple et projet EMA"]

6. Limites et points à vérifier

  • L’exercice final relie une requête, des données tabulaires, des colonnes d’indicateurs et un graphique annoté. Il n’établit pas qu’un croisement soit rentable.
  • Vérifications utiles en classe : dates ordonnées, traitement volontaire des valeurs manquantes, pourquoi une EMA plus longue réagit plus lentement, et si toutes les courbes utilisent les mêmes observations.

7. Liens

8. Pipeline CI/CD

Aucun pipeline CI/CD dans le dépôt. Le code se construit et se lance à la main, comme décrit plus haut.

Généré à partir du code au commit 7858d0e.

9. Schéma de déploiement

Mermaid Schéma de déploiement
flowchart LR
  repo[("Dépôt GitHub")]
  local["Poste local<br/>Python"]
  repo -->|"cloner et lancer"| local

Le dépôt ne contient ni Dockerfile, ni fichier Compose, ni configuration d’hébergement : le code s’exécute sur le poste qui le clone.

10. Dépendances externes

17 paquets déclarés (17 à l’exécution, 0 pour le développement) dans requirements.txt.

Tableau des paquets 17
Dépendances externes
PaquetVersionUsageRôleRegistre
requests—exécutionClient HTTPpypi.org
beautifulsoup4—exécutionExtraction web et analysepypi.org
lxml—exécutionExtraction web et analysepypi.org
finnhub-python—exécutionFinnhub APIpypi.org
binance—exécutionbinance crypto exchange api clientpypi.org
python-binance—exécutionBinance REST API python implementationpypi.org
pandas—exécutionAnalyse de donnéespypi.org
pandas_ta—exécutionAnalyse de donnéespypi.org
pandasai—exécutionAnalyse de donnéespypi.org
polars—exécutionAnalyse de donnéespypi.org
matplotlib—exécutionGraphiquespypi.org
seaborn—exécutionGraphiquespypi.org
plotly—exécutionGraphiquespypi.org
scikit-learn—exécutionAnalyse de donnéespypi.org
numpy—exécutionAnalyse de donnéespypi.org
mplfinance—exécutionGraphiquespypi.org
rich—exécutionLigne de commandepypi.org

11. Glossaire

Dépôt

Les fichiers source, la configuration et l’historique versionné d’un projet.

README

Le document d’entrée du dépôt, qui présente généralement son rôle et son installation.

Dépendance

Une bibliothèque, un outil ou un service nécessaire à la compilation ou à l’exécution d’un composant.

API

Une interface par laquelle des composants logiciels échangent des requêtes et des résultats. Une API n’utilise pas nécessairement HTTP.

HTTP

Un protocole de requête et réponse utilisé par les navigateurs et services web. Une requête comprend une méthode, un chemin, des en-têtes et parfois un corps.

Intégration continue

Des vérifications automatiques lors des changements de source, comme la compilation, les tests et l’analyse statique. Elles ne couvrent que ce qu’elles vérifient.

Mermaid

Un langage de diagrammes textuel. Les nœuds et liens décrivent un modèle ; le diagramme n’exécute pas le projet.

12. Références

  1. AlgoÉTS. (2026, 5 novembre). [Web page] github.com.
  2. 1.1_python_basic.ipynb. (2026, 5 novembre). [Web page] colab.research.google.com.
  3. AlgoETS. (2026, 5 novembre). 5.1_project_ema.ipynb. [Source file or documentation] github.com.
  4. AlgoETS. (2026, 5 novembre). Workshop1. [Software repository] github.com.
  5. AlgoETS. (2026, 5 novembre). Notebook de bases Python. [Source file or documentation] github.com.

Les sources sans date de publication indiquent la date de leur dernière vérification, le 5 novembre 2026. Les liens des fichiers conservent la révision inspectée lorsqu’elle est disponible.