Oli Garch September 26, 2024 vor 6 Stunden von CK-ONE: Aus irgendeinem Grund bekomme ich aber mit der WEBDIENST-Funktion in Excel immer nur #WERT! heraus. @CK-ONE die CNN-api scheint diese Art der automatisierten Datenabfrage nicht zu mögen. Auch ein Versuch in einem Google-Sheet mit der Funktion importdata funktioniert nicht. Ein minimalistisches VBA-Makro, das die Funktion Webdienst nachbildet, hat immerhin zu einer Datenausgabe geführt. Diese lautete: " I'm a teapot. You're a bot. " Wenn man an der richtigen Schraube dreht, bekommt man jedoch mit einem recht kurzen VBA-Makro die Daten geladen und der entsprechende Wert lässt sich herausfiletieren. Du müsstest allerdings dafür in Excel den Zugriff auf Makros aktivieren. Wenn du das willst, melde dich noch einmal. Diesen Beitrag teilen Link zum Beitrag
CK-ONE September 26, 2024 Danke Dir. Das hatte ich befürchtet, dass es an so etwas liegen könnte. Ich könnte mir vorstellen, dass es bei https://feargreedmeter.com/ weniger restriktiv zugeht. Oder auch in der schmaleren Variante hier: https://feargreedmeter.com/fear-and-greed-index Und hier: https://en.macromicro.me/charts/50108/cnn-fear-and-greed Dort ist allerdings überall die ausgegeben Zeichenkette zu lang für Excel, wie es scheint. :/ Diesen Beitrag teilen Link zum Beitrag
Oli Garch September 27, 2024 vor 16 Stunden von CK-ONE: Dort ist allerdings überall die ausgegeben Zeichenkette zu lang für Excel, wie es scheint. So ist es. Da funktioniert es auch nur mit VBA-Makro oder mit dem oben erwähnten Python, von dem ich allerdings auch nichts verstehe. Eine Möglichkeit, die Beschränkungen von Excel zu umgehen sehe ich vielleicht noch in einem Umweg über Googlesheets. Der geht so: In google-drive eine neue Tabelle erstellen. In Zelle A1 die Formel für den Index: =importxml("https://feargreedmeter.com/";"//*[@class='text-center text-4xl font-semibold mb-1 text-white']") eingeben. Die Google-Tabelle freigeben (für jeden, der über den Link verfügt). Lässt sich natürlich auch noch formatieren wie hier: Für die Übernahme in Excel ist das aber uninteressant. Jetzt der Excel-Import: Adresse der Google-Tabelle kopieren Am Ende des kopierten Links eventuell vorhandenes Anhängsel „/edit?gid=0#gid=0“ entfernen. Dafür „/export?format=tsv“ anhängen. Das Ganze in die Webdienst-Funktion einfügen etwa so: =WERT(WEBDIENST("https://docs.google.com/spreadsheets/d/1FQajOnI7l_..../export?format=tsv")) Möchte man das Ganze in der Google-Tabelle nicht in Zelle A1 positionieren, müssen einige vorangestellte Zeichen abgetrennt werden: =WERT(RECHTS(WEBDIENST("https://docs.google.com/spreadshee_..../export?format=tsv"));2) Sollte es noch nicht funktionieren, dann noch einmal die Freigabe in Google-Drive überprüfen. Diesen Beitrag teilen Link zum Beitrag
CK-ONE September 28, 2024 Oli Garch, das ist der Hammer - 1000. Dank! Ich finde, das ist eine sehr elegante Lösung, die wirklich fantastisch funktioniert. Ich denke, ich werde sie an der einen oder anderen Stelle wieder und wieder einsetzen. :)))) Diesen Beitrag teilen Link zum Beitrag
StefanS September 30, 2024 Moin! Ich würde auch gerne alle Kurse ins Excel lesen. Bei den Aktien funktioniert das auch wunderbar mit dem Datentyp "Aktien". Aber wie kann ich das bei den Derivaten machen? Ich hatte gerade dieses Thema nach "Optionsscheinen" durchsucht und leider keinen Treffer gefunden. Gibt es dazu denn auch eine Möglichkeit? Angeblich soll z.B. bei den Optionsscheinen von HSBC die WKN identisch sein mit dem Ticker-Symbol, aber damit komme ich dann dennoch nicht weiter. Ich möchte auch nicht unbedingt ein weiteres Sheet oder noch eine Tabelle haben, sondern einfach nur den Geld-Kurs (oder auch mal den Brief-Kurs) ohne weitere Informationen anzeigen lassen. Geht denn sowas? Gruß Stefan Diesen Beitrag teilen Link zum Beitrag
Oli Garch September 30, 2024 Poste mal eins, zwei WKN oder ISIN als Beispiel, dann schauen wir mal. Diesen Beitrag teilen Link zum Beitrag
Oli Garch September 30, 2024 Die Wertpapier-api der ING würde sich wohl eignen, wenn es nicht zu viele Abrufe sind. Funktioniert nur mit ISIN! Formel für "bid": =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1))+5;20))-1);".";",")/1 Formel für "ask": =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1))+5;20))-1);".";",")/1 Hier steht die ISIN in Zelle A1 und muss für die eigene Tabelle angepasst werden. Eventuell Ersetzen-Funktion verwenden, da in jeder Formel 4 mal vorhanden. Oder gleich die ISIN einbauen. Also statt /"&A1 dann /DE000SU0XKZ1". Diesen Beitrag teilen Link zum Beitrag
StefanS September 30, 2024 Genial! Das sieht gut aus! Sind so 20 Abrufe. Geht das noch? Und wie oft werden die Kurse aktualisiert, bzw. wie? Vielen Dank!! Diesen Beitrag teilen Link zum Beitrag
Oli Garch September 30, 2024 Das wurde hier im Thread schon thematisiert. Der Datenanbieter ist sicherlich nicht sehr erfreut, wenn die api allzu sehr belastet wird. Die hier vorgestellte Formel ruft für jeden Kurs 4 mal die Daten ab. Das lässt sich natürlich durch Auslagerung der Funktion Webdienst auf nur noch einmal reduzieren. Beispiel für bid: Wir verschieben den Webienst-Abruf in die Zelle Z1 oder dahin wo er nicht stört und tragen dort die Funktion ein: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&A1) ' in A1 steht die ISIN Da, wo der bid-Kurs stehen soll, kommt diese Formel: =WECHSELN(TEIL(Z1;FINDEN("bid";Z1)+5;FINDEN(",";TEIL(Z1;FINDEN("bid";Z1)+5;20))-1);".";",")/1 Für ask gilt dann: =WECHSELN(TEIL(Z1;FINDEN("ask";Z1)+5;FINDEN(",";TEIL(Z1;FINDEN("ask";Z1)+5;20))-1);".";",")/1 Also brauchen wir statt 2x4 Abrufe nur noch einen. Der Vorteil ist ja auch, das sich die Tabelle viel schneller aktualisiert. Ach ja, Aktualisierung mit: Strg - Alt - F9 Das Ganze lässt sich auch noch als VBA-Makro realisieren, das wollen aber viele nicht. Diesen Beitrag teilen Link zum Beitrag
StefanS Oktober 1, 2024 Vielen Dank! Das funktioniert hervorragend!! Diesen Beitrag teilen Link zum Beitrag
CK-ONE Oktober 15, 2024 · bearbeitet Oktober 15, 2024 von CK-ONE Am 26.9.2024 um 23:24 von Oli Garch: @CK-ONE die CNN-api scheint diese Art der automatisierten Datenabfrage nicht zu mögen. Auch ein Versuch in einem Google-Sheet mit der Funktion importdata funktioniert nicht. Ein minimalistisches VBA-Makro, das die Funktion Webdienst nachbildet, hat immerhin zu einer Datenausgabe geführt. Diese lautete: " I'm a teapot. You're a bot. " Wenn man an der richtigen Schraube dreht, bekommt man jedoch mit einem recht kurzen VBA-Makro die Daten geladen und der entsprechende Wert lässt sich herausfiletieren. Du müsstest allerdings dafür in Excel den Zugriff auf Makros aktivieren. Wenn du das willst, melde dich noch einmal. Habe es jetzt tatsächlich doch per VBA-Makro gelöst. Wer den Gold Fear & Greed-Index implementieren möchte, mit diesem VBA-Code geht es: Option Explicit Function GetFearGreedIndex() As String Dim xmlHttp As Object Dim html As Object Dim fearGreedValue As String ' XMLHTTP-Objekt erstellen Set xmlHttp = CreateObject("MSXML2.XMLHTTP") ' Anfrage an die Webseite senden xmlHttp.Open "GET", "https://www.jmbullion.com/fear-greed-index/", False xmlHttp.send ' HTML-Dokument-Objekt erstellen Set html = CreateObject("htmlfile") html.body.innerHTML = xmlHttp.responseText ' nach dem Fear & Greed-Wert im HTML suchen Dim regex As Object Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "chart-fear-greed-(\d+)\.png" regex.Global = False Dim matches As Object Set matches = regex.Execute(html.body.innerHTML) If matches.Count > 0 Then fearGreedValue = matches(0).SubMatches(0) Else fearGreedValue = "Nicht gefunden" End If ' Wert zurückgeben GetFearGreedIndex = fearGreedValue End Function In eine Excel-Zelle wird der Wert dann so gezogen: =WERT(GetFearGreedIndex()) Diesen Beitrag teilen Link zum Beitrag
Oli Garch Oktober 15, 2024 Sehr interessant, besonders die Verwendung von RegExp. Das habe ich so noch nicht gekannt. Doch der Wert von dieser Webseite bezieht sich wohl auf Gold? Diesen Beitrag teilen Link zum Beitrag
etf-friese Oktober 15, 2024 vor 1 Stunde von CK-ONE: Wer den Gold Fear & Greed-Index implementieren möchte, mit diesem VBA-Code geht es: Warum nicht einfach https://cdn.jmbullion.com/fearandgreed/fearandgreed.json nutzen? Diesen Beitrag teilen Link zum Beitrag
CK-ONE Oktober 21, 2024 Am 15.10.2024 um 19:51 von etf-friese: Warum nicht einfach https://cdn.jmbullion.com/fearandgreed/fearandgreed.json nutzen? Top! Das "Define the URL of the JSON resource" im Quelltext war mir glatt entgangen. Diesen Beitrag teilen Link zum Beitrag
CK-ONE November 10, 2024 · bearbeitet November 10, 2024 von CK-ONE Hallo zusammen! Momentan suche ich eine Möglichkeit, irgendwo Bid- und Ask-Kurse von Bankhaus Scheich auszulesen. Konkret geht es mir um eine Bitcoin-Referenz für den Handel via Trade Republic. Leider finde ich da keine Quelle zum Auslesen. In einer Scheich-News aus 2020 sehe ich, dass sie mit der Börse Stuttgart kooperieren. Tatsächlich ist der Kurs ihres Krypto-Handelsplatzes BSDEX (verfügbar über deren BISON App [Link]) nah dran, aber eben nicht 1:1 Kennt jemand von Euch evtl. eine Quelle für Bid- und Ask-Kurse von Bankhaus Scheich? Diesen Beitrag teilen Link zum Beitrag
thomasmeyer42 17. Januar Hey direkt von Bankhaus Scheich Bid- und Ask-Kurse zu bekommen, ist gar nicht so einfach, da die oft über Partner oder Plattformen handeln. BSDEX ist sicherlich nah dran, aber vielleicht gibt’s da minimale Spread-Unterschiede. Du könntest versuchen, über API-Zugänge von BSDEX oder BISON genauere Daten rauszuziehen. Alternativ mal direkt beim Bankhaus nachfragen – vielleicht haben die eine Lösung oder Empfehlung. Viel Erfolg! Diesen Beitrag teilen Link zum Beitrag
Privatier2029 2. Februar Hallo zusammen, in meinem Excel-Sheet rufe ich verschiedene Daten über Jahoo Finance ab, wie z.B. "regularMarketPrice" das klappt auch wunderbar. Nun würde ich gerne auch noch das "KGV" und "EPS" im Excel-Sheet anzeigen. Dazu habe ich diesen Faden hier durchsucht, aber nichts gefunden oder vielleicht hab ich es auch einfach überlesen. Habt ihr eine Idee wie das funktioniert, oder hat das jemand von euch bereits implementiert? Diesen Beitrag teilen Link zum Beitrag
Oli Garch 2. Februar Sicher gab es hier im Forum dafür schon Lösungen, nur hat Yahoo viele ehemals funktionierende Adressen abgeschaltet. Jetzt sind mir noch 2 Adressen (in Variationen) bekannt, die noch funktionieren. Ich gehe mal jeinfach davon aus, dass du eine Lösung ohne VBA-Makro mit der Funktion Webdienst bevorzugst. Die Yahoo-Adresse für Webdienst, die deine gesuchten Werte beinhaltet, geht so: =WEBDIENST("https://query1.finance.yahoo.com/v6/finance/options/"&B2) In B2 in diesem Beispiel steht das Tickersymbol. Da, wo der Wert stehen soll, trägst du diese Formel ein: =WECHSELN(TEIL(TEIL(Tabelle2!C2;SUCHEN("epsForward";Tabelle2!C2);100);LÄNGE("epsForward")+3;SUCHEN(",";TEIL(TEIL(Tabelle2!C2;SUCHEN("epsForward";Tabelle2!C2);100);LÄNGE("epsForward")+3;20))-1);".";",")/1 Ich weiß nicht genau, ob ich die Formel so hier schon mal vorgestellt habe, aber im Unterschied zu früheren Varianten muss die Formel nicht mehr für jede Abfrage gesondert angepasst werden. Egal, ob du epsForward oder trailingPE verwendest, die Formel bleibt gleich. Es sollte nur darauf geachtet werden, dass Änderungen immer an 4 Stellen in der Formel vorgenommen werden müssen. Hier in der Beispielformel steht die Webdienst-Abfage in Tabelle2!C2, also ausgelagert auf ein anderes Tabellenblatt, wo sie nicht stört. Sie muss also individuell angepasst werden (4 mal). Die Formel sollte eigentlich für alle numerischen Werte funktionieren, Ausgaben in Textform wie longName oder fullExchangeName benötigen kleine Anpassungen. Alle verfügbaren Werte findet man durch Eingabe der Webdienst-URL in den Browser. Ich war mal wieder recht ausführlich, damit Mitleser, die sich noch nicht damit beschäftigt haben, etwas damit anfangen können, auch, wenn du vielleicht nur eine Formel wissen wolltest. Diesen Beitrag teilen Link zum Beitrag
Privatier2029 3. Februar Hi Oli Garch, auf dich ist wie immer Verlass. Vielen Dank für deine Hilfe. Bin diese Woche viel unterwegs, deshalb kann ich deine Formeln wahrscheinlich erst am Wochende testen. Diesen Beitrag teilen Link zum Beitrag
Privatier2029 5. Februar Hatte jetzt doch schon etwas früher Zeit zum Testen. Die Formel funktioniert wunderbar. Nochmals Danke. Diesen Beitrag teilen Link zum Beitrag
MaexNRW 8. Februar Am 2.2.2025 um 13:27 von Oli Garch: Sicher gab es hier im Forum dafür schon Lösungen, nur hat Yahoo viele ehemals funktionierende Adressen abgeschaltet. Jetzt sind mir noch 2 Adressen (in Variationen) bekannt, die noch funktionieren. Ich gehe mal jeinfach davon aus, dass du eine Lösung ohne VBA-Makro mit der Funktion Webdienst bevorzugst. Die Yahoo-Adresse für Webdienst, die deine gesuchten Werte beinhaltet, geht so: =WEBDIENST("https://query1.finance.yahoo.com/v6/finance/options/"&B2) In B2 in diesem Beispiel steht das Tickersymbol. Da, wo der Wert stehen soll, trägst du diese Formel ein: =WECHSELN(TEIL(TEIL(Tabelle2!C2;SUCHEN("epsForward";Tabelle2!C2);100);LÄNGE("epsForward")+3;SUCHEN(",";TEIL(TEIL(Tabelle2!C2;SUCHEN("epsForward";Tabelle2!C2);100);LÄNGE("epsForward")+3;20))-1);".";",")/1 Ich weiß nicht genau, ob ich die Formel so hier schon mal vorgestellt habe, aber im Unterschied zu früheren Varianten muss die Formel nicht mehr für jede Abfrage gesondert angepasst werden. Egal, ob du epsForward oder trailingPE verwendest, die Formel bleibt gleich. Es sollte nur darauf geachtet werden, dass Änderungen immer an 4 Stellen in der Formel vorgenommen werden müssen. Hier in der Beispielformel steht die Webdienst-Abfage in Tabelle2!C2, also ausgelagert auf ein anderes Tabellenblatt, wo sie nicht stört. Sie muss also individuell angepasst werden (4 mal). Die Formel sollte eigentlich für alle numerischen Werte funktionieren, Ausgaben in Textform wie longName oder fullExchangeName benötigen kleine Anpassungen. Alle verfügbaren Werte findet man durch Eingabe der Webdienst-URL in den Browser. Ich war mal wieder recht ausführlich, damit Mitleser, die sich noch nicht damit beschäftigt haben, etwas damit anfangen können, auch, wenn du vielleicht nur eine Formel wissen wolltest. Hallo Oli, wenn ich das richtig sehe, sind die KPIs bzw. Felder "Erwartete Dividende & Rendite" und "Ex-Dividendendatum", die man auf der normalen Yahoo Finance Webseite bei einer Aktie sieht, in der Query nicht verfügbar, oder hab ich mich da verguckt? Liebe Grüße Max Diesen Beitrag teilen Link zum Beitrag
Oli Garch 8. Februar Hallo Max, das ist leider so, wie du es gesehen hast. Um an diese Werte zu kommen, könnte man diese direkt auf der Webseite auslesen. Das gelingt aber nur mit einem VBA-Makro und bei vielen Werten dauert die Aktualisierung schon etwas länger. Bei jedem Wert muss ja der jeweilige Webseitenquelltext heruntergeladen wird. Wenn dich das nicht stört und du dich etwas auskennst in (vba)-Excel, würden wir das recht schnell hinkriegen. Schneller geht es natürlich immer mit der Excel Webdienst-Funktion, die aber nur 32767 Zeichen verarbeiten kann und der Quelltext der meisten Webseiten ist nun mal länger. Viele Daten liefert auch die Onvista Daten-api (Beispiel: https://api.onvista.de/api/v1/stocks/ISIN:DE0005557508/snapshot?). Leider ist der Text im json-Format auch zu lang für die Webdienst-Funktion. Ein VBA-Makro auf dieser Basis müsste aber trotzdem etwas schneller laufen, als das vba-Auslesen einer Webseite. Um da ein brauchbares Makro zu basteln, würde ich aber einige Tage brauchen. Diesen Beitrag teilen Link zum Beitrag
Laser12 9. Februar vor 22 Stunden von Oli Garch: Viele Daten liefert auch die Onvista Daten-api (Beispiel: https://api.onvista.de/api/v1/stocks/ISIN:DE0005557508/snapshot?). Danke schön. Diesen Beitrag teilen Link zum Beitrag
leoluchs 13. Februar Am 23.4.2023 um 08:25 von migieger: Kleines Spiele-Spreadsheet Update, so daß man die gewünschten Börsenplätze und Kurse nicht mehr in die Formeln eintragen muß, sondern das einmal pro Zeile festlegt. Sollte dann wohl auch Kursabfrage-ING-Onvista.ods und nicht Schlusskurs-Abfrage-ING-Onvista.ods heißen. Nun dann... Kurs-Abfrage-ING-Onvista-v1c.ods 73 kB · 135 Downloads Großartig - das funktioniert bei den wenigen ETFs in unserem Depot prima. Gibt es einen Weg, diese Funktion auch in ein Google Sheet einzufügen? Diesen Beitrag teilen Link zum Beitrag