etf-friese Posted April 20, 2023 vor 18 Stunden von akista: Hallo. Bei mir funktioniert heute https://query1.finance.yahoo.com/v7/finance/quote?symbols= mit den angeschlossenen Symbolen nicht mehr. Man muss neuerdings einen crumb mit angeben, siehe hier: https://forum.portfolio-performance.info/t/quellen-fur-historische-kurse/46/651 Share this post Link to post
Oli Garch Posted April 20, 2023 · Edited April 20, 2023 by Oli Garch vor 6 Stunden von migieger: Blöderweise gibt's in Libreoffice Calc die Funktion IMPORTXML nicht in LibreOffice Calc würde normalerweise die Kombination XMLFILTERN mit WEBDIENST funktionieren. Tut es aber nicht. Hab es nicht hinbekommen. Aber speziell für Calc möchte ich noch auf eine starke Möglichkeit hinweisen, die im Februar '23 hier im Forum von @etf-friese vorgestellt worden ist. Es muss in Calc eine Extension mit dem Namen LibreOfficeGetRestPlugin von Github installiert werden. Anschließend lassen sich Kurse abrufen, wenn die Daten im json-Format vorliegen. etf-friese hat dafür die api der ING verwendet. Die api-URL lässt sich auch so ausprobieren. Beispiel: https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/DE0005557508 Neben der Extension sollte auch noch java installiert sein. Diese Methode ist auf jeden Fall sehr sicher und schnell. Wer aber den anfänglichen Aufwand scheut, kann aus derselben Quelle die Kurse mit Hilfe der Funktion Webdienst so abrufen: Kurs: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;20))-1);".";",")/1 bid: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 ask: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 Das fettgedruckte D8 in den Formeln ist hier im Beispiel die Zelle, in der die ISIN des Wertpapiers steht und muss natürlich individuell angepasst werden. Läuft auch mit Excel! Share this post Link to post
etf-friese Posted April 20, 2023 vor 24 Minuten von Oli Garch: Wer aber den anfänglichen Aufwand scheut, kann aus derselben Quelle die Kurse mit Hilfe der Funktion Webdienst so abrufen: Kurs: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;20))-1);".";",")/1 bid: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 ask: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 Das fettgedruckte D8 in den Formeln ist hier im Beispiel die Zelle, in der die ISIN des Wertpapiers steht und muss natürlich individuell angepasst werden. Hm, für die Abfrage von Kurs/bid/ask wird hier also 12mal die api befragt statt nur einmal? Dann vernagelt die ING die api bestimmt sehr schnell, das muss doch auch anders gehen, auch wenn man den Weg über die Extension LibreOfficeGetRestPlugin nicht gehen mag. Kann man die Response nicht in eine Variable schieben und dann von den Calc-Funktionen mehrfach nutzen lassen? Share this post Link to post
enormo Posted April 20, 2023 Am 3.2.2021 um 15:33 von Oli Garch: Hallo zyp, willkommen im Forum. Das Forum ist ja u. a. dafür da, um Fragen zu stellen erklären ist schwierig, aber ich kann eine Beispieldatei anhängen und dann können wir sehen, ob es noch Diskussionsbedarf gibt. Wenn wider Erwarten überhaupt nichts funktionieren sollte, könnte es an der Verwendung der "split"-Funktion liegen, die erst ab ca. Excel-Version 2000 unterstützt wird. Eine Anpassung wäre dann aber auch nicht problematisch. Also ich beschreibe mal alles recht ausführlich, damit auch zufällige Leser später wissen, worum es geht: Im Anhang befinden sich drei Dateien Datei YahooKursundKennzahlen v.1.0.xlsm: Mit den Fuktionen YahooData und YahooText können, wenn vorhanden, alle 68 Daten, die Yahoo bereitstellt, ausgelesen werden. Beispielfunktion: =YahooData($D3;"regularMarketPrice") für alle Kennzahlen mit numerischen Werten in $D3 steht hierbei das Symbol des Wertpapiers und wird mit dem Dollarzeichen auf Spalte D festgetackert, damit sich die Formel auch nach rechts und links kopieren lässt ohne dass sich der Bezug zur Spalte ändert. Der zweite Parameter "regularMarketPrice" muss in der Funktion immer in Anführungszeichen gesetzt werden. Hier in der Beispieldatei verwende ich aber als zweiten Parameter die Spaltenüberschrift, weshalb es in der Funktion so aussieht: YahooData($D3;D$2). Auch hier bewirkt das Dollarzeichen, dass der Bezug zur Zeile 2 als Spaltenüberschrift beim kopieren erhalten bleibt. Wichtig: Die Art der Groß- und Kleinschreibung muss immer beachtet werden. Wer also eigene Spaltenüberschriften bevorzugt, sollte wie im Beispiel die Variante 1 wählen. Besonderheit Kursdatum und Kurszeit: es wird derselbe Wert ausgelesen. Der Unterschied wird nur durch die Formatierung der jeweiligen Zelle als Datum bzw. Uhrzeit angezeigt. Die Formel, die dahintersteckt ist nicht ganz trivial, da die bei Yahoo hinterlegte serielle Zeitangabe (unix-Format) in eine Excel-konforme Zahl umgewandelt wird, die außerdem noch erkennt, ob das Datum in die Sommerzeit fällt. Falls die Sommerzeit abgeschafft werden sollte, stimmt die Zeitangabe nicht mehr! Aber da sehe ich noch keinen übermäßigen Handlungsdruck, ist ja ein EU-Projekt) Beispiel Funktion: =YahooText($D3;"regularMarketDayRange") für alle Kennzahlen, die Text enthalten. Datei YahooKennzahlenliste.xlsm: hier sind alle auslesbaren Kennzahlen aufgelistet. Hier lässt sich auch die genaue Schreibweise der Kennzahl für die eigene Datei kopieren. Man kann auch testen, welche Kennzahlen für ein bestimmtes Wertpapier verfügbar sind: In Zelle B1 das Symbol eines Wertpapiers eingeben und die Werte aller Kennzahlen werden angezeigt. Werte, die für dieses Wertpapier nicht verfügbar sind, werden rot markiert. Datei KursundKennzahlen v.1.0.txt: enthält die Funktionen YahooData und YahooText als Textdatei zum kopieren in eigene Dateien. Um Excel-Makros ausführen zu können muss eventuell die Makrosicherheitsstufe in Excel angepasst werden! Aktualisieren mit STRG-ALT-F9 oder mit Button und Makro wie in der Beispieldatei. YahooKursUndKennzahlen v1.0.xlsm 31 kB · 326 Downloads Yahoo Kennzahlenliste.xlsm 18 kB · 300 Downloads YahooKursundKennzahlen v.1.0.txt 1 kB · 272 Downloads Hallo in die Runde, ganz herzlichen Dank für diese Mustertabelle. Ich nutze sie schon sehr lange, um meine Depotdaten in Excel aufzubereiten. Leider habe ich seit heute das Problem, dass keine Daten mehr gezogen werden. Zuletzt funktionierte alles am 17.04.23 einwandfrei. Gab es Änderungen? Kann man dem abhelfen? Besten Dank für Eure Unterstützung! Viele Grüße Share this post Link to post
Oli Garch Posted April 20, 2023 vor 46 Minuten von etf-friese: Kann man die Response nicht in eine Variable schieben und dann von den Calc-Funktionen mehrfach nutzen lassen? Du hast recht @etf-friese. Die Belastung durch das 4-malige Abrufen für einen Kurs ist natürlich sehr hoch. Hier mal eine Variante, bei der mittels Webdienst nur einmal abgefragt wird. Die ISIN wieder in Zelle D8, der Abruf mittels Webdienst in O8. Dann steht in O8: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8) Alle Kurse können dann aus dieser einen Abfrage ausgelesen werden: Kurs: =WECHSELN(LINKS(TEIL(O8;FINDEN("price";O8)+7;20);FINDEN(",";TEIL(O8;FINDEN("price";O8)+7;20))-1);".";",")/1 bid: =WECHSELN(LINKS(TEIL(O8;FINDEN("bid";O8)+5;20);FINDEN(",";TEIL(O8;FINDEN("bid";O8)+5;20))-1);".";",")/1 ask: =WECHSELN(LINKS(TEIL(O8;FINDEN("ask";O8)+5;20);FINDEN(",";TEIL(O8;FINDEN("ask";O8)+5;20))-1);".";",")/1 Na ja, sieht auch gleich etwas übersichtlicher aus und ist bei mehreren Wertpapieren sicherlich auch schneller. Share this post Link to post
etf-friese Posted April 20, 2023 vor 30 Minuten von Oli Garch: Die ISIN wieder in Zelle D8, der Abruf mittels Webdienst in O8. Dann steht in O8: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8) Alle Kurse können dann aus dieser einen Abfrage ausgelesen werden: Kurs: =WECHSELN(LINKS(TEIL(O8;FINDEN("price";O8)+7;20);FINDEN(",";TEIL(O8;FINDEN("price";O8)+7;20))-1);".";",")/1 bid: =WECHSELN(LINKS(TEIL(O8;FINDEN("bid";O8)+5;20);FINDEN(",";TEIL(O8;FINDEN("bid";O8)+5;20))-1);".";",")/1 ask: =WECHSELN(LINKS(TEIL(O8;FINDEN("ask";O8)+5;20);FINDEN(",";TEIL(O8;FINDEN("ask";O8)+5;20))-1);".";",")/1 Na ja, sieht auch gleich etwas übersichtlicher aus und ist bei mehreren Wertpapieren sicherlich auch schneller. Share this post Link to post
Oli Garch Posted April 20, 2023 Na hoppla, jetzt funktioniert (bei mir) der Kursabruf über Yahoo wieder! Share this post Link to post
enormo Posted April 20, 2023 vor 2 Stunden von Oli Garch: Na hoppla, jetzt funktioniert (bei mir) der Kursabruf über Yahoo wieder! Ja, alles wieder wie immer Danke Dir für die Info!! Share this post Link to post
ChuckysEnkel Posted April 20, 2023 3 hours ago, Oli Garch said: Na hoppla, jetzt funktioniert (bei mir) der Kursabruf über Yahoo wieder! 1 hour ago, enormo said: Ja, alles wieder wie immer Danke Dir für die Info!! +1, dito Gott sei dank :-D Share this post Link to post
chirlu Posted April 20, 2023 Bis zum nächsten Mal. Man könnte fast denken, Yahoo Finance hätte denselben Inhaber wie Twitter. Share this post Link to post
migieger Posted April 20, 2023 vor 7 Stunden von Oli Garch: in LibreOffice Calc würde normalerweise die Kombination XMLFILTERN mit WEBDIENST funktionieren. Tut es aber nicht. Hab es nicht hinbekommen. Aber speziell für Calc möchte ich noch auf eine starke Möglichkeit hinweisen, die im Februar '23 hier im Forum von @etf-friese vorgestellt worden ist. Es muss in Calc eine Extension mit dem Namen LibreOfficeGetRestPlugin von Github installiert werden. Anschließend lassen sich Kurse abrufen, wenn die Daten im json-Format vorliegen. etf-friese hat dafür die api der ING verwendet. Die api-URL lässt sich auch so ausprobieren. Beispiel: https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/DE0005557508 Neben der Extension sollte auch noch java installiert sein. Diese Methode ist auf jeden Fall sehr sicher und schnell. Wer aber den anfänglichen Aufwand scheut, kann aus derselben Quelle die Kurse mit Hilfe der Funktion Webdienst so abrufen: Kurs: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("price";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+7;20))-1);".";",")/1 bid: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("bid";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 ask: =WECHSELN(TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;FINDEN(",";TEIL(WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8);FINDEN("ask";WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/instrumentheader/"&D8))+5;20))-1);".";",")/1 Das fettgedruckte D8 in den Formeln ist hier im Beispiel die Zelle, in der die ISIN des Wertpapiers steht und muss natürlich individuell angepasst werden. Läuft auch mit Excel! Kann man bei ING den Handelsplatz angeben? Z.B. XETRA oder Stuttgart? Share this post Link to post
Oli Garch Posted April 20, 2023 vor einer Stunde von migieger: Kann man bei ING den Handelsplatz angeben? Z.B. XETRA oder Stuttgart? Es gibt da noch eine weitere URL, da geht das. Die Formeln dafür werden mit der Webdienst-Methode aber nicht einfacher. Habe ich übrigens mal im Forum von PortfolioPerformance aufgestöbert. URL (Beispiel): =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/charttool/DE0005557508") Und jetzt die Formeln: In Zelle D3 steht die ISIN des Wertpapiers (bei Bedarf in der Webdienst-URL anpassen) In Zelle O3 platzieren wir für den einmaligen Abruf je Wertpapier die Webdienst-Funktion: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/charttool/"&D3) Steht die Webdienst-URL nicht in Zelle O3, muss in den folgenden Formeln der Zellbezug O3 16 mal abgeändert werden. XETRA: bid =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("bid";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+5;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("bid";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+5;20))-1);".";",")/1 ask =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("ask";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+5;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("ask";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+5;20))-1);".";",")/1 last =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("last";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+6;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));FINDEN("last";TEIL(O3;FINDEN("ETR";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("ETR";O3);500)));20)+6;20))-1);".";",")/1 Stuttgart: bid =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("bid";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+5;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("bid";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+5;20))-1);".";",")/1 ask =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("ask";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+5;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("ask";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+5;20))-1);".";",")/1 last =WECHSELN(LINKS(TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("last";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+6;20);FINDEN(",";TEIL(TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));FINDEN("last";TEIL(O3;FINDEN("STU";O3);FINDEN("pushSymbol";TEIL(O3;FINDEN("STU";O3);500)));20)+6;20))-1);".";",")/1 Share this post Link to post
migieger Posted April 21, 2023 · Edited April 21, 2023 by migieger Präzisierung @Oli Garch, klasse! Da ich an den Schlußkursen interessiert bin, habe ich nur die "last" Abfragen gecheckt... Für XETRA mußte ich noch den exchangeCode von ETR in DBEF abändern, aber dann hat alles wunderbar geklappt. Fetten Dank. (Komisch: für z.B. ISIN IE00B4L5Y983 lautet der exchangeCode für XETRA anders als z.B. für Dein Beispiel DE0005557508). Mir gefällt auch sehr, daß der Webdienst nur noch einmal aufgerufen, zwischengespeichert und dann beliebig oft abgefragt wird. Hoffen wir, daß ING das beibehält und nicht ändert... Woher bekommst Du die diese api Webseiten wie z.B. https://component-api.wertpapiere.ing.de/api/v1/components/charttool/DE0005557508? Durch "rumstöbern" im PP Forum? Gibt es dazu eine Sammlung? (Mit besonderem Interesse für Schlußkurse)? Share this post Link to post
Oli Garch Posted April 21, 2023 vor 28 Minuten von migieger: Für XETRA mußte ich noch den exchangeCode von ETR in DBEF abändern Das verstehe ich nicht ganz. In meiner Formel brauche ich doch für Xetra zwingend das ETR um den dafür erforderlichen Teil des Strings zu extrahieren. Das kann man sich übrigens sehr schön im Browser Edge strukturiert anzeigen lassen, indem man ihn als json-viewer verwendet. Das geht so: Go to edge://flags. In the Search flags text field, type JSON viewer. In the JSON Viewer dropdown menu, select Enabled. Click the Restart button which appears in the lower right. Danach in die Adresszeile die Beispiel-URL https://component-api.wertpapiere.ing.de/api/v1/components/charttool/DE0005557508 eingeben. Sieht sehr schön aus. Kein fortlaufender Text, sondern mit Struktur. vor 28 Minuten von migieger: Woher bekommst Du die diese api Webseiten Alles reiner Zufall, weil ich auch mit dem Programm PortfolioPerformance arbeite. Da schaue ich gerne mal in das dazugehörige Forum und da wurde über dieses Thema diskutiert. Share this post Link to post
etf-friese Posted April 21, 2023 vor 14 Minuten von Oli Garch: vor einer Stunde von migieger: Für XETRA mußte ich noch den exchangeCode von ETR in DBEF abändern Das verstehe ich nicht ganz. Manchmal ist es ETR (für Aktien?), manchmal DBEF (für ETFs?) Share this post Link to post
akista Posted April 21, 2023 vor 13 Stunden von ChuckysEnkel: +1, dito Gott sei dank :-D Ja, klappt wieder. Zum Glück. Habe angefangen eine Alternative über google zu bauen, war aber noch nicht fertig. Falls jemand Interesse hat, hier eine ganz gute Anleitung: Share this post Link to post
Oli Garch Posted April 21, 2023 vor 34 Minuten von etf-friese: Manchmal ist es ETR (für Aktien?), manchmal DBEF (für ETFs?) jetzt verstehe ich. Vielen Dank etf-friese. Share this post Link to post
driller Posted April 21, 2023 danke für excel *.xlsm files download fuktionieren prima :-) Share this post Link to post
migieger Posted April 21, 2023 Kennt jemand eine Webseite von ariva und/oder onvista, die man wie die ING Seite (https://component-api.wertpapiere.ing.de/api/v1/components/charttool/DE0005557508) auswerten kann? Share this post Link to post
driller Posted April 21, 2023 · Edited April 21, 2023 by driller jemand am stocks download durch yahoo für Interval ... 1h, 5m, 1m als python script mit csv file Abspeicherung oder in Tabelle *.xslm file interessiert ? Share this post Link to post
etf-friese Posted April 21, 2023 · Edited April 21, 2023 by etf-friese vor 49 Minuten von migieger: Kennt jemand eine Webseite von ariva und/oder onvista, die man wie die ING Seite (https://component-api.wertpapiere.ing.de/api/v1/components/charttool/DE0005557508) auswerten kann? https://api.onvista.de/api/v1/instruments/STOCK/181029/times_and_sales?endDate=2023-04-21T23:59:59.000+00:00&idNotation=38005&order=DESC&startDate=2023-04-21T00:00:00.000+00:00 bzw. https://api.onvista.de/api/v1/instruments/STOCK/181029/times_and_sales?endDate=2023-04-21T23:59:59.000+00:00&idNotation=2025437&order=DESC&startDate=2023-04-21T00:00:00.000+00:00 Beide sind fast gleich bis auf die idNotation=38005 (Stuttgart) bzw idNotation=2025437 (Xetra) instruments/STOCK/181029/ = Deutsche Telekom Da könnte auch instruments/BOND/xyz oder sonst was stehen, muss man immer gucken bei jeweiligem Papier, z.B. https://www.onvista.de/aktien/handelsplaetze/Deutsche-Telekom-Aktie-DE0005557508 bei Times&Sales den gewünschten Handelsplatz wählen und in der Netzwerkanalyse gucken was dann als Request kommt. Share this post Link to post
Gast230427 Posted April 21, 2023 · Edited April 21, 2023 by Pilharmonie Ok, ohne das alles durchzulesen: Dim Request as Object Dim Return as String Set Request = CreateObject("WinHttp.WinHttpRequest.5.1") Request.Open "Get", "https://www.finanzen.de" Request.send Return=Request.responseText MsgBox Return Müsste eigentlich eine gute Grundlage sein um das Problem zu lösen, sofern mir das Problem klar geworden ist. Damit bekommt man den html-Code der Webseite. Aus der lässt sich leicht der aktuelle Kurs extrahieren (bspielsweise über das gute alte InStr() ). Dankt mir später. Share this post Link to post
migieger Posted April 21, 2023 vor 6 Stunden von etf-friese: https://api.onvista.de/api/v1/instruments/STOCK/181029/times_and_sales?endDate=2023-04-21T23:59:59.000+00:00&idNotation=38005&order=DESC&startDate=2023-04-21T00:00:00.000+00:00 bzw. https://api.onvista.de/api/v1/instruments/STOCK/181029/times_and_sales?endDate=2023-04-21T23:59:59.000+00:00&idNotation=2025437&order=DESC&startDate=2023-04-21T00:00:00.000+00:00 Beide sind fast gleich bis auf die idNotation=38005 (Stuttgart) bzw idNotation=2025437 (Xetra) instruments/STOCK/181029/ = Deutsche Telekom Da könnte auch instruments/BOND/xyz oder sonst was stehen, muss man immer gucken bei jeweiligem Papier, z.B. https://www.onvista.de/aktien/handelsplaetze/Deutsche-Telekom-Aktie-DE0005557508 bei Times&Sales den gewünschten Handelsplatz wählen und in der Netzwerkanalyse gucken was dann als Request kommt. @etf-friese Danke! Netzwerkanalyse. Super-Hinweis. Bin gerade am "spielen"... Muß mir was zusammenbasteln aus z.B. https://api.onvista.de/api/v1/funds/ISIN:IE00B4L5Y983/snapshot?idNotation=108344843. "snapshot" mit der richtigen Börse und daraus "last" Sind für mein Interesse an Schluß-Kursen besser zum parsen geeignet als "times_and_sales" aus Deinen o.g. URLs. Melde mich zurück... Share this post Link to post
migieger Posted April 22, 2023 · Edited April 22, 2023 by migieger Am 21.4.2023 um 10:25 von etf-friese: Manchmal ist es ETR (für Aktien?), manchmal DBEF (für ETFs?) Ich habe mal folgende Abfrage für LibreOffice Calc für "last" Kurse von der ING api für z.B. iShares Core MSCI World UCITS ETF mit ISIN IE00B4L5Y983 gebastelt: In Zelle H4 steht: =WEBDIENST("https://component-api.wertpapiere.ing.de/api/v1/components/charttool/"&B4) und in B4 steht die gewünschte ISIN. Dann ergibt den "last" Kurs für "Xetra": =WERT(WECHSELN(TEIL(H4;FINDEN("last";H4;FINDEN("Xetra";H4))+6;FINDEN(",";H4;FINDEN("last";H4;FINDEN("Xetra";H4)))-6-FINDEN("last";H4;FINDEN("Xetra";H4)));".";",";1)) Der Algorithmus dahinter: 1. Finde Position von "Xetra" (damit sollte die wechselnde Bezeichnung von Xetra für ETFs und Aktien irrelevant werden) 2. Finde Position des darauf folgenden "last" (da kann auch "bid", "ask" usw. stehen) 3. Finde Position des darauf folgenden Kommas "," (das "," ist der Delimiter zum nächsten Feld, hier "open") 4. Finde String zwischen "last:" und darauf folgenden Komma "," 5. Wandle im gefundenen String den Dezimalpunkt in ein -komma (nur für ein deutsches Spreadsheet) 6. Wandle String in Zahl Das funktioniert für andere Börsenplätze, wie z.B. "Stuttgart" etc. ebenfalls. Dann in der Formel die drei "Xetra" in "Stuttgart" wandeln. Insbes. @Oli Garch und @etf-friese, sind da nach eurer Erfahrung grobe Schnitzer drin? Ich habe es nur für meine Handvoll ETFs für Xetra und Anleihen für Stuttgart getestet... Share this post Link to post
migieger Posted April 22, 2023 · Edited April 22, 2023 by migieger Und weiter: Die Formel funktioniert ohne Änderung auch für onvista. Man muß lediglich in H4 eingeben für ETFs: =WEBDIENST("https://api.onvista.de/api/v1/funds/ISIN:"&B4&"/snapshot") Anleihen: =WEBDIENST("https://api.onvista.de/api/v1/bonds/ISIN:"&B10&"/snapshot") wobei in B4 wieder die gewünschte ISIN steht. Dann abfragen wie im Post vorher. Share this post Link to post