Erstellen Sie einen Finanzdatensatz mit Yahoo Finance Python

Inhalt

Einführung

Der Artikel soll Sie in die Lage versetzen, Ihre Projekte zu erstellen, indem Sie lernen, wie Sie Ihren Datenrahmen erstellen und Daten über den Aktienmarkt und den Internet-Kryptomarkt sammeln und dann Ihren Code darauf aufbauen.. Auf diese Weise können Sie Ihre ML-Modelle erstellen und mit realen Daten experimentieren..

In diesem Artikel, Ich werde zwei Methoden demonstrieren und beide verwenden Yahoo Finance als Datenquelle, da es kostenlos ist und keine Registrierung erforderlich ist. Sie können jede andere Datenquelle wie Quandi . verwenden, Tiingo, IEX-Cloud und mehr.

29422stock_cover-5219197

Fertig werden

Im ersten Ansatz, Wir werden das Finanzmodul in Python in Betracht ziehen und es ist ein sehr einfaches Modul, mit dem man arbeiten kann. Das andere Modul, über das wir sprechen werden, ist Yahoofinancials, was zusätzlichen Aufwand erfordert, aber im Gegenzug viele zusätzliche Informationen zurückgibt. Wir werden das später besprechen und jetzt beginnen wir damit, die erforderlichen Module in unseren Code zu importieren.

Ersteinrichtung:

Wir müssen die folgenden Bibliotheken laden:

Pandas als pd importieren
yfinance als yf importieren
von YahooFinancials importieren YahooFinancials

Wenn Sie diese Bibliotheken nicht haben, du kannst sie über pip installieren.

!pip installieren yfinance
!pip installieren yahoofinancials

Erste Methode: wie man yfinance nutzt

Es war zuvor als "fix_yahoo_finance" bekannt., aber dann wurde es ein eigenes Modul, aber yahoo ist nicht offiziell. Das 'yfinance-Modul’ Es ist jetzt eine sehr beliebte Bibliothek, die sehr kompatibel mit Python ist und als Patch für pandas_datareader oder als eigenständige Bibliothek verwendet werden kann. Es hat viele Verwendungsmöglichkeiten und viele Leute verwenden es, um Aktienkurse und auch Kryptowährungskurse herunterzuladen. Ohne weitere Verzögerung, Lass uns den folgenden Code ausführen. Wir beginnen mit dem Herunterladen des Aktienkurses von „Apple“.’

Code:

aapl_df = yf.download('AAPL', 
                      start="2019-01-01", 
                      Ende='2021-06-12', 
                      Fortschritt=Falsch,
)
aapl_df.head()

Produktion :

40276img1_aapl_details-1016683

Der Datenbereich ist eingestellt auf 1 Tag, aber das Innere kann extern mit Werten wie angegeben werden 1 m, 5 m, 15 m, 30 m, 60 m, 1h, 1D, 1 Woche, 1 Monat und mehr. Der obige Befehl zum Herunterladen der Daten zeigt ein Start- und Enddatum an, Sie können die Daten aber auch einfach mit dem unten angegebenen Code herunterladen:

Code:

aapl_df = yf.download('AAPL')

Produktion :

21991img1_aapl_details_max-2677150

Es gibt viele Parameter der Download-Funktion, die Sie in der Dokumentation finden können, und Start und Ende sind einige der am häufigsten verwendeten. Da die Daten klein waren, der Fortschrittsbalken wurde auf false gesetzt und zeigt, dass er sinnlos ist und für große Mengen oder Daten verwendet werden sollte.

Wir können auch mehrere Aktienkurse von mehr als einem Vermögenswert gleichzeitig herunterladen. Bereitstellung einer Liste von Firmennamen im Listenformat (P. Nicht. ['FB',’MSFT’,'AAPL'] ) als das Ticker-Argument. Wir können auch ein zusätzliches Argument bereitstellen, das autotuning = True ist, damit alle aktuellen Preise an mögliche Kapitalmaßnahmen wie Divisionen angepasst werden.

Zusätzlich zur yf.download-Funktion, Wir können auch das Ticker-Modul verwenden und Sie können den folgenden Code ausführen, um die neueste Version herunterzuladen 5 Jahre der Apple-Aktienkurse.

Code:

Ticker = yf.Ticker('AAPL')
aapl_df = ticker.history(Periode="5Ja")
aapl_df['Nah dran'].Handlung(Titel="Aktienkurs von APPLE")

Produktion :

41502apple_stock_5yrs-6051609

Der einzige Vorteil der Verwendung eines Tickermoduls besteht darin, dass Sie die vielen damit verbundenen Methoden nutzen können.. Die verfügbaren Methoden, die wir verwenden können, sind:

  • die Info – Diese Methode druckt eine JSON-Formatierungsausgabe, die viele Informationen über das Unternehmen enthält, beginnend mit dem vollständigen Firmennamen, die Zusammenfassung, die Branche, die Börsen mit Land und Zeitzone aufgelistet, und mehr. Es ist auch ausgestattet mit dem Beta Koeffizient.

  • Empfehlungen – Diese Methode enthält eine historische Liste von Empfehlungen verschiedener Analysten bezüglich der Aktie und der Kaufentscheidung., verkaufen oder Vorschläge dazu machen.

