Update: Finanzdaten von Yahoo Finance in Excel 2013

yahoo-finance-api-excel 2013

Inhalt

yahoo-finance-api-excel 2013

In einem meiner ersten Artikel habe ich recht detailliert beschrieben, wir wir die Daten von Yahoo Finance (Aktienkurse, KGV, KBV, etc.) mithilfe eines einfachen Makros aus dem Netz direkt in unser Excel Tabellenblatt ziehen können. Nun bin ich über eine einfache Excel Funktion gestolpert, die das Ganze im Wesentlichen automatisch macht. Funktioniert allerdings wohl erst ab Excel 2013.

Diese recht wenig bekannte Funktion heißt “Webservice” und in diesem Artikel möchte ich einmal kurz erklären, wie die Webservice-Funktion funktioniert.


Die Yahoo Finance API

Die Yahoo Finance API hatte ich ja bereits im Detail in einem früheren Post beschrieben. Auch nach dem Relaunch der Yahoo Finance Webseite scheint die API noch genauso zu funktionieren wie bisher. Unter folgender URL können wir uns das entsprechende .csv File runterladen:

http://finance.yahoo.com/d/quotes.csv?s=AAPL&f=n

Die URL hat zwei Variablen, die wir in unserem kleinen Excel-Tool automatisieren müssen:

  • s – das Tickersymbol des Unternehmens, für das wir die Daten benötigen. In diesem Fall AAPL, der Ticker von Apple Inc.
  • f – das Tag von Yahoo Finance, das die zu übergebenden Daten definiert. In diesem Fall fragen wir den Unternehmensnamen (n) ab.

Alle Yahoo API Tags findet ihr sowohl in meinem Original-Beitrag, als auch im zugehörigen Excel-Tool, welches auf der DIY Investor Ressourcen-Seite zum Download zur Verfügung steht.


Finanzdaten nach Excel 2013 ziehen mit der Webservice-Funktion

Die Nutzung der Funktion in Excel 2013 ist erstmal denkbar einfach. Mit folgender Formel können wir zum Beispiel den Namen von Apple direkt nach Excel ziehen (Yahoo API Tag n und Ticker AAPL):

=WEBSERVICE(“http://finance.yahoo.com/d/quotes.csv?s=AAPL&f=n”)

Das Ergebnis ist ganz simpel ein Text mit folgendem Inhalt: “Apple Inc.”.

Genauso einfach ist es nun, sowohl das Tickersymbol als auch das entsprechende Yahoo Finance Tag in der Formel durch Variablen zu ersetzen.

Den Text AAPL ersetzen wir einfach durch “&C6&”, das API Tag n einfach durch “&A7&”. Wenn wir nun den Ticker AAPL in die Zelle C6 und das API Tag n in die Zelle A7 eingeben, dann sollte die Formel das identische Ergebnis liefern.

=WEBSERVICE(“http://finance.yahoo.com/d/quotes.csv?s=”&C$6&”&f=”&$A7&””)

Anstelle von AAPL können wir nun jeden x-beliebigen Ticker in Zelle C6 eingeben und uns für jedes beliebige API Tag aus der Liste den entsprechenden Wert anzeigen lassen (Zelle A7).


Textfelder in Zahlen umwandeln

Da die Webservice-Funktion die Daten erstmal nur im Textformat nach Excel überträgt, können wir noch die Funktion “Numbervalue” ergänzen, um die Daten – wo relevant – direkt als Zahl zurückgeliefert zu bekommen.

Die fertige Formel sieht dann so aus:

=NUMBERVALUE(WEBSERVICE(“http://finance.yahoo.com/d/quotes.csv?s=”&C$6&”&f=”&$A7&””))

Numbervalue wandelt lediglich den durch Webservice zurückgeliefertern Text in eine Zahl um.

Diese Funktionalität benötigen wir natürlich nicht für diejenigen Felder, in denen sowieso keine Zahl steht (wie Name, Ticker, Währung, Börse etc.).

Allerdings bekommen wir auch für einige Felder, in denen wir eigentlich Zahlen erwarten würden, eine Fehlermeldung, weil die Umwandlung Probleme bereitet. So werden zum Beispiel Marktkapitalisierung, EBITDA sowie Umsatz (Revenue) regelmäßig inklusive der Einheit übermittelt. Ein Umsatz von 300 Mrd. USD wird also als 300B zurückgeliefert. Dies müssen wir dann ggf. nochmal zusätzlich in Excel anpassen.


Excel Tool zum Download

Falls ihr nochmal alle Yahoo Finance API Tags auf einem Blatt benötigt und die Formel gerne in Excel nachvollziehen möchtet, dann könnt ihr auf der DIY Investor Ressourcen-Seite ein entsprechendes kleines Excel-Tool herunterladen.

yahoo finance excel 2013 webservice

Weitere Ressourcen

2 Kommentare zu „Update: Finanzdaten von Yahoo Finance in Excel 2013“

  1. Moin moin,

    Danke für den Tipp – werde ich gleich einmal ausprobieren.

    Die Daten aktualisieren sich dann wahrscheinlich nur durch Neuberechnung des Tabellenblattes oder?

    VG
    Manuel

    1. Moin Manuel,

      die Daten sollten aktualisiert werden, wenn du entweder direkt in eine Zelle reingehst oder wenn du das gesamte Workbook einmal aktualisierst (also nicht F9, sondern Steuerung+Alt+F9).

      Viele Grüße,
      Axel

Kommentar verfassen

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

Weitere relevante Artikel zum Thema

Warenkorb
Nach oben scrollen