Aktienkurse abfragen mit Python | Schritt für Schritt

Aktien machen Spaß!

Natürlich sind sie gerade auch im Trend, aber wie sollte es anders sein?
WallStreetBets hat wohl jeder mitbekommen.

Und auch davor gab (und gibt es noch immer) wenig Alternativen.
Ob Nullzins oder die Angst vor steigender Inflation. An Aktien führt kaum noch ein Weg vorbei.

Aber je länger du Aktien beobachtest, desto länger wird auch deine Liste der Aktien, die du beobachten möchtest.
Den Aufwand willst du dir natürlich sparen und die Arbeit am besten automatisieren.

Deshalb schreiben wir heute ein Skript, dass die Arbeit für uns erledigt.
Lass den Computer die stupide Arbeit machen und die Daten zusammen sammeln.

Dafür sind nur ein paar wenige Zeilen Python Code nötig.

Du weißt nicht, was du mit den Dateien machen sollst?
Hier findest du Hilfe.

Bibliothek installieren

Am einfachsten lassen sich die Daten mithilfe einer Bibliothek abfragen. Wir werden hier yfinance verwenden.

Vor ein paar Jahren hat Yahoo Finance die offizielle Schnittstelle abgestellt.
Zum Unmut vieler Nutzer.
yfinance springt genau hier ein und hat sich als würdiger Nachfolger erwiesen.

Die Bibliothek ist stabil und deckt alles ab, was du auf https://finance.yahoo.com/ auch finden kannst.

Installieren lässt sie sich einfach über:

%pip install yfinance

Ticker Symbol auswählen

Die Bibliothek arbeitet über die Ticker Symbole der Aktien.
Aber was ist ein Ticker Symbol und wo bekommst du das her?

Eigentlich ganz einfach. Lass mich kurz erklären:

Was ist ein Ticker Symbol?

Eine Aktie die in den USA an der NYSE oder dem NASDAQ registriert ist, hat eine Abkürzung als Kennzeichnung.
Diese Abkürzungen sind 1 – 4 Buchstaben lang und identifizieren eine Aktie.

So ist Microsoft zum Beispiel unter MSF (NYSE) oder MSFT (NASDAQ) registirert.
Ford mit F.
AT&T mit T
und so weiter.

Als Gegenstück hat Deutschland die WKN (Wertpapier Kennnummer).
International ist es die ISIN (International Securities Identification Number).

Welches Ticker Symbol brauche ich?

Das Ticker Symbol setzt sich aus dem Kürzel der Aktie (z.B. MSF) und dem Kürzel der Börse (z.B. DE) zusammen.
Microsoft an der XETRA ist damit MSF.DE

Wunderbar, was ein Ticker Symbol ist, ist jetzt also geklärt.
Aber wo bekommst du es jetzt her?
Und brauchst du für Microsoft MSF oder MSFT?

Das hängt davon ab, an welcher Börse du die Preise beobachten willst.
Jede Börse hat ihren eigenen Preis und ihr eigenes Registrierungssymbol.

Möchtest du also den Preis für Microsoft an der NYSE wissen, brauchst du MSF. Interessiert dich der Preis für Microsoft an der NASDAQ brauchst du das Symbol MSFT.

Wo finde ich das Ticker Symbol zu meiner Aktie?

Am einfachsten ist es den Namen der gewünschten Aktie in die Suchleiste auf https://finance.yahoo.com einzugeben.
Es öffnet sich eine Vorschlagsliste mit Ticker Symbol und Börsenplatz.

Wie der Name sagt, fragt yfinance die Preise von Yahoo Finance ab.

Einen ersten Überblick über das Datenangebot bekommst du hier:
https://help.yahoo.com/kb/exchanges-data-providers-yahoo-finance-sln2310.html

Du siehst sowohl welche Börsen alle vertreten sind, als auch wie aktuell die Daten sind.

Zum Beispiel ist die XETRA – die elektronische Börse Deutschlands – Mit der Endung .DE vertreten.
Die Datenversorgung findet hier alle 15 Minuten statt.

15 Minuten aktuelle Daten reichen für uns auf jeden Fall aus.

Das Symbol für die von dir gewählt Aktie und den Börsenplatz findest du ganz leicht auf der Seite von Yahoo Finance:
https://finance.yahoo.com/

Sobald du den Namen deiner Aktie in die Suchleiste eingibst, bekommst du darunter Vorschläge angezeigt.
Zum Beispiel siehst du für Microsoft am XETRA Börsenplatz das Symbol MSF.DE.

https://finance.yahoo.com Autovervollständigung

Aktieninformationen abfragen

Jetzt soll’s aber endlich mal dran gehen Daten zu sammeln!

Alle Microsoft Daten findest du hier:
https://finance.yahoo.com/quote/MSF.DE/key-statistics?p=MSF.DE

Und alles was du dort siehst, kannst du auch über die Bibliothek abfragen.

Dafür importierst du zunächst die Bibliothek yfinance.
Als Nächstes erzeugst du mit der Ticker Klasse eine neue Instanz – dafür wird das Ticker Symbol benötigt.

Die Ticker Klasse kommt mit einem Attribut info, dass dir alle Aktieninformationen ausgibt:

import yfinance

microsoft = yfinance.Ticker('MSF.DE')
print(microsoft.info)

Mithilfe von json.dumps aus dem json Modul kannst du die Ausgabe etwas übersichtlicher darstellen:

import yfinance, json

