Créer un ensemble de données financières avec Yahoo Finance Python

Contenu

introduction

L'article vise à vous donner les moyens de créer vos projets en apprenant à créer votre cadre de données et à collecter des données sur le marché boursier et le marché de la cryptographie Internet, puis à baser votre code dessus.. Cela vous permettra de créer vos modèles de ML et d'expérimenter avec des données du monde réel..

Dans cet article, Je vais démontrer deux méthodes et les deux utilisent Yahoo Finance comme source de données, car c'est gratuit et aucune inscription n'est requise. Vous pouvez utiliser n'importe quelle autre source de données comme Quandi, Tiingo, IEX Cloud et plus.

29422stock_cover-5219197

Se préparer

Dans la première approche, nous allons considérer le module finance en Python et c'est un module très facile à utiliser. L'autre module dont nous allons parler est yahoofinancials, qui demande un effort supplémentaire mais renvoie beaucoup d'informations supplémentaires en retour. Nous en discuterons plus tard et maintenant nous allons commencer par importer les modules requis dans notre code.

La configuration initiale:

Nous devons charger les bibliothèques suivantes:

importer des pandas au format pd
importer yfinance en tant que yf
de yahoofinancials importer YahooFinancials

Si vous n'avez pas ces bibliothèques, vous pouvez les installer via pip.

!pip installer yfinance
!pip installer yahoofinancials

Première méthode: comment utiliser yfinance

Il était auparavant connu sous le nom de «fix_yahoo_finance», mais ensuite c'est devenu son propre module, mais yahoo n'est pas officiel. Le module 'yfinance’ c'est maintenant une bibliothèque très populaire qui est hautement compatible avec Python et peut être utilisée comme correctif pour pandas_datareader ou comme bibliothèque autonome seule. Il a de nombreuses utilisations potentielles et de nombreuses personnes l'utilisent pour télécharger les cours des actions ainsi que les cours des crypto-monnaies.. Sans plus tarder, exécutons le code suivant. Nous commencerons par télécharger le cours de l'action d'Apple’

Code:

aapl_df = yf.télécharger('AAPL', 
                      début ="2019-01-01", 
                      fin='2021-06-12', 
                      progression=Faux,
)
aapl_df.head()

Production :

40276img1_aapl_details-1016683

La plage de données est définie sur 1 jour, mais l'intérieur peut être spécifié en externe avec des valeurs comme 1 m, 5 m, 15 m, 30 m, 60 m, 1h, 1ré, 1 la semaine, 1 mois et plus. La commande ci-dessus pour télécharger les données affiche une date de début et de fin, mais vous pouvez aussi simplement télécharger les données avec le code ci-dessous:

Code:

aapl_df = yf.télécharger('AAPL')

Production :

21991img1_aapl_details_max-2677150

Il existe de nombreux paramètres de la fonction de téléchargement que vous pouvez trouver dans la documentation et le début et la fin sont parmi les plus courants à utiliser. Étant donné que les données étaient petites, la barre de progression a été définie sur false et montre qu'elle est inutile et doit être utilisée pour des volumes ou des données volumineux.

Nous pouvons également télécharger plusieurs cours d'actions de plusieurs actifs en même temps. Fournir une liste de noms d'entreprises sous forme de liste (p. Pas. ['FB',« MSFT »,« AAPL »] ) comme argument des tickers. Nous pouvons également fournir un argument supplémentaire qui est autotuning = True, afin que tous les prix actuels soient ajustés pour d'éventuelles opérations sur titres telles que les divisions.

En plus de la fonction yf.download, nous pouvons également utiliser le module ticker et vous pouvez exécuter le code suivant pour télécharger la dernière 5 années de cours des actions Apple.

Code:

ticker = yf.Ticker('AAPL')
aapl_df = ticker.history(période ="5Oui")
aapl_df['Proche'].terrain(titre="Cours de l'action APPLE")

Production :

41502apple_stock_5yrs-6051609

Le seul avantage d'utiliser un module ticker est que vous pouvez profiter des multiples méthodes qui y sont connectées.. Les méthodes disponibles que nous pouvons utiliser sont:

  • Info – Cette méthode imprime une sortie de formateur JSON qui contient de nombreuses informations sur l'entreprise, commençant par le nom complet de l'entreprise, résumé, l'industrie, les échanges répertoriés avec le pays et le fuseau horaire, et de plus. Il est également équipé du bêta coefficient.

  • recommandations – Cette méthode contient une liste historique des recommandations faites par différents analystes concernant l'action et l'opportunité d'acheter., vendre ou donner des suggestions à ce sujet.

