Cherchez dans nos forums :

Yfinance : développez vos scripts Python pour suivre la bourse

Utiliser Yfinance en Python pour l'analyse boursière

Cette discussion porte sur l'utilisation de Yfinance, un package Python permettant de récupérer des données boursières de Yahoo Finance. Les membres partagent leurs expériences et discutent des avantages et des inconvénients de cet outil par rapport à d'autres solutions comme Google Sheets.

BuffetNY introduit le sujet en présentant Yfinance et en fournissant un exemple de script Python pour récupérer des informations sur les actions, notamment le cours, les dividendes et les informations générales. Il souligne l'importance de la connaissance en informatique et des outils nécessaires (Python, un environnement de développement comme PyCharm) ainsi que les limites du package concernant la fiabilité des données historiques sur les dividendes. Il met en avant le potentiel d'automatisation et la flexibilité offertes par Python pour le traitement de ces données.

Selden confirme l'utilité de Yfinance comme outil gratuit et complet pour récupérer et traiter un grand volume d'informations. Il prévient cependant contre une dépendance exclusive à cet outil, en raison de sa gratuité et de potentielles instabilités. Il note également la possibilité d'erreurs dans la récupération des données fondamentales lors de nombreuses requêtes.

JemappelleArnaud soulève la question de la pertinence de Yfinance par rapport à Google Sheets avec ses fonctions IMPORTXML() et IMPORTDATA(). Il met en avant la simplicité et l'accessibilité de Google Sheets, fonctionnant depuis un simple navigateur sans nécessiter d'installation d'applications. Les autres participants soulignent alors les avantages de l'automatisation et de la flexibilité offertes par Yfinance pour une gestion plus complexe de portefeuilles, avec des possibilités d'intégration avec des bases de données et des API. La discussion met ainsi en lumière le compromis entre la simplicité d'une solution comme Google Sheets et la puissance et l'automatisation de Yfinance.

Enfin, jlam255 partage des liens vers des tutoriels YouTube sur l'utilisation de Yfinance, ce qui illustre l'intérêt croissant pour cet outil et la disponibilité de ressources pour apprendre à l'utiliser.


1    #1 15/01/2023 16h17

Membre (2020)
Top 50 Monétaire
Réputation :   15  

Bonjour à tous,

Afin de ne plus poller d’autres files et de centraliser l’information, je propose d’ouvrir une discussion sur l’utilisation de Yfinance en Python. Si les modérateurs considèrent que cela n’a pas sa place sur le forum, je comprendrai.

Yfinance est un package qui permet de récupérer les informations de Yahoo Finance. On peut par exemple récupérer le cours, les dividendes et des informations d’actions françaises ou étrangères, les valeurs de tracker, …

Pour utiliser ce package, il faut :
- un peu de connaissance en informatique
- installer python
- installer un environnement de développement. Personnellement, j’utilise PyCharm que je trouve formidable
- Installer le package yfinance

Pour installer le package dans PyCharm, il suffit de faire : File -> Settings -> Project -> Project Interpreter puis de cliquer sur le "+" et de chercher Yfinance.

Une fois tout cela installé, il est très facile de récupérer les informations d’une action. Ci-dessous un exemple qui récupère le dernier dividende, les cours de la dernière année et les informations de Air Liquide.

import yfinance as yf

stock_lab = "AI.PA"
stock = yf.Ticker(stock_lab)
stock_name = stock.get_info()[’shortName’]
stock_history = stock.history(period="1y")
div = stock.dividends

print(stock_lab + ’ : ’ + stock_name)
print("Secteur : " + stock.get_info()["sector"])
print("Dernier dividende : " + str(div[-1]))
print("10 dernières valeurs de clôture : ")
print(stock_history[’Close’][-10:])

Il est bien sur possible de remplacer le "AI.PA" par le code de n’importe quels autre action, indice ou tracker. Vous pouvez récupérer le code sur le site de Yahoo Finance.

Attention : les informations sur les dividendes sont à prendre avec des pincettes. J’ai remarqué un certain nombre d’erreur, surtout quand on remonte dans le temps (avant 2010).

Le gros avantage à mon sens c’est que comme on est sur Python, tout est possible ! On peut se faire son programme maison, s’interfacer avec Excel, tracer des graphiques, …

Nota : la fonction "get_info()" qui récupère les informations haut niveau était cassée jusqu’à récemment. Un fix a été mis en place dans la version 0.2.4.

Mots-clés : action, informatique, programmation, python, script, yfinance


Sic itur ad astra

Hors ligne Hors ligne

 

#2 15/01/2023 19h50

Membre (2019)
Top 50 Année 2022
Top 50 Portefeuille
Réputation :   217  

Bonsoir,

je vais dans votre sens. Aujourd’hui à mon sens, yfinance est le package gratuit le plus complet sur le marché.

Un vrai gain de temps dans la récupération et le traitement de milliers d’informations.

A garder en tête que ce package étant gratuit, mieux vaut ne pas baser sa stratégie uniquement là dessus (en attestent les différents atermoiements depuis quelques semaines).

A noter également quelques fois quelques erreurs sur la récupération des données fondamentales lorsque des milliers de requêtes sont émises (y compris lorsqu’une tempo de quelques secondes est intégrée).

Mais globalement ca fait le job et la documentation en ligne est très complète smile.

bien à vous,

Hors ligne Hors ligne

 

#3 17/01/2023 00h34

Membre (2023)
Réputation :   24  

Est-ce que cela vaut vraiment le coup de ce pencher sur cet outil?

Je n’ai pas reussi a trouver vraiment des utilisations lorsque j’ai regardé.

Personnellement, j’utilise googlesheet avec pas mal de fonctions avancées comme IMPORTXML() et IMPORTDATA() qui me permettent aussi de faire du datamining. Je peux recuperer n’importe quelle valeur depuis n’importe quel site (par exemple sur morningstar je recupere les ratings, les dividendes, etc).

Qu’est-ce que ca peut m’apporter de plus?

Merci d’avance!

Hors ligne Hors ligne

 

#4 17/01/2023 04h14

Membre (2018)
Top 20 Expatriation
Réputation :   45  

INTJ

L’intérêt par rapport à votre façon de faire avec Excel est que c’est plus automatisé, flexible et offrant plus de possibilités.

Par exemple si vous utilisez une base de données (type sql server) sur un serveur, les données sont actualisés continuellement sans votre intervention via yfinance (le code python est en plus exécutable dans sqlserver directement). Cela donne derrière une multitude de possibilités pour la gestion et le suivi d’un portefeuille. Ce qui n’empêche pas non plus d’utiliser excel derrière.

Mais pour une gestion assez simple d’un portefeuille, il n’est probablement pas en effet une plus value importante.

Hors ligne Hors ligne

 

#5 17/01/2023 06h23

Membre (2023)
Réputation :   24  

Je comprends. Dans mon cas, tout est automatisé mais vous avez raison qu’il n’y a pas de rafraîchissement hors ligne. Uniquement a l’ouverture du fichier. Sauf a créer assez simplement une macro. D’ailleurs ca peut permettre de générer des alertes via email assez simplement.

Beaucoup d’opportunités d’integration via API aussi. On peut aller jusqu’a connecter ses banques en ligne Par exemple.

Personnellement, je trouve google sheet tres puissant mais sans doute mon besoin est plus limité que le votre. Je suis content de pouvoir tout faire gratuitement, et sans application (accessible de n’importe ou depuis un simple navigateur).

Hors ligne Hors ligne