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é.
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.
- 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
- Cloner https://github.com/AlgoETS/Workshop1.git et lancer pip install -r requirements.txt.
- Démarrer jupyter notebook, ou ouvrir 1.0-basic/1.1_python_basic.ipynb dans Google Colab depuis le lien du README.
- Parcourir 1.0-basic, 2.0-api et 3.0-data dans l'ordre.
- Ouvrir 5.0-project/5.1_project_ema.ipynb et remplacer YOUR_API_KEY par une clé Financial Modeling Prep.
- 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 :
| Étape | Notebooks |
|---|---|
| Environnement et infonuagique | 2 |
| Bases et notions avancées de Python | 2 |
| Lecture de réponses d’API | 1 |
| Nettoyage et exploration avec pandas | 1 |
| Visualisation | 2 |
| Projet final | 1 — 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
| Paquet | Version | Usage | Rôle | Registre |
|---|---|---|---|---|
requests | — | exécution | Client HTTP | pypi.org |
beautifulsoup4 | — | exécution | Extraction web et analyse | pypi.org |
lxml | — | exécution | Extraction web et analyse | pypi.org |
finnhub-python | — | exécution | Finnhub API | pypi.org |
binance | — | exécution | binance crypto exchange api client | pypi.org |
python-binance | — | exécution | Binance REST API python implementation | pypi.org |
pandas | — | exécution | Analyse de données | pypi.org |
pandas_ta | — | exécution | Analyse de données | pypi.org |
pandasai | — | exécution | Analyse de données | pypi.org |
polars | — | exécution | Analyse de données | pypi.org |
matplotlib | — | exécution | Graphiques | pypi.org |
seaborn | — | exécution | Graphiques | pypi.org |
plotly | — | exécution | Graphiques | pypi.org |
scikit-learn | — | exécution | Analyse de données | pypi.org |
numpy | — | exécution | Analyse de données | pypi.org |
mplfinance | — | exécution | Graphiques | pypi.org |
rich | — | exécution | Ligne de commande | pypi.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
- AlgoÉTS. (2026, 5 novembre). [Web page] github.com.
- 1.1_python_basic.ipynb. (2026, 5 novembre). [Web page] colab.research.google.com.
- AlgoETS. (2026, 5 novembre). 5.1_project_ema.ipynb. [Source file or documentation] github.com.
- AlgoETS. (2026, 5 novembre). Workshop1. [Software repository] github.com.
- 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.