25965apple_recommendations-2840358
28787apple_actions-5543446
98419apple_major_holders-9920072
77712apple_institutional_holders-6820212
  • Kalender – Diese Funktion zeigt alle eingehenden Ereignisse an, wie Verdienst, und Sie können dies sogar per Code zu Ihrem Google-Kalender hinzufügen. Grundsätzlich, zeigt wichtige Dividendentermine für ein Unternehmen an.

38920apple_calender-7687991

Wenn Sie noch mehr über die Funktionsweise der Funktionen erfahren möchten, das kannst du überprüfen GitHub yFinanz-Repository.

Zweite Methode: Wie man Yahoofinancials verwendet?

Die zweite Methode ist die Verwendung des Yahoofinancials-Moduls, was etwas schwieriger zu handhaben ist, aber es bietet viel mehr Informationen als yfinance. Wir beginnen mit dem Herunterladen der Apple-Aktienkurse.

Um dies zu tun, Wir übergeben zuerst ein YahooFinancials-Objekt unter Umgehung des Apply-Tickernamens und verwenden dann eine Vielzahl wichtiger Informationen, um die erforderlichen Daten zu erhalten. Hier, die zurückgegebenen Daten sind im JSON-Format und, Daher, Wir verschönern sie ein wenig, damit sie in einen DataFrame umgewandelt werden können, um sie korrekt anzuzeigen.

Code:

yahoo_financials = YahooFinancials('AAPL')
data = yahoo_financials.get_historical_price_data(start_date="2019-01-01", 
                                                  end_date="2019-12-31", 
                                                  time_interval="wöchentlich")
aapl_df = pd.DataFrame(Daten['AAPL']['Preise'])
aapl_df = aapl_df.drop('Datum', Achse=1).set_index('formatiertes_Datum')
aapl_df.head()

Produktion :

27858apple_yahoo_finance-9755190

Auf technischer Ebene, der prozess der ermittlung eines historischen kurses der aktien ist etwas länger als bei yfinance, das liegt aber vor allem an der riesigen Datenmenge. Kommen wir nun zu einigen der wichtigen Funktionen von Yahoofinancials.

  • get_stock_quote_type_data () – Diese Methode gibt viele allgemeine Informationen zu einer Aktion zurück, die der yfinance-Info-Funktion ähnelt (). Die Ausgabe ist ungefähr so ​​​​.

  • get_summary_data () – Diese Methode liefert eine Zusammenfassung des gesamten Unternehmens zusammen mit nützlichen Daten wie dem Beta-Wert, Preis zu Buchwert und mehr.

  • get_stock_earnings_data () – Diese Methode gibt Informationen zu den Quartals- und Jahresergebnissen des Unternehmens zusammen mit dem nächsten Datum zurück, an dem das Unternehmen seine Ergebnisse melden wird..

  • get_financial_stmts () – Dies ist eine weitere nützliche Methode, um den Jahresabschluss eines Unternehmens abzurufen, der für die Analyse einer Aktie nützlich ist..

  • get_historical_price_data () – Dies ist eine Methode ähnlich der Download-Funktion () o Ticker () um Aktienkurse mit start_date zu erhalten, end_date und Intervallbereiche.

Das obige Modul kann auch verwendet werden, um Unternehmensdaten auf einmal herunterzuladen, wie yfinance und Kryptowährungsdaten können auch wie unten gezeigt heruntergeladen werden.

Code:

yahoo_financials = YahooFinancials('BTC-USD')
data=yahoo_financials.get_historical_price_data("2019-07-10", "2021-05-30", "monatlich")
btc_df = pd.DataFrame(Daten['BTC-USD']['Preise'])
btc_df = btc_df.drop('Datum', Achse=1).set_index('formatiertes_Datum')
btc_df.head()

Produktion :

31235btc_yahoo_finance-3124513

Weitere Informationen zum Modul, du kannst deine überprüfen GitHub Repository.

EndNotes

Vollständige Informationen erhält man letztendlich von Yahoo Finanzen Und jetzt wissen Sie, wie Sie beliebige Aktien- oder Kryptowährungsinformationen und Preisdaten in Ihren Code importieren und damit beginnen, ihn zu erkunden und damit zu experimentieren. Viel Glück bei deinen Abenteuern und teile deinen Code gerne mit mir auf LinkedIn oder zögern Sie nicht, mich bei Zweifeln oder Fehlern zu kontaktieren.

Danke fürs Lesen bis zum Ende. Ich hoffe, es geht Ihnen gut und Sie bleiben gesund und lassen sich bald impfen oder sind es bereits.

Über den Autor :

Arnab Mondal

Dateningenieur und Python-Entwickler | Freiberuflicher technischer Redakteur

Link zu meinen anderen Artikeln

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.