Ramstein

Spreadsheets and more

26 posts in this topic

Posted

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.

 

  1. 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.
  2. 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:

 

post-15902-0-04821600-1444311632_thumb.png

Kurse zu Tickersymbolen holen

 

post-15902-0-32601100-1444311696_thumb.png

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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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 :angry:. Schönheitspreise gewinne ich damit auch nicht :lol:

# 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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted

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
Share on other sites

Posted · Edited 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

 

 

 

post-8434-0-77512300-1472566063_thumb.png

 

für einen ETF Xetra oder die letzte Kursfeststellung an einer anderen Börse mit Handel dieses ETFs

 

post-8434-0-00839600-1472566118_thumb.png

 

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

 

post-8434-0-61572300-1472567552_thumb.png

 

 

nach einem Sort der gesamten Tabelle z.b. auf die Spalte A hat man dann eine nutzbare saubere Tabelle

 

post-8434-0-33304100-1472567613_thumb.png

 

 

(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
Share on other sites

Posted · Edited 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
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now