Python dans le Trading Algorithmique - page 15

 

Télécharger, transformer et écrire des données dans Excel avec Python || Analyse des stocks avec Python Partie 6



Télécharger, transformer et écrire des données dans Excel avec Python || Analyse des stocks avec Python Partie 6

Bienvenue dans la sixième partie de ma série sur l'analyse des stocks avec Python. Dans la description de la vidéo, vous trouverez des liens vers les cinq vidéos précédentes, ainsi qu'un lien vers le référentiel GitHub contenant le code.

Dans la partie précédente, nous avons exploré différentes façons de tracer les cours de clôture pour les actions sélectionnées. Maintenant, dans la sixième partie, nous adopterons une approche différente pour obtenir des données et travailler avec des fichiers Excel. Nous allons créer une fonction appelée "get_return_data" qui prend au moins un ticker en entrée (plusieurs tickers peuvent être séparés par des virgules ou stockés dans un objet de collection Python). De plus, la fonction permet aux utilisateurs de spécifier une date et de choisir entre les prix de clôture ou ajustés. Les données seront enregistrées dans un fichier Excel et peuvent également être stockées dans une variable.

Pour commencer, nous devons configurer le client API. Comme précédemment, nous utiliserons l'API "données historiques de fin de journée". Vous devrez remplacer la variable "key" par votre propre clé API.

Ensuite, nous créons un DataFrame temporaire pour stocker les données téléchargées. Nous effectuons une boucle sur les tickers transmis à la fonction et utilisons un bloc try-except pour gérer les erreurs potentielles. Selon que l'utilisateur souhaite des prix de clôture ou de clôture ajustés, nous ajoutons la colonne correspondante du résultat de l'appel d'API à la colonne du ticker dans le DataFrame.

Une fois que nous avons téléchargé et stocké les données, nous pouvons effectuer toutes les transformations souhaitées. Dans ce cas, nous calculons le taux de rendement instantané à l'aide de NumPy et supprimons la première ligne. Nous calculons également la variation régulière en pourcentage à l'aide d'une méthode intégrée.

Enfin, nous écrivons les données dans un fichier Excel à l'aide de l'objet d'écriture pandas Excel dans un gestionnaire de contexte. Cette étape nécessite de fournir le nom du fichier et le format de date facultatif. Chaque variable est insérée dans le fichier "retours", et un message est imprimé pour indiquer l'achèvement de la tâche. La fonction renvoie les cours de clôture et peut être étendue pour renvoyer également d'autres données.

En testant la fonction avec quatre tickers, nous pouvons voir le fichier généré contenant les données téléchargées. Le fichier peut être ouvert dans Excel pour visualiser les données.

Cela conclut la sixième partie de la série. Dans la septième partie, nous verrons comment tracer les performances de plusieurs actions en un seul chiffre.

Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
  • 2022.06.23
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Python and Excel - Learn how to use Data API to download, transform and export data to...
 

Python pour l'analyse des actions : grille de performances de traçage de plusieurs titres w\matplotlib || Partie 7



Python pour l'analyse des actions : grille de performances de traçage de plusieurs titres w\matplotlib || Partie 7

Bienvenue dans la septième partie de ma série sur l'utilisation de Python pour l'analyse des stocks. Dans la description de la vidéo, vous trouverez des liens vers les six vidéos précédentes ainsi que le référentiel GitHub contenant le code.

Dans la sixième partie, nous avons développé une fonction pour télécharger des données, effectuer des transformations et les enregistrer dans un fichier Excel. Maintenant, dans la septième partie, nous allons nous concentrer sur le traçage des performances relatives de plusieurs actions sur un seul graphique.

Pour commencer, nous allons lire tous les fichiers dans un dossier spécifique. Dans ce cas, nous allons chercher dans le dossier "énergie". Nous allons ignorer tous les fichiers commençant par zéro.

À l'aide de la bibliothèque matplotlib, nous allons créer un objet sous-intrigue. Le nombre de lignes sera déterminé par le plafond de la longueur des fichiers divisé par quatre, car nous voulons afficher quatre graphiques par ligne. Nous allons agrandir la figure pour accueillir potentiellement de nombreux graphiques.

Ensuite, nous garderons une trace du nombre de graphiques ajoutés et utiliserons une boucle for imbriquée pour parcourir les lignes et les colonnes de la figure. Si nous atteignons la dernière ligne et qu'elle n'est pas pleine, nous gérerons l'exception en incrémentant le nombre.

Dans la boucle, nous lirons les cours de clôture de chaque fichier et transformerons les données en performances relatives. Nous allons tracer les performances relatives dans les axes correspondants et ajouter une ligne horizontale à 0. Pour formater les données en pourcentage, nous allons importer le module ticker de matplotlib.

Dans le bloc d'exception, nous n'entreprendrons aucune action, car nous savons que nous n'avons plus de données à tracer. Nous allons simplement passer et incrémenter le décompte pour passer au fichier suivant.

Une fois que toutes les données ont été tracées, nous afficherons le graphique.

En testant le code avec les fichiers du dossier "energy", nous pouvons voir le graphique résultant affichant les performances relatives de 21 titres sur environ un an.

