Python pour traders et investisseurs : des données de prix au backtest
Apprenez à mettre en place un environnement de recherche Python, à charger et nettoyer des données de prix avec pandas, à calculer correctement rendements et indicateurs, et à construire, mesurer et relire vos propres backtests en code.
Cours en autoformation Cours en autoformation : leçons écrites, vidéos et supports téléchargeables pour apprendre en autonomie. Il n'y a ni suivi, ni évaluation, ni retour individuel, ni tutorat. Les quiz d'auto-évaluation sont corrigés automatiquement dans votre navigateur — nous ne voyons pas vos résultats.
Les 13 leçons gratuites
Avant de commencer
- Compréhension des notions de backtesting telles que le biais d'anticipation, les coûts et les métriques de performance (comme dans le cours Trading systématique et backtesting)
- Connaissance des moyennes mobiles, du RSI et de l'ATR (comme dans le cours L'analyse technique approfondie)
- Un ordinateur sur lequel vous pouvez installer des logiciels ; aucune expérience préalable de la programmation n'est requise
Ce que vous saurez faire
- Mettre en place un environnement Python isolé avec pandas, numpy, matplotlib et Jupyter, et le garder reproductible
- Charger, nettoyer et ajuster des données de prix issues de fichiers et d'API gratuites, et les rééchantillonner dans d'autres unités de temps
- Calculer les rendements simples et logarithmiques, le rendement et la volatilité annualisés, ainsi que les indicateurs standard sous forme de fonctions vectorisées
- Construire un backtest vectorisé et un backtest événementiel avec un timing, des coûts, des stops et un dimensionnement des positions corrects
- Coder et tester unitairement des métriques de performance telles que le CAGR, le drawdown maximal, le Sharpe et le profit factor
- Automatiser un script de watchlist quotidienne et relire un notebook de recherche à la recherche de biais d'anticipation et de surapprentissage
Leçons de ce cours
Mettre en place un environnement de recherche : Python, environnements virtuels, Jupyter et VS Code
Installez Python, créez un environnement de projet isolé, ajoutez pandas, numpy et matplotlib, et exécutez votre premier calcul dans un notebook.
Les bases de Python pour la finance en une séance : types de données, listes, dictionnaires, boucles, fonctions et messages d'erreur
Apprenez le minimum de Python dont un trader a besoin : nombres, chaînes, listes, dictionnaires, boucles, fonctions et lecture d'un traceback.
Les fondamentaux de pandas : Series, DataFrames, le DatetimeIndex, sélection et filtrage, et rééchantillonnage des barres journalières en hebdomadaires
Comprenez les Series et les DataFrames, indexez les données de prix par date, sélectionnez des lignes avec loc et iloc, filtrez avec des masques booléens et agrégez des barres journalières en barres hebdomadaires.
Charger des données de prix : fichiers CSV et API gratuites, prix ajustés et non ajustés, valeurs manquantes et fuseaux horaires
Lisez des fichiers de prix et des téléchargements d'API dans un DataFrame propre, comprenez le fonctionnement des ajustements pour splits et dividendes, et traitez correctement les trous et les fuseaux horaires.
Les rendements en code : rendements simples ou logarithmiques, rendements cumulés, rendement et volatilité annualisés, et fenêtres glissantes
Calculez des rendements simples et logarithmiques avec pandas, composez-les correctement, annualisez rendement et volatilité, et construisez des statistiques glissantes.
Les indicateurs en code : SMA, EMA, RSI, ATR et bandes de Bollinger vectorisés, vérifiés par rapport à une plateforme graphique
Écrivez des fonctions pandas vectorisées pour les cinq indicateurs les plus utilisés, et découvrez pourquoi leurs valeurs peuvent différer de celles d'une plateforme graphique et comment les réconcilier.
Un backtest vectorisé : signaux, positions, décalage pour éviter le biais d'anticipation, coûts de transaction et courbe de capital
Construisez dans pandas un backtest vectorisé complet d'une règle de moyenne mobile, avec le décalage des positions, les coûts par trade, la courbe de capital et une comparaison avec un indice de référence.
Un backtest événementiel : un moteur en boucle avec stops ATR, dimensionnement des positions et liste de trades en R-multiples
Construisez en Python une boucle de backtest barre par barre qui dimensionne les positions selon le risque mesuré par l'ATR, respecte les stops, gaps compris, et enregistre chaque trade en R-multiples.
Les métriques de performance sous forme de fonctions réutilisables : CAGR, drawdown, Sharpe, Sortino, profit factor et leurs tests unitaires
Écrivez un petit module de métriques avec une annualisation correcte, ajoutez des versions glissantes et validez les fonctions avec pytest par rapport à des valeurs calculées à la main.
Des graphiques pour l'analyse : prix avec indicateurs, graphiques de capital et de drawdown, distributions de rendements et export des figures
Utilisez l'interface figure-et-axes de matplotlib pour construire les quatre graphiques dont tout rapport de backtest a besoin, lisez-les correctement et exportez-les en qualité impression.
L'analyse de portefeuille avec pandas : matrices de corrélation et de covariance, volatilité d'un portefeuille pondéré et simulation de rééquilibrage
Calculez des matrices de covariance et de corrélation annualisées à partir des rendements, déduisez avec NumPy la volatilité du portefeuille et les contributions au risque, et simulez la dérive face à un rééquilibrage calendaire.
Automatiser une watchlist quotidienne : un script planifié qui récupère les données, calcule les signaux et rédige un rapport, et les pièges des clés d'API et des limites de requêtes
Transformez le code d'un notebook en un script robuste en ligne de commande, avec configuration, journalisation, nouvelles tentatives avec temporisation croissante, gestion sûre des clés d'API et planificateur, et produisez un fichier de rapport quotidien.
Un projet complet de notebook de recherche, des données au rapport, avec une liste de contrôle de revue de code contre le biais d'anticipation et le surapprentissage
Organisez une étude de stratégie complète sous forme de projet reproductible, menez-la des données brutes à un résultat rédigé, et relisez le code avec une liste de contrôle qui repère les erreurs flatteuses pour les backtests.
Prop firms, comptes financés et trading en tant qu'activité professionnelle
Poursuivez avec Prop firms, comptes financés et trading en tant qu'activité professionnelle pour découvrir comment une approche testée s'inscrit dans les règles d'évaluation, l'allocation du capital et la dimension entrepreneuriale du trading.
Voir le programme du cours