Seite 1 von 1

Datendownload aus Yahoo Finance Datenbank

Verfasst: Dienstag 28. Juli 2020, 11:46
von marie.kiewe
Hallo liebes Python-Forum,

ich schreibe gerade meine Masterarbeit und bin etwas hilflos, was die schiere Menge an Daten angeht. Und zwar bräuchte ich zahlreiche Daten aus der Yahoo-Finance Datenbank. Einen Großteil habe ich bereits über Trial-and-Error Ansätze besorgt, bei dem letzten Versuch scheitere ich jedoch.

Die Daten, die ich dabei versuche, automatisiert aus der Datenbank zu ziehen, sind die aus dem Income Statement sowie Balance Sheet für besagte 500 Unternehmen. Der manuelle Zeitaufwand ist echt hoch (und mir rennt so langsam die Zeit davon, aargh).

Ich habe eine Excel-Liste mit über 500 Tickersymbolen (was quasi das Aktienkürzel für die jeweiligen Unternehmen ist) und Ziel wäre es, für diese Tickersymbole für alle verfügbaren Jahre automatisch die Daten zu ziehen (ab Jahr 2016 bis 2019). Die Liste der Unternehmen konnte ich hier nicht als Anhang beifügen, deshalb ein Link zu meiner Dropbox: https://www.dropbox.com/scl/fi/bppdizte ... s1n9evqap9.

Vor allem bräuchte ich aus dem Reiter ‘Income Statement’ die EBITDA-Zahlen und aus dem ‘Balance Sheet’ die Total Assets für alle 500 Unternehmen als Export in Excel, sodass ich die Daten weiterverwenden kann.

Das ist der Link zu der Website:
https://finance.yahoo.com/quote/AMZN/ba ... eet?p=AMZN
Hier habe ich als Beispiel einfach Amazon (Ticker Symbol: AMZN) gewählt. Unter “Show” kann man dann auswählen, ob man Income Statement oder Balance Sheet sehen will.

Ich habe mal im Internet geschaut, ob es schon ähnliche Codes gibt & habe dabei diesen gefunden:
https://www.mattbutton.com/2019/01/24/h ... nd-pandas/

Meinen bisherigen Code Code, den ich zusammengeschrieben habe (mit Notizen, was funktioniert und was nicht), habe ich hier untenstehend beigefügt. Vermutlich ist das kein schöner Code. Wie gesagt, ich bin definitive mehr als ein Python Newbie und versuche, etwas Zeit bei der Datensammlung zu schaffen. Allerdings funktioniert mein Ansatz nicht mehr.

Von daher sorry überhaupt, wenn ich als Newbie hier vielleicht zu unerfahren bin; ich habe mir Wissen zu Python nur über Tutorials und Recherche angeeignet. Ich nutze Python und Pandas / vllt. hat ja jemand einen bereits verfügbaren Code und ein ähnliches Problem gehabt, und könnte mir bei meinem Problem helfen.

Taaaaaausend Dank auf jeden Fall schon einmal für jede Rückmeldung! Liebe Grüße
Marie


------



Anbei mein bisheriger Code:

import yfinance as yf
import pandas as pd
company_list = pd.read_excel("c:/users/test/documents/testdownloads/maria/Mariya_Stock_Symbols.xlsx", usecols=[0])


counter = 0
limit = 528 #149
while counter <= limit:
company = company_list.iloc[counter][0]
print(company)
file_path = "c:/users/test/documents/testdownloads/maria/"+company+"financials.xlsx"
share = yf.Ticker(str(company))
#Diese Codezeile sind die historischen Aktienwerte. Funktioniert.
#df1 = share.history(period="5y")
#Diese Codezeile ist für die GuV Sache. Funktioniert nicht
#df1 = share.financials
df2 = pd.DataFrame(data=df1)
df2.to_excel(file_path)
counter += 1