Cela conclut la septième partie de la série. Dans la vidéo suivante, nous explorerons des coupes de données supplémentaires à partir de l'API de données historiques de fin de journée.
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
  • 2022.06.27
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacartyVid...
 

Télécharger la liste des actions sur le point d'annoncer des bénéfices ou des dividendes || Analyse des stocks avec Python Partie 8



Télécharger la liste des actions sur le point d'annoncer des bénéfices ou des dividendes || Analyse des stocks avec Python Partie 8

Bienvenue dans la huitième partie de ma série sur l'utilisation de Python pour l'analyse des stocks. Dans cette vidéo, nous approfondirons l'API de données historiques de fin de journée et explorerons des fonctionnalités supplémentaires au-delà de la récupération des prix. L'API est complète, et même si nous ne couvrirons pas tout, je vais vous montrer quelques exemples qui pourraient vous être utiles. La documentation fournie par l'API est complète et peut vous guider dans l'exploration de différents ensembles de données.

Tout d'abord, nous nous concentrerons sur l'obtention de données sur les bénéfices des entreprises déclarant cette semaine. Pour commencer, nous allons initialiser notre client API en transmettant notre clé API (remplacez-la par la vôtre). Nous téléchargerons ensuite les données et les stockerons dans un DataFrame.

La fonction que nous allons utiliser pour cette tâche ne nécessite aucun paramètre. Une fois que nous aurons le DataFrame, nous extrairons les symboles des entreprises déclarant leurs bénéfices cette semaine et les stockerons dans une liste.

Pour filtrer les données d'un échange spécifique, tel que les États-Unis, nous allons parcourir chaque ligne du DataFrame et vérifier si le symbole se termine par "nous". Les symboles boursiers sont appelés codes dans les données historiques de fin de journée et leurs terminaisons correspondent à la bourse à laquelle ils appartiennent. Nous ajouterons les symboles pertinents à notre liste, à l'exclusion des informations sur l'échange.

Après avoir parcouru toutes les lignes, nous imprimerons le nombre d'entreprises déclarant des bénéfices cette semaine et renverrons la liste des symboles pour une analyse plus approfondie.

Passons à autre chose, explorons comment récupérer les dividendes pour une date de détachement spécifique. Nous allons commencer par la date d'aujourd'hui. La configuration de la fonction sera similaire à la précédente, où nous créons un client API et téléchargeons les données dans un DataFrame.

La fonction que nous utiliserons cette fois-ci s'appelle get_bulk_market. À partir de cette fonction, vous pouvez obtenir divers points de données, y compris les cours de clôture pour l'ensemble d'un marché. Pour les dividendes, nous spécifierons les données qui nous intéressent en tant que "dividendes".

Après avoir effectué l'appel, nous renverrons le DataFrame résultant.

En testant cette fonction, nous allons récupérer les dividendes avec la date ex d'aujourd'hui. Le code imprimera les dividendes, en supposant les valeurs par défaut pour le marché américain et la date du jour.

Le DataFrame résultant affichera les dividendes avec leurs taux respectifs. Puisque nous regardons le marché américain, les dividendes seront en dollars américains. De plus, le DataFrame fournit des informations sur la fréquence des paiements de dividendes.

Cela conclut la huitième partie. Dans la neuvième partie, nous conclurons la première section en construisant un simple filtre.
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
  • 2022.07.05
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to Download List of Stocks that will announce earnings or dividends for a spec...
 

Comment créer un filtre de stock à l'aide d'une API || Analyse des stocks avec Python Partie 9



Comment créer un filtre de stock à l'aide d'une API || Analyse des stocks avec Python Partie 9

Ceci est la partie 9 de notre série sur l'analyse des stocks avec Python. Vous pouvez trouver des liens vers les vidéos précédentes dans la description, ainsi que le code sur GitHub.

Dans ce dernier segment de la section 1, nous allons explorer un exemple d'un stock screener. L'objectif est de créer un filtre simple qui analyse le plus haut sur 52 semaines, le prix actuel et le ratio cours/bénéfice de plusieurs titres. Cela nous aidera à identifier les titres pour une analyse plus approfondie.

Pour ce faire, nous utiliserons le flux fondamental de données historiques de fin de journée. Commençons par examiner les données que nous obtenons d'un appel à ce flux. Nous allons créer un objet client et récupérer des données fondamentales pour une sécurité spécifique, comme Apple. Cela nous donnera une grande base de données avec diverses informations, y compris des données financières, des bilans, etc. Nous pouvons explorer des sections spécifiques en utilisant des emplacements d'index.

Ensuite, nous nous concentrerons sur les aspects techniques de l'indice et utiliserons à la fois la bibliothèque d'aide aux données historiques de fin de journée et un point de terminaison pour télécharger en masse les cours de clôture du jour le plus récent. Nous allons stocker les données dans un bloc de données et réinitialiser l'index. Cet appel récupère les cours de clôture de tous les titres de la bourse américaine. Nous pouvons ensuite filtrer les données pour n'inclure que les titres qui nous intéressent.

Pour construire notre stock screener, nous allons créer un client et parcourir les symboles que nous voulons analyser. Nous remplirons un dictionnaire avec le maximum sur 52 semaines pour chaque titre. Si un titre ne dispose pas de cette information, nous l'ignorons et continuons la boucle.

