Um (Echtzeit-)Aktienkurse und Kennzahlen (Ratios) nach Excel zu importieren, können wir die von Yahoo Finance zur Verfügung gestellte API nutzen. Wie der Import der Daten von Yahoo Finance und die Automatisierung in Excel generell funktionieren, dass kannst du im Detail in meinem Post zum Download historischer Aktienkurse durchlesen.
Einen Überblick über die Yahoo Finance API findest du in meinem Artikel Aktienkurse mithilfe der Yahoo Finance API aus dem Netz ziehen.
In diesem Artikel werde ich deshalb nur auf die Punkte etwas detaillierter eingehen, die sich konkret mit dem Download von Echtzeitdaten befassen. Es könnte deshalb Sinn machen, zunächst die beiden anderen Artikel zu lesen, um ein generelles Verständnis über die Funktionsweise der API und des Datenimports zu bekommen.
Was du in diesem Artikel lernst
- Wie du die Yahoo API zum Download von Realtime-Aktienkursen und anderen Finanzkennzahlen nutzt
- Wie du die Daten für eine Reihe von Unternehmen bzw. Tickern gleichzeitig herunterlädst
- Wie du die von Yahoo definierten Tags flexibel nutzen kannst
Realtime Aktienkurse nach Excel importieren
Bevor ich in die Details einsteige, hier wieder ein Screenshot des Ergebnisses, welches wir am Ende dieser Anleitung erreichen möchten:
Wir möchten gleichzeitig für verschiedene Ticker (d.h. Unternehmen) den aktuellen Aktienkurs, den Gewinn je Aktie und die Dividende aus dem Internet laden, anschließend KGV und Dividendenrendite berechnen und diese mit vorher festgelegten Zielwerten bzw. Grenzwerten vergleichen. Wir wollen also so etwas wie einen simplen Stock Screen erstellen, mit dem wir schnell eine große Anzahl an Unternehmen nach KGV bzw. Dividendenrendite filtern können.
Das Vorgehen ist grundsätzlich identisch zu dem im Beitrag zum Download von historischen Aktienkursen erklärten Ansatz, nur dass wir hier nicht die historischen Kurse eines Unternehmens, sondern ein paar (Echtzeit-)Kennzahlen vieler Unternehmen nach Excel importieren möchten:
- In Excel die Entwicklertools im Menüband sichtbar machen
- Die erste Webabfrage als Makro aufzeichnen
- Die Webabfrage automatisieren, d.h. so ergänzen, dass wir mehrere Ticker gleichzeitig abfragen können
- Die Abfrage über einen Button aktualisieren lassen
- KGV und Dividendenrendite berechnen und einen grafischen Vergleich mit unseren Zielwerten einbauen (Screen)
Die API für Echtzeitdaten nutzen
Wie im Artikel zur Yahoo Finance API bereits beschrieben, lautet die URL für die (Echtzeit-)Kursdaten und Ratios folgendermaßen:
http://finance.yahoo.com/d/quotes.csv?s=AAPL+MCD+DAI.DE&f=snl1hg
wobei
- s=AAPL+MCD+DAI.DE – jeweils durch ein Pluszeichen getrennte Tickersymbole der Unternehmen (in diesem Fall fragen wir die Daten für die Unternehmen Apple, McDonald’s und Daimler ab)
- f=snl1hg – Tags von Yahoo Finance, die die zu übergebenden Daten definieren (Ticker s, Name n, aktuellen Kurs l1, Tageshoch h und Tagestief g)
Wir kümmern uns erstmal nicht um die Festlegung der Unternehmen bzw. der Kennzahlen, sondern importieren zunächst mal die Daten so, wie wir sie hier vorliegen haben. Wenn wir die obige URL in unseren Browser kopieren und auf Enter drücken, wird eine .csv Datei mit folgendem Inhalt auf unseren Rechner heruntergeladen:
Die Unternehmen sind also in den verschiedenen Zeilen und die Kennwerte als Spalten angeordnet.
Wenn wir – wie in diesem Fall – vorab wissen, welche Indikatoren wir für unsere Analyse benötigen und diese später nicht anpassen müssen, dann können wir schonmal die für uns passenden Tags wählen.
Aus der Tabelle können wir folgende Yahoo Finance Tags identifizieren:
- Aktueller Kurs: l1
- EPS (Gewinn je Aktie): e
- Dividende je Aktie: d
Wenn wir diese Tags nutzen, aber gleichzeitig noch den Ticker mit herunterladen möchten, dann sollte unsere URL jetzt folgendermaßen aussehen:
http://finance.yahoo.com/d/quotes.csv?s=AAPL+MCD+DAI.DE&f=sl1ed
Die neue .csv Datei sieht dann in etwa so aus:
Analog zum Vorgehen beim Download historischer Kurse zeichnen wir zunächst ein Makro auf, mit dem wir die Daten per Webabfrage als Text importieren. Dabei achten wir darauf, das Tickersymbol nicht mit zu importieren und fügen die Daten in Zelle B5 unseres Tabellenblatts ein. Anschließend tragen wir in Spalte A in den Zeilen 5, 6, 7 usw. ein paar Tickersymbole ein und beschriften die Spalten in der Zeile 4 analog zum Screenshot oben (also A4: Ticker, A5: Akt. Kurs usw.).
Die Tickersymbole verknüpfen und in die Webabfrage einbauen
Nach Aufzeichnen des Makros sieht unser Code in VBA ungefähr so aus:
Wir sehen wieder, dass die Ticker (in diesem Fall AAPL+MCD+DAI.DE) im Code fest verankert sind. Wir müssen also im nächsten Schritt diese Ticker durch eine Variable ersetzen und mit den Symbolen in Spalte A unseres Tabellenblattes verknüpfen.
Der angepasste bzw. ergänzte Code sieht dann in wie folgt aus (ein paar weitere Zeilen unten habe ich abgeschnitten):
Was bewirken nun diese Ergänzungen? Zunächst mal stellen wir sicher, dass ggf. die alten Inhalte zunächst gelöscht werden, bevor wir eine neue Abfrage starten (ClearContents). Dann definieren wir wieder eine neue Variable mit der Bezeichnung Symbols oder Ticker, mit deren Hilfe wir die Tickersymbole übergeben. Was wir ebenfalls bereits kennen: In der URL ersetzen wir den festen Ticker AAPL+MCD+DAI.DE durch “& Symbols &”.
Anschließend müssen wir der Variable Symbols nur noch die entsprechenden Ticker (getrennt jeweils durch ein Pluszeichen) zuweisen, die in den Zellen A5, A6, A7 usw. stehen. Der ganze restliche Code macht eigentlich genau das. Das Programm geht einfach durch alle Zellen in Spalte A durch, in denen ein Wert steht und verknüpft diese Zellen mit einem Pluszeichen.
Anschließend fügen wir einen Button neben der Tabelle ein, um die Abfrage automatisch neu starten zu können und nicht immer das Makro manuell ausführen zu müssen (Details dazu wie das geht findest du hier).
KGV und Dividendenrendite ausrechnen und bewerten
Um unseren einfach Stock Screen zu vervollständigen müssen wir nur noch das Kurs-Gewinn-Verhältnis (KGV) und die Dividendenrendite ausrechnen (in den Spalten E und F):
KGV = Aktienkurs / EPS (Spalte B / Spalte C)
Dividendenrendite = Dividende je Aktie / Aktienkurs (Spalte D / Spalte B)
In die Spalten I10 und I11 tragen wir unsere Zielwerte ein. In diesem Fall möchten wir Aktien filtern, die ein KGV kleiner als 12 und eine Dividendenrendite größer 3% haben. Mit einer bedingten Formatierung bzw. Conditional Formatting (unter Home -> Bedingte Formatierung) können wir zwischen verschiedenen Möglichkeiten der grafischen Bewertung auswählen.
Ich habe mich hier mal für die Symbole in Ampelfarben entschieden. D.h. zum Beispiel für das KGV: Alle Werte, die ein KGV kleiner als 12 haben bekommen ein grünes Symbol mit einem Häkchen, alle die ein KGV größer als 14 haben ein rotes Symbol mit einem Kreuzchen, alle dazwischen ein gelbes Symbol mit einem Ausrufezeichen. Heißt übersetzt: Alle Werte mit grünen Symbolen erfüllen unser Kriterium, die mit den gelben befinden sich in der Grauzone, die roten sind für uns zu hoch.
Wir können also eine große Anzahl an Aktien sehr schnell und einfach (und vor allem direkt in Excel) nach dem KGV filtern und die nach unserer Meinung günstig bewerteten Werte identifizieren.
Hier findest du beispielhaft eine Exceldatei inkl. Makro, mit der du die historischen Aktienkurse eines beliebigen Unternehmens sowie eines Vergleichswerts (für einen von dir festgelegten Zeitraum) direkt nach Excel importieren kannst:
Falls du Interesse an der in diesem Artikel beschriebenen Excel-Datei hast, dann schreib mir einfach eine Email (axel@diyinvestor.de). Lass mich außerdem sehr gerne wissen, falls du Anregungen bzw. Verbesserungsvorschläge für die DIY Tools hast.
Wenn du Excel 2013 installiert hast, dann solltest du dir außerdem diesen Artikel einmal ansehen (es geht nämlich noch einfacher): Finanzdaten von Yahoo Finance in Excel 2013
2 Kommentare zu „Echtzeitkurse und Kennzahlen nach Excel importieren“
URL um die Aktienkurse von Yahoo abzurufen geht leider nicht 🙁
Ja, die API wurde offenbar vor kurzem durch Yahoo abgeschaltet…