Ramstein Posted October 8, 2015 Ich verwende einen Apple Mac und Numbers. Dafür gibt es deutlich weniger fertige Lösungen, als für Windows und Excel; daher musste ich mir selber helfen. Bisher sind zwei AppleScripte entstanden, die automatisch Kurse aktualisieren. Script 1 lädt von Yahoo Finance für eine Liste von Tickersymbolen die aktuellen Kurse. Vorteil: dokumentierte Schnittstelle, nur ein Aufruf, daher recht schnell. Nachteil: es gibt keine Anleihekurse. Script 2 lädt die WP-Seite von der Börse Frankfurt (wie ein normaler Browser) und sucht dann aus dem HTML-Text die Anleihekurse und die aufgelaufenen Stückzinsen heraus. Mit leichten Änderungen könnte man auch Kurse von Aktien, Fonds und ETFs holen. Nachteil: relativ langsam, da für jedes Wertpapier die Seite geholt werden muss; muss geändert werden, falls die Börse ihre Seiten ändert. Auf Anregung von supertobs, den ich beim WpF-Treffen in Regensburg kennengelernt habe, habe ich jetzt eine verteilbare Fassung mit Beispiel erstellt. Die angehängte ZIP-Datei enthält die beiden Scripte und zwei Beispieldateien: Kurse zu Tickersymbolen holen Anleihekurse und Stückzinsen holen; die "Hilfe"-Spalte ist normalerweise ausgeblendet Die Scripte sind weder schön noch effizient, aber effektiv. Anregungen zur Verbesserung sind daher willkommen. Kurse in Numbers per AppleScript aktualisieren 2015_10_08.zip Share this post Link to post
supertobs Posted October 8, 2015 Hallo Ramstein, ich habe es mittlerweile zum Laufen bekommen. Beim Yahoo-Script ist die direkte Verwendung der *.csv Daten super, da ich vorher immer über Excel for Mac und dann Copy-Paste gehen musste. Dadurch habe es immer 1-2 Formatfehler. Das ist jetzt alles weg. Hier noch Dein Tip aus der PN: "Wenn du die Skripte in ~user/Library/Scripts packst und im AppleScript-Editor in den Einstellungen "Skriptmenü in der Menüleiste anzeigen" aktivierst, kannst du die Skripte einfach aus der Menuleiste starten. "-> Habe ich auch geschafft. Leider ist Yahoo nicht gesichert, die haben einen abgemahnt der die Schnittstelle offen gelegt hat. Deswegen gefällt mir im Grund der Webtrawler für Frankfurt noch etwas besser. Einige Fonds (von Riester DWS) hat aber auch Frankfurt nicht und da muss man dann noch nacharbeiten. Share this post Link to post
Ramstein Posted October 8, 2015 · Edited October 8, 2015 by Ramstein Im Prinzip brauchst du nur die richtige Website, die die für dich interessanten Daten hat. Das Script anzupassen ist mehr oder weniger Fleißarbeit. Ich hatte auch mal eine Version für ariva.de, aber die Anleihedaten in Frankfurt sind zuverlässiger. Share this post Link to post
supertobs Posted October 8, 2015 Ich habe das Script noch erweitert um nach der Kursaktualisierung auch den IRR neu zu berechnen. Eigentliche Barwertberechnung ist noch etwas kompliziert, aber mit einer einfachen Schleife entfällt jetzt einiges manuelles Copy/Paste (* IRR für Eltern *) set Barwert to value of cell (4) of column (2) if Barwert < 0 then set Barwert to -Barwert repeat until Barwert < 0.01 set Vorschlag to value of cell (5) of column (3) -- Eltern set value of cell (2) of column (2) to Vorschlag set Barwert to value of cell (4) of column (2) if Barwert < 0 then set Barwert to -Barwert end repeat display notification "Performance Eltern has been updated" with title "Numbers" supertobs <=== glücklich Share this post Link to post
Ramstein Posted October 8, 2015 · Edited October 8, 2015 by Ramstein Ambages narras. Du sagst leider nicht, mit was für Daten dein Script läuft. Und was meinst du mit IRR? Das, was XIRR/XINTZINSFUSS ausrechnet, doch wohl nicht. Ramstein <=== verwirrt Share this post Link to post
supertobs Posted October 8, 2015 Ich rechne etwas kompliziert den internen Zinsfuss und da muss ich eine Nullstellensuche einbauen. Mit der Erweiterung kann ich das noch eleganter lösen. So ein Script würde auch bei XINITZINSFUSS helfen. Es ist so: - Bei der IRR Berechnung liegt allen der Zins "r" jeder (!) Berechnung zugrunde. - r ist das Ergebnis das wir suchen - r steckt also in allen Käufen, Verkäufen und Erträgen Gerechnet wird so: - Der aktuelle Barwert ist der tatsächliche Wert des Depots heute - Der aktuelle Barwert ist gleich der Summe der hochgerechneten Vergangenheitswerten Zukunftswert - Ein Vergangenheitswert wird mit "r" ( bei mir "BW Eltern $Zinsfuß p.d.") und der Anzahl Tagen (Datumdif heute und damals D) die zurückliegen hochgerechnet (d.h. sein Zukunftswert ZW berechnet): ZW = $Betrag×(1+BW Eltern $Zinsfuß p.d.)^(DATUMDIF($Datum;$Gültiger Wert $Tag;"D")) Iterieren bis korrekter r - Man kann nicht nach r auflösen - Man muss für r eine Annahme treffen - Mit der Annahme wird geprüft ob 0 = BW - Summe ZW ist - Ist dies nicht der Fall: r anpassen! Ich habe lange r per Hand angepasst. Heute mache ich dazu ein kleines Newton-Verfahren: - Zweite Spalte einführen mit r1 und r2 - r2 hat kleines Delta auf r1 - Daraus kann man sich bestimmen, was r1 sein müsste um BW Null zu bekommen: ='global BW1' Zinsfuß p.d.−('global BW1' Barwert÷('global BW2' Barwert−'global BW1' Barwert))×('global BW2' Zinsfuß p.d.−'global BW1' Zinsfuß p.d.) - Letzte Formel am Besten mal auf Papier schreiben, das ist der Vorschlagswert für r1 Diesen Vorschlagswert für r1 dann auch in r1 schmeißen, nach 3-4 mal ist die Abweichung unter 1 Euro. Das NEwton-Verfahren ist einfach und für die nichtlineare Nullstellensuche (0 = BW - Summe ZW) gedacht. Genau an dieser Stelle könnte das Script ansetzen und mehrfach r1 ändern. Dann könnte man auf einen Knopf drücken und holt sich die neuen Kurse und danach läuft das IRR-Verfahren ab. Share this post Link to post
freesteiler Posted October 8, 2015 Script 1 lädt von Yahoo Finance für eine Liste von Tickersymbolen die aktuellen Kurse. Vorteil: dokumentierte Schnittstelle, nur ein Aufruf, daher recht schnell. Nachteil: es gibt keine Anleihekurse. Das verstehe ich nicht. Ich verwende selbst Yahoo Finance für meine automatische Kursaktualisierung und habe bisher alle Anleihen, die ich gesucht habe, auch gefunden (sicher 50+). Meistens klappt WKN + .SG am Besten, Beispiel https://de.finance.yahoo.com/q?s=a0dhum.sg&ql=1. Share this post Link to post
Ramstein Posted October 8, 2015 · Edited October 10, 2015 by Ramstein Das verstehe ich nicht. Ich verwende selbst Yahoo Finance für meine automatische Kursaktualisierung und habe bisher alle Anleihen, die ich gesucht habe, auch gefunden (sicher 50+). Meistens klappt WKN + .SG am Besten, Beispiel https://de.finance.y...a0dhum.sg&ql=1. Du hast ja so recht. Mir war unklar, dass die Abfrage mit der WKN funktioniert; ich habe immer vergeblich nach den Tickersymbolen für Anleihen gesucht. Jetzt habe ich es ausprobiert und nur die Bombardier 15(25) wurde weder als A1ZXL3.F noch als A1ZXL3.SG gefunden, obwohl sie an beiden Börsen gehandelt wird. War Dreher; korrekte WKN A1ZX3L funktioniert. Man bekommt den Briefkurs. Ich frage den letzten bezahlten Kurs ab. Weisst du, ob das bei Yahoo auch geht? Und fragst du auch die Stückzinsen ab? Share this post Link to post
freesteiler Posted October 8, 2015 Man bekommt den Briefkurs. Ich frage den letzten bezahlten Kurs ab. Weisst du, ob das bei Yahoo auch geht? Und fragst du auch die Stückzinsen ab? Letzter gehandelter Kurs müsste das Kürzel l1 sein. Ich hole mir nur Kurs und Datum (last trade date, d1) für eine rudimentäre Datenbank, die Aufbereitung mache ich programmatisch. Stückzinsabfrage weiß ich nicht, aber vielleicht findest du ja hier das passende. Share this post Link to post
Ramstein Posted October 9, 2015 Letzter gehandelter Kurs müsste das Kürzel l1 sein. Ich hole mir nur Kurs und Datum (last trade date, d1) für eine rudimentäre Datenbank, die Aufbereitung mache ich programmatisch. Stückzinsabfrage weiß ich nicht, aber vielleicht findest du ja hier das passende. Das Kürzel gebe ich an, aber für Anleihen kommt trotzdem der Geldkurs. Stückzinsen habe ich auch keine finden können. Die Bond-Unterstützung bei Yahoo ist eher rudimentär. Share this post Link to post
Ramstein Posted December 1, 2015 Arghh! Die Börse Frankfurt hat ihre Webseiten geändert und mein Skript läuft nicht mehr. Manueller Test ergab aber auch, dass sie momentan die Aareal 778998 überhaupt nicht finden. Da werde ich also etwas abwarten, bevor ich an Änderungen gehe. Share this post Link to post
Holzmeier Posted December 1, 2015 Ich rechne etwas kompliziert den internen Zinsfuss und da muss ich eine Nullstellensuche einbauen. Mit der Erweiterung kann ich das noch eleganter lösen. So ein Script würde auch bei XINITZINSFUSS helfen. Es ist so: - Bei der IRR Berechnung liegt allen der Zins "r" jeder (!) Berechnung zugrunde. - r ist das Ergebnis das wir suchen - r steckt also in allen Käufen, Verkäufen und Erträgen Gerechnet wird so: - Der aktuelle Barwert ist der tatsächliche Wert des Depots heute - Der aktuelle Barwert ist gleich der Summe der hochgerechneten Vergangenheitswerten Zukunftswert - Ein Vergangenheitswert wird mit "r" ( bei mir "BW Eltern $Zinsfuß p.d.") und der Anzahl Tagen (Datumdif heute und damals D) die zurückliegen hochgerechnet (d.h. sein Zukunftswert ZW berechnet): ZW = $Betrag×(1+BW Eltern $Zinsfuß p.d.)^(DATUMDIF($Datum;$Gültiger Wert $Tag;"D")) Iterieren bis korrekter r - Man kann nicht nach r auflösen - Man muss für r eine Annahme treffen - Mit der Annahme wird geprüft ob 0 = BW - Summe ZW ist - Ist dies nicht der Fall: r anpassen! Ich habe lange r per Hand angepasst. Heute mache ich dazu ein kleines Newton-Verfahren: - Zweite Spalte einführen mit r1 und r2 - r2 hat kleines Delta auf r1 - Daraus kann man sich bestimmen, was r1 sein müsste um BW Null zu bekommen: ='global BW1' Zinsfuß p.d.−('global BW1' Barwert÷('global BW2' Barwert−'global BW1' Barwert))×('global BW2' Zinsfuß p.d.−'global BW1' Zinsfuß p.d.) - Letzte Formel am Besten mal auf Papier schreiben, das ist der Vorschlagswert für r1 Diesen Vorschlagswert für r1 dann auch in r1 schmeißen, nach 3-4 mal ist die Abweichung unter 1 Euro. Das NEwton-Verfahren ist einfach und für die nichtlineare Nullstellensuche (0 = BW - Summe ZW) gedacht. Genau an dieser Stelle könnte das Script ansetzen und mehrfach r1 ändern. Dann könnte man auf einen Knopf drücken und holt sich die neuen Kurse und danach läuft das IRR-Verfahren ab. ist das so kompliziert wirklich noetig? Es gibt doch ein bereits in Excel implementiertes Nullstellenverfahren: Daten -> Was wäre wenn Analyse -> Zielwertsuche, als Hotkey Alt X W, oder als Makro ActiveCell.GoalSeek Goal:=0, ChangingCell:=ActiveCell.Offset(0, 1).Range( _ "A1") Share this post Link to post
Ramstein Posted December 1, 2015 · Edited December 1, 2015 by Ramstein ist das so kompliziert wirklich noetig? Es gibt doch ein bereits in Excel implementiertes Nullstellenverfahren: Daten -> Was wäre wenn Analyse -> Zielwertsuche, als Hotkey Alt X W, oder als Makro ActiveCell.GoalSeek Goal:=0, ChangingCell:=ActiveCell.Offset(0, 1).Range( _ "A1") supertobs verwendet wie ich Numbers auf Mac. Share this post Link to post
Holzmeier Posted December 1, 2015 supertobs verwendet wie ich Numbers auf Mac. ja, hatte ich im Nachhinein auch schon vermutet. Aber da muesste es eine vor-implementierte Nullstellensuche doch bestimmt auch geben, oder? Share this post Link to post
Ramstein Posted December 30, 2015 Seit die Börse Frankfurt ihre Seiten geändert hat, funktioniert mein Bond-Skript nicht mehr. Zuerst fehlte auch jede Menge Schweinkram in den abrufbaren Daten; das ist jetzt (zumindest teilweise) behoben. Leider kann man aus der ISIN aber die URL nicht mehr herleiten. Daher suche ich eine neue Datenquelle. (Irgendwelche) Kurse bekommt man schon (Yahoo, Ariva, Finanzen.net), aber vernünftige Stückzinsangaben habe ich noch nicht gefunden. Gibt es einen heißen Tipp? Share this post Link to post
AlbertEinstein Posted December 30, 2015 Seit die Börse Frankfurt ihre Seiten geändert hat, funktioniert mein Bond-Skript nicht mehr. Zuerst fehlte auch jede Menge Schweinkram in den abrufbaren Daten; das ist jetzt (zumindest teilweise) behoben. Leider kann man aus der ISIN aber die URL nicht mehr herleiten. Daher suche ich eine neue Datenquelle. (Irgendwelche) Kurse bekommt man schon (Yahoo, Ariva, Finanzen.net), aber vernünftige Stückzinsangaben habe ich noch nicht gefunden. Die werden das schon irgendwann reparieren. Die Abfrage per URL funktioniert weiterhin mit diesem Syntax: http://www.boerse-frankfurt.de/en/bonds/+XS0210172721 Share this post Link to post
Ramstein Posted December 30, 2015 Die werden das schon irgendwann reparieren. Die Abfrage per URL funktioniert weiterhin mit diesem Syntax: http://www.boerse-frankfurt.de/en/bonds/+XS0210172721 Danke, das wäre ideal und im Browser sieht es auch gut aus. Aber das Skript lädt die Seite mit "curl -s" und anscheinend werden dann erst im Rendering Inhalte nachgeladen, was curl nicht tut und damit kann ich es auch nicht parsen, da ich es garnicht erst bekomme. Jetzt müsste man Unix/URI/curl-Kenntnisse haben ... Share this post Link to post
cktest Posted December 30, 2015 · Edited December 30, 2015 by cktest Die werden das schon irgendwann reparieren. Die Abfrage per URL funktioniert weiterhin mit diesem Syntax: http://www.boerse-frankfurt.de/en/bonds/+XS0210172721 Danke, das wäre ideal und im Browser sieht es auch gut aus. Aber das Skript lädt die Seite mit "curl -s" und anscheinend werden dann erst im Rendering Inhalte nachgeladen, was curl nicht tut und damit kann ich es auch nicht parsen, da ich es garnicht erst bekomme. Jetzt müsste man Unix/URI/curl-Kenntnisse haben ... Unter dem angegebenen URL führt die Seite ein sogenanntes Redirect aus, d.h. es wird ein anderer URL nachgeladen. Dieser URL befindet sich ganz unten auf der Seite. Evtl. kannst Du den URL ausschneiden und dann mit diesem URL nochmal curl aufrufen? Ich selbst habe mir ein Shellscript geschrieben, mit dem ich Kursinformationen unter Angabe der WKN und des Börsenplatzes von comdirect lade. Allerdings muss ich jedes Mal, wenn comdirect das Design ändert, auch das Skript ändern . Schönheitspreise gewinne ich damit auch nicht # latest version to retrieve information from comdirect, May 27, 2013 get_comdirect() { sleep 3 lynx -source \ "http://www.comdirect.de/inf/aktien/detail/uebersicht.html?WKN=$1" | \ awk "BEGIN { hpfound=0; n=0; } /Handelspl.*tze/ { hpfound=1; bpfound=0; } /$2/ { if (hpfound) { bpfound=1; lc=0; } } /<td class=/ { if (bpfound) { lc++; if ( (lc>1) && (lc<4) ) { printf(\$0); } if (lc>3) { printf(\"\n\"); hpfound=0; bpfound=0; } } }" | \ sed 's/^.*gif//; s/[A-Za-z]*//g; s/ *//g; s/[<>=\"\-]//g; s/\// (/; s/\//)/ ; s/\&;//g' } Aufruf aus einem Shellscript mit get_comdirect WKN Handelsplatz wobei ich für "München" z.B. nur "nchen" verwende, weil Umlaute kompliziert sind. Share this post Link to post
Ramstein Posted May 2, 2016 Ich habe in meine Kursaktualisierung jetzt auch noch die Kursumrechnung für die Anleihen aufgenommen. Bei Yahoo frage ich dafür die Symbole "EURUSD=X" und "EURCHF=X" ab. Share this post Link to post
Hagemit Posted July 23, 2016 Script 1 lädt von Yahoo Finance für eine Liste von Tickersymbolen die aktuellen Kurse. Vorteil: dokumentierte Schnittstelle, nur ein Aufruf, daher recht schnell. Nachteil: es gibt keine Anleihekurse. Das verstehe ich nicht. Ich verwende selbst Yahoo Finance für meine automatische Kursaktualisierung und habe bisher alle Anleihen, die ich gesucht habe, auch gefunden (sicher 50+). Meistens klappt WKN + .SG am Besten, Beispiel https://de.finance.y...a0dhum.sg&ql=1. Nur als Hinweis: Seit Ende Juni 2016 werden die Kurse von Anleihen nicht mehr von Yahoo aktualisiert. Konnte keine Meldung dazu finden. Share this post Link to post
Ramstein Posted August 30, 2016 Nachdem ich mich jetzt lange genug über schlechte Datenqualität bei Bonds geärgert habe, bin ich das Thema noch einmal angegangen. Yahoo liefert keine Anleihedaten mehr, Stückzinsen hatte sie sowieso noch nie im Angebot. Bei den anderen bisher von mir benutzte Datenquellen hatte ich darauf geachtet, die URL der einzelnen Anleihe nach dem einfachen Schema "BasisURL/ISIN" zu haben. Nachdem die Börse Frankfurt mit ihrem total vermurksten Relaunch mit zum Teil mehreren Weiterleitungen und Fehlen mancher Daten nicht mehr brauchbar war, war ich zu meiner alten ariva.de-Version zurück gegangen. Dort ist die Datenvollständigkeit aber leider oftmals lausig. Am Wochenende kam mir dann im Liegestuhl - Gin Tonic in der Hand - die neue Lösungsidee: Ich ergänze meine Tabelle um eine (normalerweise ausgeblendete) URL-Spalte, die ich zwar einmalig händisch eintragen muss, dann aber für meine Datenabfrage nutzen kann (solange sich die Adresse nicht wieder ändert). Jetzt habe ich es entsprechend programmiert und bin sehr zufrieden, wieder (fast) alle Kurse und Stückzinsen automatisch aktualisieren zu können. Ich werde es noch einige Zeit beobachten, denn erfahrungsgemäß gibt es am Anfang einer neuen Version immer kleinere Haken und Ösen. Share this post Link to post
otto03 Posted August 30, 2016 Nachdem ich mich jetzt lange genug über schlechte Datenqualität bei Bonds geärgert habe, bin ich das Thema noch einmal angegangen. Yahoo liefert keine Anleihedaten mehr, Stückzinsen hatte sie sowieso noch nie im Angebot. Bei den anderen bisher von mir benutzte Datenquellen hatte ich darauf geachtet, die URL der einzelnen Anleihe nach dem einfachen Schema "BasisURL/ISIN" zu haben. Nachdem die Börse Frankfurt mit ihrem total vermurksten Relaunch mit zum Teil mehreren Weiterleitungen und Fehlen mancher Daten nicht mehr brauchbar war, war ich zu meiner alten ariva.de-Version zurück gegangen. Dort ist die Datenvollständigkeit aber leider oftmals lausig. Am Wochenende kam mir dann im Liegestuhl - Gin Tonic in der Hand - die neue Lösungsidee: Ich ergänze meine Tabelle um eine (normalerweise ausgeblendete) URL-Spalte, die ich zwar einmalig händisch eintragen muss, dann aber für meine Datenabfrage nutzen kann (solange sich die Adresse nicht wieder ändert). Jetzt habe ich es entsprechend programmiert und bin sehr zufrieden, wieder (fast) alle Kurse und Stückzinsen automatisch aktualisieren zu können. Ich werde es noch einige Zeit beobachten, denn erfahrungsgemäß gibt es am Anfang einer neuen Version immer kleinere Haken und Ösen. Ein leidiges Thema - ich habe es wie folgt gelöst. Hole Kurse für alles handish per copy und paste über die Druckversion einer Watchlist bei Onvista, Kurse haben eine Zeitverzögerung von 15m. Der Vorgang dauert nur wenige Sekunden. Stückzinsen berechne ich selbst - vielmehr lasse Excel rechnen. Share this post Link to post
Ramstein Posted August 30, 2016 Ein leidiges Thema - ich habe es wie folgt gelöst. Hole Kurse für alles handish per copy und paste über die Druckversion einer Watchlist bei Onvista, Kurse haben eine Zeitverzögerung von 15m. Der Vorgang dauert nur wenige Sekunden. Stückzinsen berechne ich selbst - vielmehr lasse Excel rechnen. Weisst du, woher Onvista die Daten bekommt, bzw. kannst du den Börsenplatz in der Watchlist aussuchen? Was ist außerhalb der Börsenzeiten, z.B. am Wochenende? Zinsberechnungsgrundlagen muss man auch pflegen: Floater-Zinsänderungen, Flat-Notierungen, verschiedene Zinsberechnungsmodi, Ex-Tage. Share this post Link to post
otto03 Posted August 30, 2016 · Edited August 30, 2016 by otto03 Ein leidiges Thema - ich habe es wie folgt gelöst. Hole Kurse für alles handish per copy und paste über die Druckversion einer Watchlist bei Onvista, Kurse haben eine Zeitverzögerung von 15m. Der Vorgang dauert nur wenige Sekunden. Stückzinsen berechne ich selbst - vielmehr lasse Excel rechnen. Weisst du, woher Onvista die Daten bekommt, bzw. kannst du den Börsenplatz in der Watchlist aussuchen? Was ist außerhalb der Börsenzeiten, z.B. am Wochenende? Zinsberechnungsgrundlagen muss man auch pflegen: Floater-Zinsänderungen, Flat-Notierungen, verschiedene Zinsberechnungsmodi, Ex-Tage. Woher die Kurse kommen sollen, kann man selbst festlegen z.B. für eine Anleihe nehme ich wenn möglich Stuttgart für einen ETF Xetra oder die letzte Kursfeststellung an einer anderen Börse mit Handel dieses ETFs An Feiertagen oder am Wochenende wird der Kurs bei Onvista nicht genullt, der letzte bekannte Kurs bleibt in der Watchlist erhalten. (Kaufdaten/Kaufkurse sind in meinem Fall irrelevant, da ich diese Daten nicht über onvista hole sondern in meinem Tabellensystem gefixed habe. Wenn man wollte, könnte man diese Felder auch nutzen, da sie handish modifizierbar sind Ja, Zinsen muss man selbst pflegen copy and paste führt zunächst zu einem etwas wirren Bild nach einem Sort der gesamten Tabelle z.b. auf die Spalte A hat man dann eine nutzbare saubere Tabelle (Alle sonstigen Tabellendaten werden nicht von mir gepflegt - ich nutze nur die Spalten A und E (aktueller Kurs) Das Durcheinander der WKNs in der Watchlist rührt daher, daß die Sortierung dieser Watchlist auf absteigende Tagesveränderung eingestellt ist, man kann natürlich auch auf WKN einstellen, dennoch sollte man den Sort durchführen um Einzeiler zu erhalten. Share this post Link to post
Ramstein Posted November 4, 2017 · Edited November 6, 2017 by Ramstein Da Yahoo finance keine aktuellen Kursdaten mehr liefert, musste Ersatz her. Auf Anregung von und zusammen mit @supertobs habe ich ein AppleScript gebaut, das aktuelle Kurse von der DiBa holt. Vorteil: sehr viele Kurse angeboten, auch am Wochenende; Server antwortet recht schnell (unter 1 Sekunde pro Wert) Nachteil: nicht alle Papiere (z.B. ProfitlichSchmidlin I), keine Stückzinsen für Anleihen Ausgiebig getestet ist es noch nicht; Feedback ist willkommen. (* Kurse via bekannter URL von DiBa holen und in Numbers Spreadsheet eintragen. *) (*Hier wird die Numbers-Tabellen-Information definiert. ISINs stehen in Spalte ISINColNum URLs stehen in Spalte URLColNum (die kann problemlos ausgeblendet sein) Beispiel: wertpapiere.ing-diba.de/DE/Showpage.aspx?pageID=30&ISIN=DE000263530 die Kurse werden in Spalte aktColNum geschrieben beginnend ab Tabellenzeile symbolsStartRow (wegen möglicher Überschriften) *) property t : {targetDoc:"Gesamtübersicht_Finanzen.numbers", targetSheet:"Weltdepot", targetTable:"Kurse", ISINColNum:3, URLColNum:7, aktColNum:5, symbolsStartRow:2} tell application "Numbers" to tell document (t's targetDoc) to tell sheet (t's targetSheet) to tell table (t's targetTable) repeat with i from t's symbolsStartRow to (count of row) tell column (t's URLColNum) to set Adresse to value of cell (i) tell column (t's ISINColNum) to set ISIN to value of cell (i) -- display dialog "ISIN " & ISIN & ", Adresse " & Adresse if Adresse contains "n.v." then display alert ISIN & " keine URL angegeben" giving up after 3 else try set getURL to "https://" & Adresse -- display dialog getURL set pasteStr to my getData(getURL) if (pasteStr contains "n.v.") then display dialog ISIN & " keine Daten vorhanden" else set Kurs to my findKurs(pasteStr) -- display dialog ISIN & " " & Kurs set value of cell (i) of column (t's aktColNum) to Kurs end if on error display alert "Keine Daten für " & ISIN end try end if end repeat display notification "Kursdaten aktualisiert " with title "Numbers" end tell to getData(getURL) -- get webpage with data try -- display dialog getURL set yData to do shell script "curl -s " & quoted form of (getURL) return yData on error display alert "Trouble getting webpage. Ensure there are no blanks in the column and no footer rows, and that you have the right values in t's properties." display alert "getURL= " & getURL display alert "yData= " & yData return end try end getData to findKurs(searchText) -- Website-spezifische Kurssuche set tid to AppleScript's text item delimiters set AppleScript's text item delimiters to {"price red\">", "price green\">", "price grey\">", "price \">"} set found1 to text item 2 of searchText set finalText to word 1 of found1 if finalText = "<" then set finalText to "0" set AppleScript's text item delimiters to tid return finalText Share this post Link to post