Après avoir obtenu les données nécessaires, nous fusionnerons les cours de clôture, les plus hauts sur 52 semaines, et calculerons le ratio cours/bénéfice. Nous renverrons la trame de données résultante contenant les titres, leurs cours de clôture, leurs sommets et leurs ratios.

Pour tester notre filtre, nous allons récupérer les symboles du S&P 500 à l'aide de la fonction get_sp et imprimer le résultat. Cela montrera les cours de clôture, les sommets sur 52 semaines et les ratios pour les 10 premiers titres du S&P 500.

Dans la partie 10, nous approfondirons l'analyse des titres individuels alors que nous commençons à créer une classe à cette fin. Rejoignez-nous pour la prochaine partie pour en savoir plus sur l'analyse des titres au niveau individuel.

How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
  • 2022.07.18
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

Stock Analysis Python : Comment analyser automatiquement les actions avec Python || Partie 10



Stock Analysis Python : Comment analyser automatiquement les actions avec Python || Partie 10

Cela va être la partie 10 de ma série sur Python pour l'analyse des stocks. Vous pouvez trouver les liens vers les vidéos précédentes dans la description ci-dessous, ainsi qu'un lien vers le référentiel GitHub où tout le code est disponible. Dans cette partie, nous commencerons à nous concentrer sur des titres individuels plutôt que sur des bourses entières ou de grandes listes de symboles boursiers.

Pour commencer, j'ai déjà inclus les importations nécessaires pour cette partie, telles que datetime, matplotlib, numpy, pandas et seaborn. J'ai également défini une constante symbolique qui représente une date il y a environ un an, qui peut être modifiée par l'utilisateur à l'aide d'une date au format ISO.

Ensuite, j'écrirai une classe appelée "Stock" qui gérera les titres individuels. La classe sera initialisée avec des paramètres pour le symbole boursier, la clé API et la date (avec une valeur par défaut). De plus, cela permettra à l'utilisateur de spécifier un dossier dans lequel les données peuvent être enregistrées, avec une valeur par défaut de Aucun.

À l'intérieur de la classe, je définirai une méthode appelée "get_data" qui récupérera les données de stock. Il vérifiera d'abord si les données sont déjà disponibles dans le dossier spécifié en comparant le symbole aux fichiers disponibles. Si les données sont trouvées, elles seront lues dans un DataFrame et normalisées. Sinon, il récupérera les données à l'aide de l'API et les renverra en tant que DataFrame.

En initialisant une instance Stock, le symbole, la clé API, la date et les données seront stockés en tant que variables d'instance. Pour tester la fonctionnalité, je vais créer un objet Stock et imprimer les données.

Cela conclut la partie 10 de la série. Dans la partie 11, nous ajouterons d'autres transformations de données à la classe Stock.
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
  • 2022.07.21
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Create Stock class in Python to automate stock data analysis✅ Please SUBSCRIBE:https...
 

Python pour l'analyse des actions : calculez et représentez automatiquement les rendements et la volatilité des actions || Partie 11



Python pour l'analyse des actions : calculez et représentez automatiquement les rendements et la volatilité des actions || Partie 11

Bienvenue dans la partie 11 de ma série sur Python pour l'analyse des stocks. Vous pouvez trouver les liens vers les vidéos précédentes et le référentiel GitHub dans la description ci-dessous.

Dans la partie 10, nous avons créé une classe simple pour initialiser un symbole boursier et récupérer ses données soit à partir d'un dossier local, soit via une API. Dans cette partie, nous allons approfondir les transformations de données et commencer à tracer les données.

Tout d'abord, je vais ajouter une nouvelle méthode appelée "calculate_volatility" qui prend un DataFrame en entrée. Pour intégrer cette méthode à la méthode "get_data", je vais la modifier en conséquence. Dans la méthode "calculate_volatility", j'ajouterai plusieurs colonnes au DataFrame. La première colonne sera les rendements, calculés comme la différence logarithmique des prix de clôture avec une précision de quatre décimales.

Ensuite, je vais calculer la volatilité glissante, qui représente l'écart type des rendements sur une période de 21 jours. J'arrondirai le résultat à quatre décimales. De plus, j'inclurai les colonnes de changement absolu, d'écart haut-bas et de changement attendu, avec les arrondis appropriés.

Pour analyser l'ampleur du mouvement du stock, je vais calculer une colonne appelée "ampleur" représentant le changement réel divisé par le changement attendu, arrondi à deux décimales. Enfin, j'inclurai une colonne de valeur absolue à des fins de représentation graphique potentielle.

Je supprimerai les lignes initiales contenant les valeurs NaN résultant des calculs, puis j'appellerai la méthode "calculate_volatility" dans la méthode "get_data".

Testons le code en initialisant une instance Stock et en imprimant le DataFrame.

Maintenant, traçons la distribution de retour en créant un histogramme. Je vais déterminer les dates de début et de fin, puis tracer l'histogramme avec 20 bacs et une couleur de bord. Pour enrichir le titre, j'utiliserai un surtitre à deux lignes, en précisant la plage de dates. Enfin, je vais afficher l'intrigue.

Exécutons le code et examinons l'histogramme, qui donne un aperçu de la distribution du rendement des actions au cours de l'année écoulée.

