Maison >développement back-end >Tutoriel Python >Quelle est la meilleure façon d'obtenir des données boursières en utilisant Python ?

Quelle est la meilleure façon d'obtenir des données boursières en utilisant Python ?

WBOY
WBOYavant
2023-08-26 13:41:052906parcourir

Quelle est la meilleure façon dobtenir des données boursières en utilisant Python ?

Dans cet article, nous apprendrons la meilleure façon d'obtenir des données boursières à l'aide de Python.

La bibliothèque

yfinance Python sera utilisée pour récupérer les données actuelles et historiques sur les cours boursiers de Yahoo Finance.

Installez Yahoo Finance (yfinance)

L'une des meilleures plateformes de données boursières est Yahoo Finance. Téléchargez simplement l'ensemble de données depuis le site Web Yahoo Finance et utilisez la bibliothèque yfinance et la programmation Python pour y accéder.

Vous pouvez installer yfinance à l'aide de pip, tout ce que vous avez à faire est d'ouvrir l'invite de commande et de taper la commande suivante pour afficher la syntaxe :

Grammaire

pip install yfinance

La meilleure partie de la bibliothèque yfinance est qu'elle est gratuite et ne nécessite pas de clé API

Comment obtenir les données actuelles sur le cours des actions

Nous devons trouver les symboles boursiers qui peuvent être utilisés pour l’extraction de données. nous montrerons Le prix actuel du marché et le cours de clôture précédent de GOOGL dans l'exemple ci-dessous.

Exemple

Le programme suivant renvoie la valeur du prix du marché, la valeur de clôture précédente et le code boursier Utiliser les valeurs du module yfinance -

import yfinance as yf
ticker = yf.Ticker('GOOGL').info
marketPrice = ticker['regularMarketPrice']
previousClosePrice = ticker['regularMarketPreviousClose']
print('Ticker Value: GOOGL')
print('Market Price Value:', marketPrice)
print('Previous Close Price Value:', previousClosePrice)

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

Ticker Value: GOOGL
Market Price Value: 92.83
Previous Close Price Value: 93.71

Comment obtenir des données historiques sur les cours des actions

En indiquant la date de début, la date de fin et le ticker, nous pouvons obtenir des données historiques complètes sur les prix.

Exemple

Le programme suivant renvoie les données boursières entre la date de début et la date de fin -

# importing the yfinance package
import yfinance as yf

# giving the start and end dates
startDate = '2015-03-01'
endDate = '2017-03-01'

# setting the ticker value
ticker = 'GOOGL'

# downloading the data of the ticker value between
# the start and end dates
resultData = yf.download(ticker, startDate, endDate)

# printing the last 5 rows of the data
print(resultData.tail())

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

[*********************100%***********************] 1 of 1 completed
            Open      High     Low       Close     Adj Close Volume
Date
2017-02-22 42.400002 42.689499 42.335499 42.568001 42.568001 24488000
2017-02-23 42.554001 42.631001 42.125000 42.549999 42.549999 27734000
2017-02-24 42.382500 42.417999 42.147999 42.390499 42.390499 26924000
2017-02-27 42.247501 42.533501 42.150501 42.483501 42.483501 20206000
2017-02-28 42.367500 42.441502 42.071999 42.246498 42.246498 27662000

L'exemple ci-dessus récupérera les données boursières du 2015-03-01 au 2017-03-01.

Si vous souhaitez extraire les données de plusieurs codes en même temps, veuillez fournir les codes sous forme de chaînes séparées par des espaces.

Convertir les données pour analyse

Date est l'index de l'ensemble de données, pas la colonne de l'ensemble de données dans l'exemple ci-dessus. Cet index doit être converti en colonnes avant qu'une analyse de données puisse y être effectuée. Voici comment procéder -

Exemple

Le programme suivant ajoute des noms de colonnes aux données boursières entre les dates de début et de fin -

import yfinance as yf

# giving the start and end dates
startDate = '2015-03-01'
endDate = '2017-03-01'

# setting the ticker value
ticker = 'GOOGL'

# downloading the data of the ticker value between
# the start and end dates
resultData = yf.download(ticker, startDate, endDate)

# Setting date as index
resultData["Date"] = resultData.index

# Giving column names
resultData = resultData[["Date", "Open", "High","Low", "Close", "Adj Close", "Volume"]]

# Resetting the index values
resultData.reset_index(drop=True, inplace=True)

# getting the first 5 rows of the data
print(resultData.head())

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

[*********************100%***********************] 1 of 1 completed
   Date      Open       High     Low       Close     Adj Close  Volume

0 2015-03-02 28.350000 28.799500 28.157499 28.750999 28.750999 50406000
1 2015-03-03 28.817499 29.042500 28.525000 28.939501 28.939501 50526000
2 2015-03-04 28.848499 29.081499 28.625999 28.916500 28.916500 37964000
3 2015-03-05 28.981001 29.160000 28.911501 29.071501 29.071501 35918000
4 2015-03-06 29.100000 29.139000 28.603001 28.645000 28.645000 37592000

Les données converties ci-dessus sont les mêmes que les données que nous avons obtenues de Yahoo Finance

Stockez les données acquises dans un fichier CSV

La méthode

to_csv() peut être utilisée pour exporter un objet DataFrame vers un fichier CSV. Le code suivant vous aidera à exporter les données dans un fichier CSV car les données converties ci-dessus sont déjà dans le dataframe pandas.

# importing yfinance module with an alias name
import yfinance as yf

# giving the start and end dates
startDate = '2015-03-01'
endDate = '2017-03-01'

# setting the ticker value
ticker = 'GOOGL'

# downloading the data of the ticker value between
# the start and end dates
resultData = yf.download(ticker, startDate, endDate)

# printing the last 5 rows of the data
print(resultData.tail())

# exporting/converting the above data to a CSV file
resultData.to_csv("outputGOOGL.csv")

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

[*********************100%***********************] 1 of 1 completed
            Open      High     Low       Close     Adj Close  Volume

Date
2017-02-22 42.400002 42.689499 42.335499 42.568001 42.568001 24488000
2017-02-23 42.554001 42.631001 42.125000 42.549999 42.549999 27734000
2017-02-24 42.382500 42.417999 42.147999 42.390499 42.390499 26924000
2017-02-27 42.247501 42.533501 42.150501 42.483501 42.483501 20206000
2017-02-28 42.367500 42.441502 42.071999 42.246498 42.246498 27662000

Visualisez les données

Le module Python

yfinance est l'un des plus simples à configurer, à collecter des données et à effectuer des activités d'analyse de données. À l'aide de packages tels que Matplotlib, Seaborn ou Bokeh, vous pouvez visualiser les résultats et capturer des informations.

Vous pouvez même afficher ces visualisations directement sur une page Web en utilisant PyScript.

Conclusion

Dans cet article, nous avons appris à utiliser le module Python yfinance pour obtenir les meilleures données boursières. De plus, nous avons appris comment obtenir toutes les données boursières pour une période de temps spécifiée, comment effectuer une analyse des données en ajoutant des index et des colonnes personnalisés, et comment convertir ces données en fichier CSV.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer