Zum Inhalt springen
mc-fly

Aktienkurse im Excel automatisch aktualisieren

Empfohlene Beiträge

Oli Garch
· bearbeitet von 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!

 

 

Diesen Beitrag teilen


Link zum Beitrag
etf-friese
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? 

Diesen Beitrag teilen


Link zum Beitrag
enormo
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

Diesen Beitrag teilen


Link zum Beitrag
Oli Garch
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.

Diesen Beitrag teilen


Link zum Beitrag
etf-friese
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.

:pro:

Diesen Beitrag teilen


Link zum Beitrag
Oli Garch

Na hoppla, jetzt funktioniert (bei mir) der Kursabruf über Yahoo wieder!

Diesen Beitrag teilen


Link zum Beitrag
enormo
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!!

Diesen Beitrag teilen


Link zum Beitrag
ChuckysEnkel
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

Diesen Beitrag teilen


Link zum Beitrag
chirlu

Bis zum nächsten Mal. Man könnte fast denken, Yahoo Finance hätte denselben Inhaber wie Twitter.

Diesen Beitrag teilen


Link zum Beitrag
migieger
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?

 

Diesen Beitrag teilen


Link zum Beitrag
Oli Garch
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

 

 

 

 

Diesen Beitrag teilen


Link zum Beitrag
migieger
· bearbeitet von 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)?

Diesen Beitrag teilen


Link zum Beitrag
Oli Garch
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.

Diesen Beitrag teilen


Link zum Beitrag
etf-friese
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?)

dbef.thumb.png.e5a76963bec491a69c4679d44391254e.png

Diesen Beitrag teilen


Link zum Beitrag
akista
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: 

 

Diesen Beitrag teilen


Link zum Beitrag
Oli Garch
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.

Diesen Beitrag teilen


Link zum Beitrag
driller

danke für excel *.xlsm files download fuktionieren prima :-)

 

 

Diesen Beitrag teilen


Link zum Beitrag
driller
· bearbeitet von 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 ? 

Diesen Beitrag teilen


Link zum Beitrag
etf-friese
· bearbeitet von 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.

Diesen Beitrag teilen


Link zum Beitrag
Gast230427
· bearbeitet von 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.

Diesen Beitrag teilen


Link zum Beitrag
migieger
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...
 

Diesen Beitrag teilen


Link zum Beitrag
migieger
· bearbeitet von 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...
 

Diesen Beitrag teilen


Link zum Beitrag
migieger
· bearbeitet von 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.
 

Diesen Beitrag teilen


Link zum Beitrag

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...