Cela conclut la partie 11. Dans la partie 12, nous continuerons à travailler sur des tracés supplémentaires avant de passer à d'autres transformations de données.
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
  • 2022.07.25
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

Comment calculer et normaliser les rendements boursiers attendus || Analyse des stocks Python Partie 12



Comment calculer et normaliser les rendements boursiers attendus || Analyse des stocks Python Partie 12

Bienvenue dans la partie 12 de ma série sur Python pour l'analyse des stocks. Vous pouvez trouver le code et les liens vers d'autres vidéos dans la description ci-dessous.

Dans la partie 11, nous avons effectué des transformations de données de base dans notre classe Stock en ajoutant des colonnes au DataFrame et en traçant la distribution des rendements. Dans cette vidéo, nous continuerons avec plus d'options de traçage qui peuvent être utiles pour l'analyse des stocks.

Pour commencer, traçons la volatilité de l'action. La configuration sera similaire à ce que nous avons fait auparavant, y compris le super titre et les dates de début et de fin. Nous allons créer un nuage de points, où l'axe des x représente les rendements et l'axe des y représente l'amplitude absolue du changement des écarts-types. Nous ajouterons des lignes horizontales et verticales pour référence.

Exécutons le code et examinons le nuage de points de la volatilité. Nous pouvons observer la plage de variations en pourcentage et le nombre d'écarts-types. Par exemple, au cours de la dernière année, il n'y a pas eu de changements au-delà de trois écarts-types et demi.

Ensuite, traçons la performance de l'action. Encore une fois, la plupart du code reste le même, nous pouvons donc le copier et faire quelques ajustements. Au lieu d'un nuage de points, nous allons créer un graphique linéaire pour suivre les performances relatives au fil du temps. Nous allons diviser les cours de clôture par le cours de clôture le premier jour, soustraire 1 pour obtenir la variation en pourcentage, multiplier par 100 et le formater en pourcentage sur l'axe des ordonnées. Nous garderons la ligne horizontale pour référence.

L'exécution du code affichera le graphique linéaire de la performance de l'action. Nous pouvons voir comment l'action s'est comportée au cours de la période donnée, en la comparant au prix de départ. Dans ce cas, on peut observer une tendance positive suivie d'une baisse ces derniers mois.

N'hésitez pas à personnaliser la taille de la figure et à explorer d'autres options de tracé en fonction de vos besoins.

Cela conclut la partie 12. Dans la partie 13, nous nous plongerons dans des transformations de données supplémentaires.
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
  • 2022.07.28
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

Python pour l'analyse des actions : filtrer les données par expiration et volatilité des options || Partie 13



Python pour l'analyse des actions : filtrer les données par expiration et volatilité des options || Partie 13

Bienvenue dans la partie 13 de ma série sur Python pour l'analyse des stocks. Vous pouvez trouver le code et des liens vers d'autres vidéos sur GitHub dans la description ci-dessous.

Dans la partie 12, nous avons exploré diverses parcelles qui pourraient être utiles pour l'analyse des stocks. Dans cette vidéo, nous allons étendre notre classe Stock en ajoutant quelques méthodes pour examiner différentes tranches de données.

Commençons par écrire une méthode pour identifier les jours où les options expirent. Ce sont les troisièmes vendredis de chaque mois. Nous appellerons cette méthode "option_expiration". Pour ce faire, nous allons créer un masque à l'aide de la fonction np.where de NumPy. Nous allons préciser trois conditions : l'indice des données doit être supérieur au 14 (troisième vendredi au plus tôt possible), inférieur au 21 (troisième vendredi au plus tard possible) et correspondre à un vendredi (jour de la semaine 4). Nous renverrons les données avec ce masque appliqué, résultant en un DataFrame qui n'inclut que les vendredis d'expiration.

Ensuite, nous écrirons notre méthode finale, qui détermine combien de temps la faible volatilité a duré depuis les deux derniers mouvements d'écart type. Nous appellerons cette méthode "low_vol_duration". Pour implémenter cela, nous allons ajouter une colonne aux données appelées "jours de moins de 2 écarts types" et l'initialiser avec des zéros. Ensuite, nous allons parcourir les données et vérifier l'ampleur de chaque ligne. Si la magnitude est inférieure à deux, nous incrémenterons le nombre et mettrons à jour la ligne correspondante dans la colonne " jours inférieurs à 2 écarts types". Si la magnitude est de deux ou plus, nous remettrons le décompte à zéro. Enfin, nous renverrons le DataFrame contenant uniquement les lignes avec deux déplacements d'écart type, indiquant le nombre de jours entre chaque déplacement.

Exécutons le code et examinons les résultats. Nous pouvons voir les jours d'expiration des options, qui se situent entre le 15 et le 21 de chaque mois. De plus, nous avons la durée de faible volatilité, indiquant le nombre de jours écoulés depuis les deux précédents mouvements d'écart type. Par exemple, il y a environ un an, nous avions passé deux jours depuis les deux précédents mouvements d'écart type, suivis de périodes de 32, 41, etc.

Cela conclut la partie 13 et conclut la section 2. Je vous encourage à continuer à développer et à étendre la classe Stock en fonction de vos besoins. Dans la partie 14, nous verrons comment regrouper nos fonctions dans un package Python pouvant être installé à l'aide de pip.
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
  • 2022.08.15
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

