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