25965apple_recommendations-2840358
28787apple_actions-5543446
98419apple_major_holders-9920072
77712apple_institutional_holders-6820212
  • calendrier – Cette fonction affiche tous les événements entrants, comme les gains, et vous pouvez même l'ajouter à votre calendrier Google via le code. Essentiellement, affiche les dates de dividendes importantes pour une entreprise.

38920apple_calender-7687991

Si vous souhaitez toujours en savoir plus sur le fonctionnement des fonctions, tu peux vérifier ça GitHub référentiel yfinance.

Deuxième méthode: Comment utiliser YahooFinancials?

La deuxième méthode consiste à utiliser le module yahoofinancials, ce qui est un peu plus difficile à travailler, mais il fournit beaucoup plus d'informations que yfinance. Nous allons commencer par télécharger les cours des actions Apple.

Pour faire ceci, nous allons d'abord passer un objet YahooFinancials en contournant le nom du ticker Apply, puis utiliser une variété d'informations importantes pour obtenir les données requises. Ici, les données renvoyées sont au format JSON et, donc, nous faisons un peu d'embellissement pour qu'ils puissent être transformés en un DataFrame pour les afficher correctement.

Code:

yahoo_financials = YahooFinancials('AAPL')
données = yahoo_financials.get_historical_price_data(date_début="2019-01-01", 
                                                  date_fin="2019-12-31", 
                                                  intervalle_temps="hebdomadaire")
aapl_df = pd.DataFrame(Les données['AAPL']['des prix'])
aapl_df = aapl_df.drop('Date', axe=1).set_index('date_formatée')
aapl_df.head()

Production :

27858apple_yahoo_finance-9755190

Au niveau technique, le processus d'obtention d'un prix historique des actions est un peu plus long que le cas de yfinance, mais cela est principalement dû à l'énorme volume de données. Passons maintenant à certaines des fonctions importantes de yahoofinancials.

  • get_stock_quote_type_data () – Cette méthode renvoie de nombreuses informations génériques sur une action similaire à la fonction yfinance info (). La sortie est quelque chose comme ça.

  • get_summary_data () – Cette méthode renvoie un résumé de l'ensemble de l'entreprise ainsi que des données utiles telles que la valeur bêta, prix à la valeur comptable et plus.

  • get_stock_earnings_data () – Cette méthode renvoie des informations sur les bénéfices trimestriels et annuels de l'entreprise ainsi que la prochaine date à laquelle l'entreprise déclarera ses bénéfices..

  • get_financial_stmts () – C'est une autre méthode utile pour récupérer les états financiers d'une entreprise qui est utile pour l'analyse d'un stock..

  • get_historical_price_data () – Il s'agit d'une méthode similaire à la fonction de téléchargement () o Téléscripteur () pour obtenir les cours des actions avec start_date, end_date et plages d'intervalle.

Le module ci-dessus peut également être utilisé pour télécharger les données de l'entreprise à la fois, comme yfinance et les données de crypto-monnaie peuvent également être téléchargées comme ci-dessous le code indiqué.

Code:

yahoo_financials = YahooFinancials('BTC-USD')
data=yahoo_financials.get_historical_price_data("2019-07-10", "2021-05-30", "mensuel")
btc_df = pd.DataFrame(Les données['BTC-USD']['des prix'])
btc_df = btc_df.drop('Date', axe=1).set_index('date_formatée')
btc_df.head()

Production :

31235btc_yahoo_finance-3124513

Pour plus de détails sur le module, vous pouvez vérifier votre GitHub Dépôt.

Notes de fin

Des informations complètes sont finalement obtenues auprès de Yahoo finance et maintenant vous savez comment importer n'importe quel ensemble d'informations sur les actions ou les crypto-monnaies et les données de prix dans votre code et commencez à l'explorer et à l'expérimenter. Bonne chance dans vos aventures et n'hésitez pas à partager votre code avec moi sur LinkedIn ou n'hésitez pas à me contacter en cas de doutes ou d'erreurs.

Merci d'avoir lu jusqu'au bout. J'espère que vous allez bien et que vous restez en sécurité et que vous vous faites vacciner bientôt ou que vous êtes déjà.

A propos de l'auteur :

Arnab Mondal

Ingénieur de données et développeur Python | Rédacteur technique indépendant

Lien vers mes autres articles

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.