Analyse des stocks Python : créez et publiez vos propres packages Python personnalisés avec Pip dans VS Code


Analyse des stocks Python : créez et publiez vos propres packages Python personnalisés avec Pip dans VS Code

Dans cette vidéo, je vais vous guider à travers le processus d'empaquetage de votre code Python dans une bibliothèque qui peut être installée à l'aide de pip. Il s'agit de la dernière vidéo de ma série sur Python pour l'analyse des stocks, où nous avons abordé des sujets tels que la récupération de données, la transformation de données, la visualisation et le filtrage de données. Vous pouvez trouver des liens vers les vidéos précédentes dans la description ci-dessous, ainsi qu'un lien vers le référentiel GitHub.

L'objectif de l'empaquetage de notre code est de le rendre plus pratique à utiliser et à réutiliser dans des projets Python spécifiques. Bien que je vais démontrer le processus comme si nous publions le code sur PyPI (Python Package Index), il est important de noter que le code peut ne pas être prêt pour PyPI tout de suite. Nous allons d'abord le configurer et l'installer localement pour comprendre le processus. Cependant, à l'avenir, vous pourrez modifier le code et créer quelque chose que vous aimeriez partager avec un public plus large.

Le processus d'emballage peut varier en fonction de la complexité du projet. Dans notre cas, puisque notre code se compose de deux modules, le processus est relativement simple. Voici un aperçu des étapes :

  1. Créez un dossier parent pour stocker le code source et d'autres fichiers.
  2. Dans le dossier parent, créez un dossier "source" et un dossier "tests". Le dossier source contiendra le package réel une fois installé.
  3. Copiez les deux fichiers de code des segments précédents dans le dossier source.
  4. Créez un fichier à double trait de soulignement " init .py" dans le dossier source pour permettre l'importation des modules.
  5. Créez un fichier de licence pour protéger votre code et minimiser les risques juridiques.
  6. Ajoutez un fichier README pour fournir de la documentation et servir de page d'accueil sur GitHub ou PyPI.
  7. Créez des fichiers de configuration qui définissent comment Python interagit avec votre code.
    • Créez un fichier "pyproject.toml" pour le système de construction et spécifiez les dépendances.
    • Créez un fichier "setup.cfg" pour fournir des métadonnées sur votre projet (nom, version, description, licence, etc.) et spécifier les dépendances du package.

Une fois que vous avez configuré les dossiers et les fichiers de configuration, vous pouvez installer la bibliothèque localement à l'aide de pip. Ouvrez la ligne de commande, accédez au dossier parent et exécutez la commande "pip install .". Cela installera la bibliothèque, la rendant accessible depuis n'importe quel environnement Python.

Après l'installation, vous pouvez tester la librairie en lançant Python et en important le module "analyze". Vous pouvez également utiliser la fonction "help" pour afficher les métadonnées sur le package.

N'oubliez pas que le processus d'empaquetage peut évoluer avec le temps et qu'il existe plusieurs façons d'emballer le code pour l'installation. Les étapes que j'ai décrites ici sont un point de départ, et vous pouvez explorer des options supplémentaires à mesure que vos projets deviennent plus complexes.

J'espère que ce tutoriel vous aidera à démarrer avec la création de vos propres packages Python.

Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
  • 2022.11.13
  • www.youtube.com
​ @Matt Macarty #python #trading #algotrading ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacarty✅ Visit Lumiwealth ...
 

Backtesting et trading en direct avec Interactive Brokers utilisant Python.


Backtesting et trading en direct avec Interactive Brokers utilisant Python.

Le Dr Julio commence la session en présentant une introduction au trading algorithmique et à ses avantages. Il explique que le trading algorithmique permet aux traders de réduire la pression de la surveillance constante du marché, de minimiser les erreurs humaines et de créer plus de temps libre pour d'autres activités. Il met en évidence les quatre principales composantes du trading algorithmique, à savoir les courtiers, Internet, les programmes et les ordinateurs.

L'attention se porte ensuite sur Interactive Brokers (IB), qui est présenté comme la plus grande plate-forme de négociation électronique aux États-Unis. Le Dr Julio explique qu'IB propose une technologie API avancée qui permet aux commerçants d'utiliser des programmes pour négocier, offrant des prix compétitifs et un accès aux marchés mondiaux. Il souligne que les programmes Python peuvent être utilisés pour échanger de manière algorithmique avec IB.

Ensuite, le Dr Julio présente un logiciel Python appelé Hybrid Fat Pack, qui permet aux traders de mettre en place une plateforme de trading algorithmique sur leurs ordinateurs locaux ou cloud. Il souligne le principal avantage de cette plate-forme, qui est la capacité de protéger la propriété intellectuelle en n'ayant pas besoin de divulguer ou de télécharger des informations sur Internet. Les traders peuvent également effectuer des backtesting et du trading en direct en un seul endroit, gérer plusieurs comptes et négocier avec différents courtiers à l'aide de divers packages Python tels que TensorFlow et Scikit-learn. Il fournit des instructions sur la façon de télécharger et de configurer la plate-forme Hybrid Fat Pack à partir du site Web d'AI Bridge PI.

