ich bin Pythonneuling und hab bisher in der Programmierung lediglich erste Gehversuche in HTML CSS und JS gemacht, was aber garnicht der Rede wert ist. Nun möchte mir diverse Finanzkennzahlen aus der yfinace API ziehen, deshalb beschäftige ich mich zur Zeit mit Python. Das klappt auch soweit. Hier unten habe ich mal einen Teil in einem ersten Schritt mit der Microsoft-Aktie dargestellt. Soweit so gut klappt alles prima und schnell. Der Abruf des gesamten Codes ist in 3s fertig.
Code: Alles auswählen
import yfinance as yf
microsoft = yf.Ticker("MSFT")
# Sammlung Daten
# Land
country = microsoft.info["country"]
print('Land: ' + country)
# aktueller Kurs
kurs = microsoft.info["regularMarketPrice"]
print('aktueller Kurs: ' + str(kurs))
# 52 Wochen Hoch
high52 = microsoft.info['fiftyTwoWeekHigh']
print('52Wochen Hoch: ' + str(high52))
# 52 Wochen Tief
low52 = microsoft.info['fiftyTwoWeekLow']
print('52Wochen Tief: ' + str(low52))
# Anzahl Aktien
sharesOutstanding = microsoft.info["sharesOutstanding"]
print('Anzahl Aktien: ' + str(sharesOutstanding))
# Marktkapitalisierung
marketCap = microsoft.info["marketCap"]
print('Marktkapitalisierung: ' + str(marketCap))
# Gewinn 2022
netIncome = microsoft.info["netIncomeToCommon"]
print('Gewinn 2022: ' + str(netIncome))
# EPS 2023e
erwarteteEPS2023 = microsoft.analysis['Earnings Estimate Avg']['0Y']
print('erwartete EPS 2023: ' + str(erwarteteEPS2023))
und diese die Aktienbezeichung braucht und das Ticker-Symbol nicht funktioniert. Da ich hier nur einen Ausschnitt Poste um es nicht zu unübersichtlich zu machen sieht man das mit dem hier gepusteten Code nicht. Auch diese Abfrage funktioniert aber viel langsamer. Über eine Minute. Gut er fragt 2 Aktien ab aber oben 3s hier über eine Minute.
Kann mir jemand sagen warum das unten so langsam ist und wie ich die Abfrage beschleunigen kann ?
Ich habe vor sehr viele Kennzahlen von sehr vielen Aktien abzufragen... das würde ja Stunden dauern
Code: Alles auswählen
import yfinance as yf
stockDic = {"MSFT": "Microsoft" , "AAPL": "Apple"}
def get_stockdata(ticker, aktienname):
yfstock = yf.Ticker(ticker)
estimates = stocks.get_estimates(stock=aktienname)
# Land
country = yf.Ticker(ticker).info["country"]
print('Land: ' + country)
# aktueller Kurs
stock_price = yf.Ticker(ticker).info["regularMarketPrice"]
print('aktueller Kurs: ' + str(stock_price))
# 52 Wochen Hoch
high52 = yf.Ticker(ticker).info['fiftyTwoWeekHigh']
print('52Wochen Hoch: ' + str(high52))
# 52 Wochen Tief
low52 = yf.Ticker(ticker).info['fiftyTwoWeekLow']
print('52Wochen Tief: ' + str(low52))
# Anzahl Aktien
shares_outstanding = yf.Ticker(ticker).info["sharesOutstanding"]
print('Anzahl Aktien: ' + str(shares_outstanding))
# Marktkapitalisierung
market_cap = yf.Ticker(ticker).info["marketCap"]
print('Marktkapitalisierung: ' + str(market_cap))
# Gewinn letztes Jahr
net_income_last_year = yf.Ticker(ticker).info["netIncomeToCommon"]
print('Gewinn 2022: ' + str(net_income_last_year))
# EPS laufendes Jahr
expEPS_current_year = yf.Ticker(ticker).analysis['Earnings Estimate Avg']['0Y']
print('erwartete EPS laufendes Jahr: ' + str(expEPS_current_year))
for ticker, aktienname in stockDic.items():
get_stockdata(ticker, aktienname)