Introduction à l’API Yahoo! Finance
Yahoo! Finance est une plateforme qui fournit des informations financières, des nouvelles, des rapports et des données de marché. L’API Yahoo! Finance, bien qu’elle ne soit plus officiellement supportée, est largement utilisée pour accéder à ces données financières.
L’API permet aux développeurs d’accéder à une grande variété de données, y compris mais sans s’y limiter :
- Cours des actions : Vous pouvez récupérer le cours actuel des actions, ainsi que les données historiques.
- Données sur les obligations : Informations sur les obligations du gouvernement et des entreprises.
- Données sur les devises : Informations sur les taux de change actuels et historiques.
- Données sur les indices : Informations sur les principaux indices boursiers.
Dans le contexte de Python, plusieurs bibliothèques ont été développées pour faciliter l’accès à l’API Yahoo! Finance. Dans cet article, nous allons explorer deux d’entre elles : yfinance
et pandas-datareader
. Ces bibliothèques offrent une interface simple pour télécharger les données de Yahoo! Finance, ce qui rend l’API accessible même pour ceux qui n’ont pas une grande expérience en programmation. Nous allons explorer comment utiliser ces bibliothèques pour télécharger des données financières dans les sections suivantes.
Présentation de la bibliothèque yfinance
yfinance
est une bibliothèque Python populaire qui permet d’accéder aux données financières de Yahoo! Finance. Elle a été développée pour combler le vide laissé par les modifications apportées à l’API Yahoo! Finance, qui ont rendu l’accès direct aux données plus difficile.
Voici quelques-unes des fonctionnalités clés de yfinance
:
-
Téléchargement de données historiques :
yfinance
permet de télécharger facilement les données historiques des actions. Vous pouvez spécifier la période et l’intervalle des données que vous souhaitez télécharger. -
Téléchargement de données en temps réel : En plus des données historiques,
yfinance
permet également de télécharger les données en temps réel. -
Informations sur les actions :
yfinance
peut récupérer des informations détaillées sur les actions, telles que le dividende, le rendement du dividende, le volume, etc. -
Flexibilité :
yfinance
offre une grande flexibilité en termes de format des données téléchargées. Vous pouvez choisir de télécharger les données sous forme de DataFrame pandas, ce qui facilite l’analyse et la manipulation des données.
Dans la section suivante, nous allons explorer comment installer et configurer yfinance
pour commencer à télécharger des données financières. Nous allons également montrer quelques exemples de la façon dont vous pouvez utiliser yfinance
pour télécharger des données de marché à partir de l’API Yahoo! Finance.
Installation et configuration de yfinance
L’installation de yfinance
est simple et directe. Vous pouvez l’installer en utilisant pip
, qui est un gestionnaire de paquets pour Python. Voici comment vous pouvez l’installer :
pip install yfinance
Une fois que vous avez installé yfinance
, vous pouvez l’importer dans votre script Python comme suit :
import yfinance as yf
Maintenant, yfinance
est prêt à être utilisé pour télécharger des données financières de Yahoo! Finance. Vous pouvez télécharger les données d’une action spécifique en utilisant la méthode download
de yfinance
. Par exemple, pour télécharger les données de l’action Apple (AAPL), vous pouvez faire comme suit :
data = yf.download('AAPL')
Cela téléchargera les données historiques de l’action Apple et les stockera dans un DataFrame pandas. Vous pouvez ensuite utiliser ces données pour votre analyse.
Dans la section suivante, nous allons explorer comment utiliser yfinance
pour télécharger des données de marché spécifiques à partir de l’API Yahoo! Finance.
Téléchargement de données de marché avec yfinance
Avec yfinance
, le téléchargement de données de marché est un processus simple et direct. Voici comment vous pouvez le faire :
import yfinance as yf
# Télécharger les données historiques
data = yf.download('AAPL', start='2020-01-01', end='2020-12-31')
# Afficher les premières lignes de données
print(data.head())
Dans cet exemple, nous téléchargeons les données historiques de l’action Apple (AAPL) pour l’année 2020. La méthode download
prend plusieurs paramètres :
- Le premier paramètre est le symbole de l’action pour laquelle vous souhaitez télécharger les données. Dans cet exemple, nous utilisons ‘AAPL’ qui est le symbole de l’action Apple.
- Les paramètres
start
etend
spécifient la plage de dates pour laquelle vous souhaitez télécharger les données. Ils doivent être au format ‘AAAA-MM-JJ’.
La méthode download
renvoie un DataFrame pandas contenant les données téléchargées. Vous pouvez utiliser la méthode head
de pandas pour afficher les premières lignes de données.
Notez que les données téléchargées comprennent plusieurs informations telles que le prix d’ouverture (Open
), le prix le plus élevé (High
), le prix le plus bas (Low
), le prix de clôture (Close
), le prix de clôture ajusté (Adj Close
) et le volume (Volume
) pour chaque jour de bourse.
Dans la section suivante, nous allons explorer une autre bibliothèque Python, pandas-datareader
, qui offre également la possibilité de télécharger des données de marché à partir de l’API Yahoo! Finance.
Présentation de la bibliothèque pandas-datareader
pandas-datareader
est une bibliothèque Python qui permet de lire des données directement dans un DataFrame pandas à partir de différentes sources Internet. Parmi ces sources, on trouve notamment Yahoo! Finance, Google Finance, St.Louis FED (FRED), Kenneth French’s data library et bien d’autres.
Voici quelques-unes des fonctionnalités clés de pandas-datareader
:
-
Diversité des sources de données :
pandas-datareader
peut lire des données de plusieurs sources différentes, ce qui vous donne une grande flexibilité dans le choix de vos données. -
Intégration avec pandas : Comme son nom l’indique,
pandas-datareader
lit les données directement dans un DataFrame pandas. Cela signifie que vous pouvez utiliser toutes les fonctionnalités puissantes de pandas pour analyser et manipuler vos données une fois qu’elles sont téléchargées. -
Facilité d’utilisation :
pandas-datareader
est très facile à utiliser. Vous pouvez télécharger des données avec une seule ligne de code.
Dans la section suivante, nous allons explorer comment utiliser pandas-datareader
pour télécharger des données de marché à partir de l’API Yahoo! Finance.
Téléchargement de données de marché avec pandas-datareader
Avec pandas-datareader
, vous pouvez télécharger des données de marché directement dans un DataFrame pandas. Voici comment vous pouvez le faire :
import pandas_datareader as pdr
# Télécharger les données historiques
data = pdr.get_data_yahoo('AAPL', start='2020-01-01', end='2020-12-31')
# Afficher les premières lignes de données
print(data.head())
Dans cet exemple, nous téléchargeons les données historiques de l’action Apple (AAPL) pour l’année 2020. La méthode get_data_yahoo
prend plusieurs paramètres :
- Le premier paramètre est le symbole de l’action pour laquelle vous souhaitez télécharger les données. Dans cet exemple, nous utilisons ‘AAPL’ qui est le symbole de l’action Apple.
- Les paramètres
start
etend
spécifient la plage de dates pour laquelle vous souhaitez télécharger les données. Ils doivent être au format ‘AAAA-MM-JJ’.
La méthode get_data_yahoo
renvoie un DataFrame pandas contenant les données téléchargées. Vous pouvez utiliser la méthode head
de pandas pour afficher les premières lignes de données.
Notez que les données téléchargées comprennent plusieurs informations telles que le prix d’ouverture (Open
), le prix le plus élevé (High
), le prix le plus bas (Low
), le prix de clôture (Close
), le prix de clôture ajusté (Adj Close
) et le volume (Volume
) pour chaque jour de bourse.
Dans la section suivante, nous allons comparer yfinance
et pandas-datareader
pour voir quelle bibliothèque est la plus adaptée à vos besoins.
Comparaison entre yfinance et pandas-datareader
yfinance
et pandas-datareader
sont deux bibliothèques Python populaires pour télécharger des données financières de Yahoo! Finance. Bien qu’elles aient des fonctionnalités similaires, il existe quelques différences clés entre elles.
-
Source des données :
yfinance
est spécifiquement conçu pour télécharger des données de Yahoo! Finance, tandis quepandas-datareader
peut télécharger des données de plusieurs sources différentes, y compris mais sans s’y limiter à Yahoo! Finance, Google Finance, St.Louis FED (FRED), et Kenneth French’s data library. -
Facilité d’utilisation : Les deux bibliothèques sont faciles à utiliser et permettent de télécharger des données directement dans un DataFrame pandas. Cependant,
yfinance
offre une interface légèrement plus simple et plus intuitive. -
Fonctionnalités supplémentaires :
yfinance
offre quelques fonctionnalités supplémentaires, comme la possibilité de télécharger des données en temps réel et d’accéder à des informations détaillées sur les actions. -
Maintenance et support :
yfinance
a été développé pour combler le vide laissé par les modifications apportées à l’API Yahoo! Finance, et est activement maintenu et supporté.pandas-datareader
est également activement maintenu, mais sa capacité à télécharger des données de Yahoo! Finance peut être affectée par les changements futurs de l’API.
En conclusion, le choix entre yfinance
et pandas-datareader
dépendra de vos besoins spécifiques. Si vous avez besoin de télécharger des données de plusieurs sources différentes, pandas-datareader
pourrait être le meilleur choix. Si vous ne prévoyez de télécharger des données que de Yahoo! Finance et que vous appréciez une interface simple et intuitive, yfinance
pourrait être le meilleur choix. Dans tous les cas, les deux bibliothèques sont d’excellents outils pour travailler avec des données financières en Python.
Exemples pratiques d’utilisation des données téléchargées
Une fois que vous avez téléchargé les données financières à l’aide de yfinance
ou pandas-datareader
, vous pouvez les utiliser pour diverses analyses financières. Voici quelques exemples de ce que vous pouvez faire :
Analyse des rendements
Vous pouvez calculer les rendements quotidiens des actions en utilisant les données de prix de clôture. Les rendements sont généralement calculés en prenant le logarithme des prix de clôture.
import numpy as np
# Calculer les rendements quotidiens
data['Return'] = np.log(data['Close'] / data['Close'].shift(1))
Visualisation des données
Vous pouvez visualiser les données à l’aide de bibliothèques de visualisation Python comme matplotlib
ou seaborn
. Par exemple, vous pouvez tracer les prix de clôture ou les rendements quotidiens.
import matplotlib.pyplot as plt
# Tracer les prix de clôture
plt.figure(figsize=(10, 6))
data['Close'].plot()
plt.title('Prix de clôture de AAPL')
plt.show()
Calcul des indicateurs techniques
Vous pouvez calculer divers indicateurs techniques comme la moyenne mobile, le RSI (Relative Strength Index), etc. Ces indicateurs peuvent vous aider à prendre des décisions de trading.
# Calculer la moyenne mobile sur 20 jours
data['SMA_20'] = data['Close'].rolling(window=20).mean()
# Calculer le RSI sur 14 jours
delta = data['Close'].diff()
up, down = delta.copy(), delta.copy()
up[up < 0] = 0
down[down > 0] = 0
average_gain = up.rolling(window=14).mean()
average_loss = abs(down.rolling(window=14).mean())
rs = average_gain / average_loss
data['RSI_14'] = 100 - (100 / (1 + rs))
Ces exemples ne sont que le début de ce que vous pouvez faire avec les données financières téléchargées. Avec Python et ses bibliothèques de finance et de data science, les possibilités sont presque infinies.
Conclusion
Dans cet article, nous avons exploré comment télécharger des données financières à partir de Yahoo! Finance en utilisant les bibliothèques Python yfinance
et pandas-datareader
. Ces bibliothèques offrent une interface simple et intuitive pour accéder à une mine d’informations financières.
Nous avons également discuté de quelques exemples pratiques d’utilisation des données téléchargées, y compris l’analyse des rendements, la visualisation des données et le calcul des indicateurs techniques. Ces exemples ne sont que le début de ce que vous pouvez faire avec les données financières en Python.
Que vous soyez un trader algorithmique cherchant à construire votre propre système de trading, un analyste financier cherchant à faire des analyses plus approfondies, ou simplement un passionné de finance cherchant à en savoir plus sur les marchés financiers, l’accès aux données financières est une première étape cruciale. Avec yfinance
et pandas-datareader
, cette première étape est maintenant plus facile que jamais.
Nous espérons que cet article vous a été utile et nous vous encourageons à explorer davantage ces bibliothèques par vous-même. Bonne programmation !