Um Aktien zu analysieren, benötigen wir regelmäßig historische oder aktuelle Kursinformationen und andere Finanzkennzahlen. Mithilfe der Yahoo Finance API und ein paar einfachen VBA-Makros ist es ganz leicht, diese Daten direkt nach Excel zu importieren.
Wie so oft ist es allerdings so, dass die Abdeckung für US-amerikanische Aktien am besten ist. Eine äquivalente Seite mit vollständigen Infos zu europäischen bzw. deutschen Werten, die gleichzeitig einen komfortablen Download erlauben, habe ich bisher noch nicht gefunden.
Was du in diesem Artikel lernst
- Was API bedeutet und wie die Yahoo Finance API funktioniert
- Welche Arten von Daten bei Yahoo Finance verfügbar sind
- Wie du die Daten einfach mithilfe eines einfachen Makros nach Excel importieren kannst
Was ist die Yahoo Finance API?
Der Begriff API steht für “Application Programming Interface” (umgangssprachlich bei uns “Programmierschnittstelle”). Dabei handelt es sich allgemein um eine Schnittstelle, die von einer Software oder einem Softwaresystem zur Verfügung gestellt wird und die es erlaubt, das Softwaresystem bzw. die Daten aus dem System in ein anderes Programm einzubinden.
Die Daten stellt in diesem Fall Yahoo Finance (finance.yahoo.com) zur Verfügung. Mithilfe der Schnittstelle können wir dann die Daten mehr oder weniger direkt nach Excel importieren.
Update März 2018
Yahoo Finance hat kürzlich die API für den Download von historischen und auch von Echtzeitdaten angepasst. Ein automatisierter Download nach Excel ist nun nicht mehr ohne Weiteres möglich. Der Download derDaten von Google Financenach Excel scheint auch nur noch eingeschränkt zu funktionieren.
Als neue Alternative für den Download historischer Daten könnt ihr aber nun die API von Alpha Vantage nutzen (funktioniert fast genauso wie die Yahoo Finance API).
Wie die Yahoo Finance API-Schnittstelle aufgebaut ist
Yahoo Finance ist eine der bekanntesten Finanzwebseiten und enthält umfangreiche Informationen zu den meisten gelisteten Unternehmen. Dazu gehören Aktienkurse (historisch sowie in Echtzeit), Gewinn pro Aktie (Earnings per Share bzw. EPS), KGV, Dividende etc., aber auch Unternehmens- und Wirtschafts-News. Grundsätzlich gibt es zwei Arten von Daten, die wir von Yahoo Finance nach Excel importieren können:
- historische Kursdaten für ein bestimmtes Unternehmen
- Echtzeitdaten (ca. 10-15 Minuten verzögert) für eine Reihe von Unternehmen
Beide APIs funktionieren grundsätzlich über den Download eines CSV-Dokuments (Dateiendung .csv), die wir dann automatisiert über ein Makro nach Excel importieren können. CSV steht dabei für “Comma Separated Values” und beschreibt den Aufbau einer Textdatei zum Austausch einfach strukturierter Daten.
Die verschiedenen CSV-Datei werden jeweils über die festgelegte Struktur von Yahoo Finance aufgerufen, was uns die Möglichkeit gibt, das ganze in Excel zu automatisieren.
Disclaimer
Die Anzeige von Aktienkursen auf einer Webseite erfordern typischerweise eine Lizenz der relevanten Börse(n).
Die Yahoo Finance API wird nicht offiziell unterstützt und die Daten können daher manchmal auch inakkurat sein. Die kommerzielle Nutzung der API kann ggf. gegen die Geschäftsbedingungen von Yahoo verstoßen.
Historische Kursdaten
Die historischen Kursdaten finden wir, indem wir auf der Yahoo Finance Webseite in der linken oberen Ecke ein Tickersymbol oder einen Unternehmensnamen eingeben.
Tickersymbole bestehen typischerweise aus drei bis vier Buchstaben oder Zahlen. Bei internationalen Werten (u.a. auch bei den deutschen Aktien) wird der Ticker noch um das Kürzel der Börse ergänzt, an der die Aktie gehandelt wird. Auch die bekannten Indizes (DAX, MDAX, Dow Jones, NASDAQ etc.)besitzen einen Yahoo Finance Ticker. Dieser fängt typischerweise mit einem ^ Zeichen an. Hier ein paar Beispiele:
- Apple Inc.: AAPL
- Daimler: DAI.DE
- DAX: ^GDAXI
Geben wir z.B. “aapl” ein, wählen “Apple Inc.” als Unternehmen aus und klicken dann auf “Go”, erscheint die Seite des Unternehmens Apple.
Auf der linken Seite sehen wir dann eine Rubrik namens “Historische Kurse” bzw. “Historical Prices”. Wenn wir auf den entsprechenden Link klicken, gelangen wir direkt zur Seite mit den historischen Aktienkursen der Firma Apple. Ganz unten auf der Seite finden wir dann den Link “Download to Spreadsheet”. Wenn wir auf diesen Link klicken, werden die Kursdaten als .csv Dokument auf unserem Rechner gespeichert.
Wenn wir einmal nur mit der Maus über den Link fahren, sehen wir die genaue URL:
http://real-chart.finance.yahoo.com/table.csv?s=AAPL&d=4&e=10&f=2016&g=d&a=11&b=12&c=1980&ignore=.csv
Dies ist die URL, die wir in unserem Excel-Makro nutzen werden, um die Daten über eine so genannte Webabfrage nach Excel zu importieren. Hierbei tauchen in der URL folgende Werte auf:
- s=AAPL – Das Tickersymbol des Unternehmens, für das wir die Daten benötigen
- d=4, e=10, f=2016 – Enddatum (Monat, Tag und Jahr) der Zeitreihe, die wir herunterladen möchten. In diesem Fall endet die Zeitreihe am 10. Mai 2016
- a=11, b=12, c=1980 – Anfangsdatum (Monat, Tag, Jahr) der Zeitreihe. In diesem Fall beginnt die Zeitreihe am 12. Dezember 1980
Zu beachten ist hier, dass bei Yahoo die Monate von 0 bis 11 durchnummeriert sind, also der Januar dem Monat 0 entspricht.
Echtzeitdaten
Für die Echtzeitdaten gibt es ebenfalls eine API mit folgender URL:
http://finance.yahoo.com/d/quotes.csv?s=AAPL+MCD+DAI.DE&f=snl1hg
Hier haben wir folgende Variablen:
- s=AAPL+MCD+DAI.DE – Tickersymbole der Unternehmen, für die wir die Daten benötigen. Bei mehreren Unternehmen werden die Tickersymbole durch ein Pluszeichen getrennt (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 (in diesem Fall fragen wir Ticker (s), Name (n), aktuellen Kurs (l1), Tageshoch (h) und Tagestief (g) ab)
Die Definition der Tags ist an mehreren Stellen im Netz zu finden. Trotzdem liste ich sie hier nochmal mit einer deutschen Übersetzung des wesentlichen Tags auf.
Item | Kennzahl | Yahoo API Tag |
---|---|---|
Kursdaten | ||
Ask | Ask | a |
Bid | Bid | b |
Ask (Realtime) | Ask (Realtime) | b2 |
Bid (Realtime) | Bid (Realtime) | b3 |
Previous Close | Schlusskurs Vortag | p |
Open | Eröffnungskurs | o |
Dividenden | ||
Dividend Yield | Dividendenrendite | y |
Dividend per Share | Dividende pro Aktie | d |
Dividend Pay Date | Datum Dividendenzahlung | r1 |
Ex-Dividend Date | Datum ex-Dividende | q |
Daten und Kursänderungen | ||
Change | Kursveränderung | c1 |
Change & Percent Change | Kursveränderung abs. + in Prozent | c |
Change (Realtime) | kursveränderung (Echtzeit) | c6 |
Change Percent (Realtime) | Kursveränderung in Prozent (Echtzeit) | k2 |
Change in Percent | Kursveränderung in Prozent | p2 |
Last Trade Date | Letztes Handelsdatum | d1 |
Trade Date | Akt. Handelsdatum | d2 |
Last Trade Time | Letzter Trade | t1 |
Durchschnitte | ||
After Hours Change (Realtime) | After Hours Change (Realtime) | c8 |
Commission | Commission | c3 |
Day’s Low | Tagestief | g |
Day’s High | Tageshoch | h |
Last Trade (Realtime) With Time | Letzter Trade (Echtzeit) mit Zeit | k1 |
Last Trade (With Time) | Letzter Trade (mit Zeit) | l |
Last Trade (Price Only) | Letzter Trade (nur Preis) | l1 |
1 yr Target Price | Target-Preis 1-Jahr | t8 |
Change From 200 Day Moving Average | Änderung ggü. 200-Tage-Durchschnitt | m5 |
Percent Change From 200 Day Moving Average | Änderung ggü. 200-Tage-Durchschnitt (in Prozent) | m6 |
Change From 50 Day Moving Average | Änderung ggü. 50-Tage-Durchschnitt | m7 |
Percent Change From 50 Day Moving Average | Änderung ggü. 50-Tage-Durchschnitt (in Prozent) | m8 |
50 Day Moving Average | Gleitender 50-Tage-Durchschnitt | m3 |
200 Day Moving Average | Gleitender 200-Tage-Durchschnitt | m4 |
Ticker Informationen | ||
More Info | Weitere Informationen | i |
Market Capitalization | Marktkapitalisierung | j1 |
Market Cap (Realtime) | Marktkapitalisierung (Echtzeit) | j3 |
Float Shares | Float Shares | f6 |
Name | Name | n |
Notes | Anmerkungen | n4 |
Symbol | Ticker | s |
Shares Owned | Eigene Aktien | s1 |
Stock Exchange | Börse | x |
Shares Outstanding | Anzahl Aktien | j2 |
52 Wochen Kurse | ||
52 Week High | 52-Wochen-Hoch | k |
52 week Low | 52-Wochen-Tief | j |
Change From 52 Week Low | Änderung ggü. 52-Wochen-Tief | j5 |
Change From 52 week High | Änderung ggü. 52-Wochen-Hoch | k4 |
Percent Change From 52 week Low | Prozentuale Änderung ggü. 52-Wochen-Tief | j6 |
Percent Change From 52 week High | Prozentuale Änderung ggü. 52-Wochen-Hoch | k5 |
52 week Range | 52-Wochen Bandbreite | w |
Volumen | ||
Volume | Handelsvolumen | v |
Ask Size | Ask Größe | a5 |
Bid Size | Bid Größe | b6 |
Last Trade Size | Größe letzter Trade | k3 |
Average Daily Volume | Durchschnittl. Tägliches Handelsvolumen | a2 |
Ratios | ||
Earnings per Share | Gewinn pro Aktie | e |
EPS Estimate Current Year | EPS Schätzung laufendes Jahr | e7 |
EPS Estimate Next Year | EPS Schätzung nächstes Jahr | e8 |
EPS Estimate Next Quarter | EPS Schätzung nächstes Quartal | e9 |
Book Value | Buchwert | b4 |
EBITDA | EBITDA | j4 |
Price / Sales | Kurs-Umsatz-Verhältnis | p5 |
Price / Book | Kurs-Buchwert-Verhältnis | p6 |
P/E Ratio | KGV | r |
P/E Ratio (Realtime) | KGV (Echtzeit) | r2 |
PEG Ratio | PEG | r5 |
Price / EPS Estimate Current Year | Kurs / Gewinnschätzung laufendes Jahr | r6 |
Price / EPS Estimate Next Year | Kurs / Gewinnschätzung nächstes Jahr | r7 |
Short Ratio | Short Ratio | s7 |
Verschiedene | ||
Ticker Trend | Ticker Trend | t7 |
Trade Links | Trade Links | t6 |
Order Book (Realtime) | Orderbuch (Echtzeit) | i5 |
High Limit | High Limit | l2 |
Low Limit | Low Limit | l3 |
Holdings Value | Holdings Value | v1 |
Holdings Value (Realtime) | Holdings Value (Echtzeit) | v7 |
Revenue | Umsatz | s6 |
Day’s Value Change | Day’s Value Change | w1 |
Day’s Value Change (Realtime) | Day’s Value Change (Echtzeit) | w4 |
Price Paid | Price Paid | p1 |
Day’s Range | Day’s Range | m |
Day’s Range (Realtime) | Day’s Range (Echtzeit) | m2 |
Holdings Gain Percent | Holdings Gain Percent | g1 |
Annualized Gain | Annualized Gain | g3 |
Holdings Gain | Holdings Gain | g4 |
Holdings Gain Percent (Realtime) | Holdings Gain Percent (Echtzeit) | g5 |
Holdings Gain (Realtime) | Holdings Gain (Echtzeit) | g6 |
Das heißt alle diese Daten können wir in Echtzeit über Yahoo Finance nach Excel importieren (sofern die Daten bei Yahoo hinterlegt sind).
Den Datenimport nach Excel automatisieren
Wenn wir nun den Datenimport nach Excel automatisieren wollen, dann müssen wir die Webanfrage so modifizieren, dass genau die richtigen Daten heruntergeladen werden (also die richtigen Indikatoren bzw. der richtige Zeitraum für die für uns interessanten Ticker). Hierfür können wir die Webanfrage mit den entsprechenden Zellen in unserem Excel-Tabellenblatt verlinken, in denen wir den Ticker usw. einfach eintragen. Z.B. über einen “Aktualisieren”-Button können wir dann die Aktualisierung der Webanfrage auslösen.
Ich habe noch zwei weitere Artikel verfasst, in denen ich etwas genauer beschreibe, wie du so eine Webanfrage einfach erstellen und über ein Makro und einen Button automatisieren kannst. Die beiden Anleitungen findest du hier:
- Historische Aktienkurse nach Excel importieren
- Finanzdaten in Echtzeit nach Excel importieren
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
Wenn du außerdem Wechselkurse in dein Spreadsheet ziehen möchstest, dann schau dir auch diesen Artikel an:
- Aktuelle Wechselkurse direkt nach Excel importieren
As someone deeply immersed in the world of financial analysis and data integration, I bring a wealth of expertise in utilizing APIs, particularly the Yahoo Finance API, to import crucial stock-related information into Excel. My proficiency extends to both historical and real-time data retrieval, allowing for comprehensive analysis. To substantiate my knowledge, let's delve into the key concepts discussed in the provided article:
1. What is the Yahoo Finance API?
The Yahoo Finance API, short for "Application Programming Interface," serves as a bridge between the Yahoo Finance platform and external programs. In the context of financial analysis, it provides a means to extract data such as stock prices, earnings per share (EPS), price-to-earnings ratio (P/E), and other relevant metrics.
2. Yahoo Finance API Interface
Yahoo Finance offers a comprehensive API that facilitates the extraction of data. Historically, it allowed automated downloads of historical and real-time data. However, as of March 2018, changes were made to the API, making direct Excel downloads more complex. An alternative mentioned in the article is the Alpha Vantage API.
3. Types of Data Available on Yahoo Finance
Yahoo Finance provides extensive information on listed companies, including historical and real-time stock prices, earnings per share (EPS), P/E ratio, dividends, and relevant news. The two main types of data importable into Excel are historical stock price data and real-time data (approximately 10-15 minutes delayed).
4. Historical Kursdaten (Historical Price Data)
To import historical data into Excel:
- Visit the Yahoo Finance website and enter a ticker symbol or company name.
- Click on "Historical Kurse" or "Historical Prices."
- Navigate to the "Download to Spreadsheet" link at the bottom of the page.
- The article provides a sample URL, explaining the structure for creating a web query in Excel.
5. Echtzeitdaten (Real-time Data)
To import real-time data into Excel:
- Use the Yahoo Finance API with the appropriate URL structure.
- The article includes a sample URL for real-time data retrieval, breaking down the variables used.
6. Tags and Definitions
The article includes a comprehensive list of Yahoo API tags along with their definitions in both English and German. These tags cover a wide range of financial indicators, such as stock prices, market capitalization, earnings per share, and more.
7. Automating Data Import to Excel
The final section discusses the automation of data import into Excel. It suggests modifying web queries to extract the specific data of interest and provides links to additional articles for creating web queries and automating the process using macros and buttons in Excel.
In conclusion, my in-depth understanding of the Yahoo Finance API and its integration with Excel empowers users to efficiently analyze stock data, whether historical or real-time, facilitating informed investment decisions.