Ensuite, le Dr Julio explique les étapes nécessaires pour configurer les outils de backtesting et de trading en direct avec Interactive Brokers en utilisant Python. Il conseille aux utilisateurs de télécharger et de sauvegarder les outils nécessaires, notamment Interactive Brokers, les terminaux officiels IP et Python. Il fournit également des liens vers des didacticiels, de la documentation et un forum communautaire pour une assistance supplémentaire. Le Dr Julio montre comment configurer WS (Workstation) et IB Gateway et montre comment ouvrir un environnement Python à l'aide d'Anaconda. Il exécute un code Python pour présenter le processus de configuration et fournit des conseils sur l'organisation des fenêtres pour une meilleure productivité.

L'orateur explique ensuite les premières étapes de l'utilisation d'Interactive Brokers avec Python. Il demande aux utilisateurs d'ouvrir un fichier nommé "Romina Eva" et de localiser leur code de compte, qui doit être mis à jour dans le fichier en conséquence. L'orateur montre comment choisir et exécuter un code Python, en initialisant un trader et en affichant le solde du compte, la valeur en espèces, la valeur du portefeuille et les commandes en attente. Les utilisateurs peuvent négocier divers titres tels que des actions, des options, des contrats à terme et le Forex en utilisant Hybrid Fat Pack. L'orateur mentionne que les commandes passées ne peuvent pas être manipulées et sont répertoriées avec un identifiant de permis.

Le processus de récupération des données de prix en temps réel et historiques d'Interactive Brokers est démontré. En commentant/décommentant des lignes de code spécifiques, l'orateur montre comment récupérer des données en temps réel ou historiques et les imprimer dans un format convivial. La structure du code et trois fonctions essentielles du code Python sont expliquées, y compris la fonction "initialize" qui s'exécute au début, et la fonction "handle data" où les décisions de trading sont prises et exécutées toutes les 2 secondes par défaut.

Le Dr Julio explique comment prendre des décisions commerciales à l'aide de Python et d'Interactive Brokers. Les utilisateurs peuvent configurer le code pour prendre des décisions à des horaires fixes, que ce soit toutes les secondes, toutes les heures, tous les jours ou à des heures précises. Il introduit trois fonctions cruciales pour créer des décisions de trading : l'initialisation, la gestion des données et la passation d'une commande. Pour illustrer le processus, des exemples de codes sont fournis pour récupérer les données historiques et imprimer le cours vendeur de l'ETF I Spears. L'orateur utilise le cadre de données de Panda pour récupérer et imprimer des données historiques, montrant comment Python peut être utilisé pour les décisions commerciales.

L'orateur discute de la passation d'ordres à l'aide de variables globales et de prix en temps réel, en donnant des exemples d'achat d'actions. Interactive Brokers est utilisé pour rechercher des titres, appliquer des filtres tels que le principal marché américain et un prix supérieur à 100 $, et utiliser la fonction de résultat de cat scan pour obtenir des informations pertinentes. Les étapes pour construire une stratégie algo sont expliquées, y compris l'identification du contrat, la fréquence des décisions de négociation à l'aide de données de gestion ou de fonctions planifiées, la demande de données historiques et le choix du type de commande. Un exemple de stratégie de réversion à la clôture quotidienne est présenté, où les décisions de négociation sont prises en fonction du cours de clôture de la veille. Une fonction de planification est définie pour s'exécuter quotidiennement à une heure précise afin de déclencher le processus de prise de décision et les actions ultérieures.

La vidéo couvre deux exemples de stratégies de trading en Python. Le premier exemple illustre une stratégie de base basée sur les cours de clôture de deux jours consécutifs. Si la clôture d'aujourd'hui est supérieure à celle d'hier, toutes les positions sont vendues ; sinon, SPY est acheté. Le code est expliqué et est relativement simple. La vidéo introduit ensuite le concept de backtesting et présente un exemple plus avancé d'une stratégie de croisement de moyenne mobile. Le processus d'application d'une stratégie aux données historiques et d'évaluation de ses performances est discuté. Le code de cette stratégie est expliqué et reste simple. La vidéo couvre également la récupération et le traitement des données, ainsi que l'analyse des résultats des tests et la visualisation des valeurs du portefeuille.

Le Dr Julio discute du processus de backtesting et de trading en direct avec Interactive Brokers utilisant Python. Il explique le mode par défaut d'exécution de la fonction de gestion des données toutes les minutes à des fins de test et l'importance d'avoir un plan d'injection de données historiques. Il détaille comment fournir des données minute par minute et quotidiennes au code et comment spécifier le délai et la fréquence des backtesting avec Interactive Brokers. Un exemple de code est présenté, montrant comment exécuter un backtester, récupérer et gérer les informations de compte, et vérifier le dossier de sortie pour le solde du compte et la valeur de rachat.

L'intervenant insiste sur l'intérêt de fournir des données historiques fournies par l'utilisateur pour améliorer les performances du code. Bien que les données de simulation exactes d'Interactive Brokers soient nécessaires à des fins de débogage, demander des informations inutiles peut prendre du temps. Le Dr Julio suggère de ne fournir qu'une partie des données historiques ou d'utiliser des données aléatoires, ce qui peut améliorer considérablement les performances du code. Il montre comment fournir des données historiques à partir d'un fichier CSV local, spécifier la plage de temps et le type de données souhaités, et exécuter des tests plus rapidement et plus efficacement à l'aide d'une liste de temps personnalisée et du fournisseur de données de « rendu ».

