Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der beste Weg, um Bestandsdaten mit Python zu erhalten?

Was ist der beste Weg, um Bestandsdaten mit Python zu erhalten?

WBOY
WBOYnach vorne
2023-08-26 13:41:052861Durchsuche

Was ist der beste Weg, um Bestandsdaten mit Python zu erhalten?

In diesem Artikel erfahren wir, wie man mit Python am besten Bestandsdaten erhält.

Die

yfinance-Python-Bibliothek wird verwendet, um aktuelle und historische Börsenkursdaten von Yahoo Finance abzurufen.

Installieren Sie Yahoo Finance (yfinance)

Eine der besten Plattformen für Börsendaten ist Yahoo Finance. Laden Sie einfach den Datensatz von der Yahoo Finance-Website herunter und nutzen Sie die yfinance-Bibliothek und die Python-Programmierung, um darauf zuzugreifen.

Sie können yfinance mit Hilfe von pip installieren. Sie müssen lediglich die Eingabeaufforderung öffnen und den folgenden Befehl eingeben, um die Syntax anzuzeigen:

Grammatik

pip install yfinance

Das Beste an der yfinance-Bibliothek ist, dass sie kostenlos genutzt werden kann und keinen API-Schlüssel erfordert

So erhalten Sie aktuelle Aktienkursdaten

Wir müssen die Aktiensymbole finden, die für die Datenextraktion verwendet werden können. wir werden es zeigen Der aktuelle Marktpreis und der vorherige Schlusskurs von GOOGL im folgenden Beispiel.

Beispiel

Das folgende Programm gibt den Marktpreiswert, den vorherigen Schlusswert und den Aktiencode zurück Werte aus dem yfinance-Modul verwenden -

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)

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

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

So erhalten Sie historische Daten zu Aktienkursen

Durch Angabe des Startdatums, des Enddatums und des Tickers können wir vollständige historische Preisdaten erhalten.

Beispiel

Das folgende Programm gibt Aktienkursdaten zwischen Startdatum und Enddatum zurück -

# 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())

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

[*********************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

Das obige Beispiel ruft Aktienkursdaten vom 01.03.2015 bis zum 01.03.2017 ab.

Wenn Sie Daten aus mehreren Codes gleichzeitig extrahieren möchten, geben Sie die Codes bitte als durch Leerzeichen getrennte Zeichenfolgen an.

Daten zur Analyse konvertieren

Datum ist der Index des Datensatzes, nicht die Spalte des Datensatzes im obigen Beispiel. Dieser Index muss in Spalten umgewandelt werden, bevor eine Datenanalyse für ihn durchgeführt werden kann. So geht's -

Beispiel

Das folgende Programm fügt den Bestandsdaten zwischen Start- und Enddatum Spaltennamen hinzu –

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())

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

[*********************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

Die oben konvertierten Daten stimmen mit den Daten überein, die wir von Yahoo Finance erhalten haben

Speichern Sie die erfassten Daten in einer CSV-Datei

Mit der Methode

to_csv() kann ein DataFrame-Objekt in eine CSV-Datei exportiert werden. Der folgende Code hilft Ihnen beim Exportieren der Daten in eine CSV-Datei, da sich die oben konvertierten Daten bereits im Pandas-Datenrahmen befinden.

# 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")

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

[*********************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

Daten visualisieren

Das Python-Modul von

yfinance ist eines der einfachsten einzurichten, Daten zu sammeln und Datenanalyseaktivitäten durchzuführen. Mit Paketen wie Matplotlib, Seaborn oder Bokeh können Sie Ergebnisse visualisieren und Erkenntnisse erfassen.

Mit PyScript können Sie diese Visualisierungen sogar direkt auf einer Webseite anzeigen.

Fazit

In diesem Artikel haben wir gelernt, wie man mit dem Python-Yfinance-Modul die besten Bestandsdaten erhält. Darüber hinaus haben wir gelernt, wie man alle Bestandsdaten für einen bestimmten Zeitraum erhält, wie man eine Datenanalyse durch Hinzufügen benutzerdefinierter Indizes und Spalten durchführt und wie man diese Daten in eine CSV-Datei umwandelt.

Das obige ist der detaillierte Inhalt vonWas ist der beste Weg, um Bestandsdaten mit Python zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen