portfolio-performance / portfolio

Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.
http://www.portfolio-performance.info
Eclipse Public License 1.0
2.83k stars 583 forks source link

Anleihen #177

Open nwittstruck opened 9 years ago

nwittstruck commented 9 years ago

Ich würde mich über eine Unterstützung für Anleihen freuen.

buchen commented 9 years ago

Aus dem Forum habe ich auch weitere Feature Requests zu Anleihen. Ich sammle die jetzt einfach mal hier. Wann ich aber dazu kommen werde, kann ich nicht sagen :-(

http://www.wertpapier-forum.de/topic/38306-portfolio-performance-mein-neues-programm/page__view__findpost__p__796255

Es sind nicht nur die fehlenden Kursimporte. Es liegt eher in der grundsätzlich etwas anderen Handhabung von Anleihen im Vergleich zu Aktien. Anleihen werden ja nicht in Stück, sondern als Nominale und mit Kursen in Prozent gehandelt.

Wenn ich zum Beispiel 5.000 Nominale von Bond X zu 95% kaufe, muss ich 4.750,00 Euro plus Stückzinsen zahlen. Wenn ich dieses Beispiel so eingebe, mit Bestand 5.000 und Gesamtbetrag 4.750 Euro, kommt ein Kurs von 0,95 raus. So weit so gut. Der vom Tool geholte Kurs lautet über 95,00. Da dieser nicht Prozent geholt wird, erhält man bei der Berechnung Menge x Preis einen phantastischen Kursgewinn und einen Wert der Position von 475.000 Euro. Dieses Problem lässt sich manuell noch recht einfach umgehen, indem man die Nominale durch 100 teilt (wurde weiter oben bereits gepostet). Aber so wirklich praktisch wäre das auf Dauer nicht und es sieht für Anleihen halt auch irgendwie komisch aus.

Eine weitere Hürde sind die Stückzinsen, welche man i.d.R. beim Kauf einer Anleihe an den Vorbesitzer zahlt bzw. beim Verkauf vom Käufer bekommt. Diese kann man zwar bei Kauf und Verkauf mit dem Gesamtbetrag erfassen, so dass für abgeschlossene Positionen die korrekte Rendite ermittelt wird, aber für gehaltene Positionen wird die Performance nicht korrekt ermittelt. Das liegt daran, dass der geholte Kurs der sog. Clean Price ohne Stückzinsen ist. Daneben gibt es noch den sog. Dirty Price inklusive Stückzinsen. Dieser kann aber i.d.R. nicht geholt werden, sondern wird nur in den Anleiherechnern wiedergegeben.

Oder http://www.wertpapier-forum.de/topic/38306-portfolio-performance-mein-neues-programm/page__view__findpost__p__796265

Da gibt es noch viele spezielle Punkte, z.B. Kurzer erster/letzter Kupon Abweichende Stückelung, e.g. die 25€ der Areal 778998 Nennwertherabschreibungen, e.g. HT1 Funding Genussscheine oä, die ohne Stückzins notieren aufgeschobene Kupons, e.g UT2 Funding Staffelzinsen Variable Zinssätze

buchen commented 8 years ago

Und weiter:

Was mir noch einfällt:

  • flat Nottz: Wenn der Emittent die Insolvenz anmelden muss, werden Anleihen auf sog. flat Notiz umgestellt. D.h. es werden ab sofort keine Kupons mehr gezahlt und die Stückzinsberechnung entfällt. Die Anleihe-Inhaber "dürfen" dann Ihre bezahlten Stückzinsen als Verlust verbuchen.
  • Nennwert-Herabschreibung: Es kann vorkommen, daß der Nennwert eine Anleihe (z.B. 1000 Euro) geändert wird, z.B. wenn bei einem insolventen Unternehmen eine Abschlagszahlung (technisch in PP wäre das dann evtl. wie ein Teil-Verkauf?) an die Anleiheinhaber durch den Insolvenzverwalter vorgenommen wird. Der ausgezahlte Betrag wird dann vom Nennwert abgezogen: Beispielrechnung: Anleihevolumen: 50 Millionen Euro = 50.000 Anleihen zu je 1000 Euro, Abschlagszahlung i.H.v. 5 Millionen = Neuer Nennwert pro Anleihe: 900 Euro.
megabugman commented 7 years ago

Anleihen, das wäre eine tolle Sache.

mad-sysadmin commented 6 years ago

Nachdem wir dieses Jahr erstmals den Stückzins"trick" angewendet haben, auch von unserer Seite aus die Bitte, Anleihen in PortfolioPerformance zu unterstützen. - Danke sehr.

larsuhartmann commented 6 years ago

Auch von meiner Seite: Anleihen wären eine wirklich coole Sache!

cmaoling commented 5 years ago

@buchen , wollte mir mal eine mögliche Implementierung anschauen. Dachte dabei die "Attributes" zu verwenden und damit an der eigentlichen Security.class nichts ändern zu müssen. Irgendwie werde ich aber nicht schlau wie/wo die Attribute wirklich angewandt werden. Außerdem ist mir dabei aufgefallen, daß er scheinbar nur die Attribute für eine Security anbeitet, die bei der Erstellung der Datei wohl als default definiert wurden. (selbes binary, einmal dax.xml geöffnet, einmal über new file eins frisch erstellt => unterschiedliche Auswahl an Attributes) Von daher bin ich am überlegen, ob das ein sinnvoller Ansatz ist und wäre deshalb an Deiner Einschätzung und einem Tip interessiert, bevor ich weiter Zeit investiere... Danke!

doncristobal commented 5 years ago

Ich habe mir das heute auch nochmal anschaut unter dem Aspekt einer möglichen Implementierung, da ich meine Einzelanleihen schon auch gerne in PP abbilden würde. In der allerersten, einfachen (minimum viable) Version sehe ich (nur) zwei wesentliche Änderungen:

  1. Modellierung und Erfassung der bezahlten/erhaltenen Stückzinsen bei Transaktionen, d.h. bei Kauf und Verkauf. Behandlung ähnlich Feldern "+ Gebühren" und "+ Steuern"
  2. Prozentnotierung der Kurse

Stammdaten wie Laufzeit der Anleihe und Kupon will man sicherlich auch irgendwann erfassen beim Wertpapier, brauche ich allerdings im allerersten Schritt nicht unbedingt. Allerdings bringt das die Frage auf, ob man grundsätzlich eine zweite Klasse von Wertpapieren einführen will (d.h. anleihenartige vs. aktienartige) oder ob man das als Properties von Security darstellen will (z.B. Prozentnotierung an/aus). Da fehlt mir ein bisschen der Überblick, um das gut beurteilen zu können, vielleicht könnte @buchen etwas dazu sagen.

Später wäre mir wichtig, dass die Anleihen korrekt in die Performanceberechnung einfliessen, d.h. dass man tagesaktuell Stückzinsen berechnet und diese dem Wert und der Performance der Anleihe zurechnet. (Hier müsste man evtl. sogar parallel zu den täglichen Kursen eine tägliche Stückzinsbewertung abspeichern, damit man auch einmal einen Verlauf über die Zeit zeigen kann.)

Eine Modellierung als Attributes hätte sich mir jetzt auf den ersten Blick nicht so aufgedrängt, da Security.java schreibt "Attributes are managed and edited by the user while properties are managed by the program." Insofern hätte ich das schon eher als properties von Security angesehen.

m-terlinde commented 4 years ago

Ich habe vorhin ein wenig durch den Code gescrollt.

Ist es eurer Meinung nach eher eine neue Implementierung von "InvestmentVehicle" oder eine Erweiterung der Security-/SecurityPrice-Klasse?

buchen commented 4 years ago

Ist es eurer Meinung nach eher eine neue Implementierung von "InvestmentVehicle" oder eine Erweiterung der Security-/SecurityPrice-Klasse?

Ich glaube beides ist möglich. Vom Bauchgefühl her würde ich sagen, dass es bei den Anleihen doch viele Gemeinsamkeiten mit dem Security gibt (man will die gleichen Kurs-Lieferanten verwenden können, Klassifizierungen, Handelskalender, etc.). Also vielleicht auch eine Subklasse die eben a) weitere Attribute erfasst (Laufzeiten, Zins, ...) und b) die Berechnung des aktuellen Wertes überschreibt (es kann ja wohl nicht mehr einfach Kurse * Stücke sein).

sebasbaumh commented 4 years ago

die Berechnung des aktuellen Wertes überschreibt (es kann ja wohl nicht mehr einfach Kurse * Stücke sein).

Das wird wahrscheinlich eher tricky werden, dass es dann auch überall so benutzt wird ohne es neu/anders zu berechnen. Ansonsten denke ich auch, dass es eher zur Security gehört - es ist halt eine speziellere Art der Security bzw. mit erweiterten Attributen.

Jano-chris commented 2 years ago

Gibt es ein Update bezüglich der Implementierung von Anleihen? Danke und Liebe Grüße

larsuhartmann commented 1 year ago

Wie sieht es hier aus? Mit den steigenden Zinsen aktuell (1Y USD T-Bond bei 4%) werden Anleihen so langsam wieder Interessant!