Le Dr Julio discute de l'analyse des performances et de son importance dans l'évaluation des performances d'une stratégie de trading algorithmique. Il explique le besoin de données historiques pour tester et affiner le code, et comment un graphique d'analyse des performances peut calculer des variables telles que le ratio de Sharpe pour faciliter ce processus. Une fois à l'aise avec les résultats du backtesting, l'orateur conseille de passer à un compte papier pour exécuter la stratégie par rapport aux conditions réelles du marché. Il montre également comment utiliser iBridgePy pour gérer plusieurs comptes, ce qui est crucial pour les gestionnaires de fonds.

Le Dr Julio conclut en soulignant la flexibilité et la nature conviviale du logiciel Hybrid Fat Pack, ce qui en fait un outil puissant pour le trading algorithmique.

  • 00:00:00 Le Dr Julio donne une introduction sur le trading algorithmique et les courtiers interactifs, suivi d'une explication d'une stratégie de trading simple appelée "Daily Close Reverse". Il explique la mise en œuvre de cette stratégie à l'aide d'iBridgePy et de backtesting à l'aide de données historiques fournies par Interactive Brokers ou d'autres fournisseurs de données. Une fois le backtesting terminé, il est analysé pour les résultats potentiels, et si la stratégie fonctionne bien, la stratégie de trading en direct est mise en œuvre à l'aide d'iBridgePy, et les commandes sont passées sur des comptes martillo. Le Dr Julio souligne qu'il s'agit d'une caractéristique essentielle pour les gestionnaires de fonds spéculatifs.

  • 00:05:00 L'orateur parle des avantages du trading algorithmique, qui incluent moins de pression due à une surveillance constante du marché, moins d'erreurs humaines et plus de temps libre. Les quatre principaux composants du trading algorithmique sont les courtiers, Internet, les programmes et les ordinateurs. L'orateur aborde ensuite Interactive Brokers (IB), qui est une LLC et la plus grande plate-forme de négociation électronique aux États-Unis. IB propose une technologie API avancée qui permet aux commerçants d'utiliser des programmes pour négocier, offrant des prix compétitifs et un accès au marché mondial. Pour trader de manière algorithmique avec IB, les traders peuvent utiliser des programmes Python et les connecter à IB pour commencer à trader.

  • 00:10:00 L'orateur présente un logiciel Python appelé Hybrid Fat Pack, qui permet aux traders de mettre en place une plateforme de trading algo sur leurs ordinateurs locaux ou cloud. Le principal avantage de l'utilisation de cette plate-forme est que les commerçants peuvent protéger leurs propriétés intellectuelles, car ils n'ont pas besoin de divulguer ou de télécharger des informations sur Internet comme le font d'autres concurrents. De plus, les commerçants peuvent tester et échanger en direct en un seul endroit, gérer plusieurs comptes et échanger avec différents courtiers en utilisant n'importe quel package Python, y compris TensorFlow et Scikit-learn. Le conférencier fournit également des instructions sur la configuration de la plate-forme, qui peuvent être téléchargées sur le site Web d'AI Bridge PI.

  • 00:15:00 Le conférencier explique les étapes nécessaires pour mettre en place les outils nécessaires au backtesting et au trading en direct avec Interactive Brokers utilisant Python. La première étape consiste à télécharger et à enregistrer les outils nécessaires, notamment Interactive Brokers, les terminaux officiels IP et Python. Le conférencier fournit également des liens vers des didacticiels, de la documentation et un forum communautaire qui fournissent des informations utiles aux utilisateurs. Le conférencier donne ensuite une démonstration sur la configuration de la passerelle WS et IB avant de montrer comment ouvrir un environnement Python à l'aide d'Anaconda et exécuter un code Python. La section se termine par des conseils sur l'organisation des fenêtres pour une meilleure productivité.

  • 00:20:00 L'orateur explique les étapes initiales requises pour utiliser Interactive Brokers avec Python en ouvrant un fichier nommé « Romina Eva ». L'utilisateur doit trouver son code de compte, puis modifier le code de compte dans le fichier pour refléter son propre compte. L'orateur montre comment choisir un code Python et l'exécuter, puis montre comment initialiser un trader et afficher le solde du compte, la valeur en espèces, la valeur du portefeuille et les commandes en attente. L'utilisateur peut négocier des actions, des options, des contrats à terme, du Forex et d'autres contrats en utilisant un chemin hybride. Si l'utilisateur passe des commandes qui ne peuvent pas être manipulées, elles seront répertoriées avec un ID de permis.

  • 00:25:00 Le présentateur montre comment exécuter un pont entre Python et Interactive Brokers pour obtenir des données de prix en temps réel et historiques. En commentant des lignes de code spécifiques, le présentateur montre comment récupérer des données en temps réel ou historiques et les imprimer de manière simple. Le présentateur explique ensuite la structure du code et les trois fonctions de base utilisées dans le code Python, y compris la fonction "initialize", qui s'exécute au début de l'exécution du code, et la fonction "handle data", où les décisions de trading sont prises et s'exécutent chaque 2 secondes par défaut.

  • 00:30:00 Le conférencier explique comment utiliser Python pour prendre des décisions commerciales avec Interactive Brokers. En configurant le code, les utilisateurs peuvent définir un calendrier fixe pour prendre des décisions toutes les secondes, toutes les heures, tous les jours ou à des heures précises. En outre, le conférencier présente trois fonctions de base qui sont essentielles à la création de décisions commerciales, notamment l'initialisation d'une fonction, la gestion des données et la passation d'une commande. Pour illustrer le processus, l'orateur fournit des exemples de codes qui récupèrent les données historiques et impriment le prix demandé de l'ETF I Spears. En utilisant le cadre de données de Panda, l'orateur est capable de récupérer des données historiques et de les imprimer, démontrant ainsi comment Python peut être utilisé pour prendre des décisions commerciales.

  • 00:35:00 Le présentateur explique comment passer des ordres en utilisant des variables globales, des prix en temps réel et des exemples pour acheter des actions. Le présentateur présente également l'utilisation d'Interactive Brokers pour rechercher des titres, ajouter des filtres tels que le marché majeur américain et un prix supérieur à 100 $, et utiliser la fonction résultat de l'analyse du chat pour obtenir des informations pertinentes. Il explique ensuite les étapes de la construction d'une stratégie algo, qui comprend l'identification du contrat, la fréquence des décisions de négociation à l'aide de données de gestion ou d'une fonction planifiée, la demande de données historiques et le choix du type d'ordre. Le présentateur donne un exemple de stratégie de réversion à la clôture quotidienne, qui consiste à prendre des décisions de négociation en fonction du cours de clôture de la veille. Il définit également une fonction de planification à exécuter tous les jours à une heure précise pour déclencher la fonction quotidienne où les décisions et les actions sont prises.

  • 00:40:00 La vidéo présente deux exemples de stratégies de trading en Python. Le premier exemple utilise une stratégie de base basée sur les cours de clôture de deux jours, où si la clôture d'aujourd'hui est supérieure à celle d'hier, vendez toutes les positions, sinon, achetez SPY. Le code est ensuite expliqué et est assez simple. La vidéo passe ensuite au concept de backtesting, et un exemple plus avancé d'une stratégie de croisement de moyenne mobile est détaillé. Le processus d'application d'une stratégie aux données historiques pour voir dans quelle mesure elle estime les résultats commerciaux est discuté. Le code de cette stratégie est expliqué et reste assez simple. La vidéo explique également comment récupérer et traiter ces données, ainsi que comment analyser les résultats des tests et les afficher dans les valeurs du portefeuille.

  • 00:45:00 L'orateur discute du processus de backtesting et de trading en direct avec Interactive Brokers utilisant Python. Ils commencent par expliquer le mode par défaut d'exécution des données de poignée toutes les minutes pour les tests et la nécessité d'un plan d'injection de données historiques. Le conférencier explique ensuite comment fournir des données minute par minute et quotidiennes à votre code. Ils expliquent également comment indiquer à Interactive Brokers le délai et la fréquence des backtests. L'orateur montre un exemple de code d'exécution d'un backtester et de récupération et de gestion des informations de compte et comment vérifier le dossier de sortie pour le solde du compte et la valeur de rachat.

  • 00: 50: 00 L'orateur discute des avantages de fournir des données historiques par l'utilisateur pour améliorer les performances du code. L'orateur explique qu'à des fins de débogage, des données de simulation exactes d'Interactive Brokers (IB) pour chaque test sont nécessaires, mais demander beaucoup d'informations est inutile et fait perdre beaucoup de temps. Parfois, seule une partie des données historiques est requise et fournir des données aléatoires peut suffire. Cela peut considérablement améliorer les performances de son code. L'orateur montre comment fournir des données historiques à partir d'un fichier CSV local et comment spécifier la plage de temps souhaitée et le type de données nécessaires. De plus, le conférencier montre comment exécuter des tests beaucoup plus rapidement et plus efficacement en spécifiant une liste de temps personnalisée et en utilisant le fournisseur de données "render".

  • 00: 55: 00 L'orateur discute de l'analyse des performances et de la manière de l'utiliser pour analyser les performances de votre stratégie de trading algorithmique. Pour commencer, des données historiques sont nécessaires pour tester et affiner votre code, et l'orateur explique comment utiliser un tableau d'analyse des performances pour calculer des variables telles que le ratio de Sharpe pour faciliter ce processus. Une fois que vous êtes à l'aise avec les résultats de votre backtesting, vous pouvez passer à un compte papier pour exécuter votre stratégie par rapport aux conditions réelles du marché. Enfin, le conférencier montre comment utiliser I Bridge PY pour gérer plusieurs comptes, une fonctionnalité importante pour les gestionnaires de fonds. Dans l'ensemble, les moyennes et le logiciel sont flexibles et faciles à utiliser, ce qui en fait un outil puissant pour le trading algorithmique.
Backtesting and live trading with Interactive Brokers using Python.
Backtesting and live trading with Interactive Brokers using Python.
  • 2019.11.15
  • www.youtube.com
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...