microsoft = yfinance.Ticker('MSF.DE')
print(json.dumps(microsoft.info, indent=4))

Du siehst also, von Sektor über Beschreibung hin zu Finanzdaten ist alles dabei.

Preis extrahieren

In der langen Liste von Attributen solltest du regularMarketPrice finden. Hier ist der aktuelle Preis deiner Aktie am gewählten Börsenplatz hinterlegt.
Mit dem Wissen kannst du natürlich auch direkt die Ausgabe einschränken:

import yfinance
microsoft = yfinance.Ticker('MSF.DE')
print(microsoft.info['regularMarketPrice'])

Der Preis ist natürlich ein Zahlen-Wert und damit ist auch keine Währung mit angegeben.
Die Währung hängt immer davon ab, für welche Börse du die Daten abfragst.
Also welches Ticker Symbol du verwendest.

Willst du wissen welche Währung es ist, kannst du zusätzlich noch das Feld currency abfragen:

import yfinance

microsoft = yfinance.Ticker('MSF.DE')
daten = microsoft.info
print(f'{daten["regularMarketPrice"]} {daten["currency"]}')

Nehmen wir zum Vergleich einmal die NYSE:

import yfinance, json

microsoft = yfinance.Ticker('MSFT')
daten = microsoft.info
print(f'{daten["regularMarketPrice"]} {daten["currency"]}')

Und schon bekommst du den Preis in USD.

Historische Preise abfragen

Alternativ kannst du auch über die historischen Preise gehen.
Über das Attribut history kannst du dir die historischen Preisdaten liefern lassen.
Mit dem Attribut period kannst du auswählen welche Daten du möchtest:

WertBedeutungBeschreibung
1d1 TagAlle Preise vom letzten Tag
5d5 TageAlle Preise der letzten Woche
1m1 MonatAlle Preise des letzten Monats
3m3 MonateAlle Preise der letzten 3 Monate
6m6 MonateAlle Preise der letzten 6 Monate
1y1 JahrAlle Preise des letzten Jahres
2y2 JahreAlle Preise der letzten 2 Jahre
5y5 JahreAlle Preise der letzten 5 Jahre
10y10 JahreAlle Preise der letzten 10 Jahre
ytdYear to DateAlle Preise der letzten 360 Tage
maxMaximumAlle vorhandenen Daten

Dabei wird noch nach Intervall eingeschränkt.
Verfügbare Intervalle sind:

WertBedeutungBeschreibung
1m1 Minute1 Preis pro Minute
2m2 Minuten1 Preis alle 2 Minuten
5m5 Minuten1 Preis alle 5 Minuten
15m15 Minuten1 Preis alle 15 Minuten
30m30 Minuten1 Preis alle 30 Minuten
60m60 Minuten1 Preis alle 60 Minuten
90m90 Minuten1 Preis alle 90 Minuten
1h1 Stunde1 Preis je Stunde
1d1 Tag1 Preis pro Tag
5d5 Tage1 Preis alle 5 Tage
1wk1 Woche1 Preis pro Woche
1mo1 Monat1 Preis pro Monat
3mo3 Monate1 Preis alle 3 Monate

Je nachdem welche Periode du gewählt hast, kannst du nicht aus allen Intervallen auswählen.
Willst du zum Beispiel die Preise der letzten 5 Jahre, kannst du nicht einen Preis pro Minute bekommen.
Es wären schlicht zu viele Daten.

import yfinance, json

microsoft = yfinance.Ticker('MSF.DE')
print(microsoft.history(period='1d', interval='1m'))

Preis aus historischen Daten beziehen

Wie du siehst werden dir dabei mehrere Daten geliefert.

SpalteBedeutungBeschreibung
OpenEröffnungswert des IntervallsWelcher Preis war der erste in der vergangenen Minute
HighHöchstwert im IntervallWelcher Preis war der Höchste in der vargangenen Minute
LowNiedrigster Wert im IntervallWelcher Preis war der Niedrigste in der vergangenen Minute
CloseSchlusswert des IntervallsWelcher Preis war am Ende der Minute
VolumeHandelsvolumen im IntervallWieviele Stück wurden gehandelt
DividendsDividende im IntervallWieviel Dividende wurde im Intervall ausgeschüttet
Stock SplitsAktien Splits im IntervallWelche Splits wurden in dem Intervall vorgenommen

Die Daten sind sicher auch interessant! Aber für uns gerade nicht wichtig.
Jetzt geht es erstmal darum den aktuellsten Preis zu finden.

Und der aktuellste Preis ist der letzte in den historischen Daten.
Dabei interessieren wir uns noch für den Close Preis. Das ist der letzte Preis, der in dem Zeitraum gehandelt wurde.

Zusammenfassung

  • Ticker Symbol auf https://finance.yahoo.com/ heraussuchen
  • yfinance installieren
  • Objekt mit Ticker(Symbol) erstellen

Option 1:

  • Daten mit objekt.info abfragen
  • Preis aus regularMarketPrice entnehmen

Option 2:

  • Historische Daten über objekt.history abfragen
  • Preis aus dem letzten Eintrag entnehmen

Vollständiger Code

%pip install yfinance

import yfinance, json

microsoft = yfinance.Ticker('MSF.DE')
daten = microsoft.info
print(json.dumps(daten, indent=4))

print(daten['regularMarketPrice'])

print(f'{daten["regularMarketPrice"]} {daten["currency"]}')

print(microsoft.history(period='1d', interval='1m')['Close'][-1])

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Scroll to Top