New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chart: Wertpapier-Performance vergleicht Portfolio mit Kurs, zeigt aber nicht die Performance des Papiers im Depot #85

Closed
buchen opened this Issue Jun 4, 2013 · 12 comments

Comments

Projects
None yet
4 participants
@buchen
Owner

buchen commented Jun 4, 2013

Beides sollte möglich sein:
a) die Performance des Depots mit einem Papier zu vergleichen (z.B. DAX)
b) die Performance eines Papiers des Depots auf dem Chart abzutragen

Aus dem Wertpapier Forum:

Mich stört aktuell die Grafik Performance -> Diagramm:

Dort sehe ich die Rendite ausgewählter Papiere ab einem gemeinsam bestimmten Zeitpunkt im zeitlichen Verlauf. Interessanter wäre oft aber die Rendite ausgewählter Papiere für den jeweilig tatsächlichen Besitzzeitraum im zeitlichen Verlauf - denn der kann ja bei verschiedenen Papieren unterschiedlich sein.

Ein Beispiel, wo es besonders stört:

Ich habe Ende April Aktien gekauft, die sich im Plus befinden. Ende Mai habe ich einen ETF gekauft, der sich im Minus befindet. Wenn ich beide in der Grafik vergleichen möchte und Ende April als Startpunkt auswähle, sehe ich beide Kurven ins Plus wandern - es wird gar nicht deutlich, dass der ETF im Besitzzeitraum eine negative Performance hatte.

@gynngr

This comment has been minimized.

Contributor

gynngr commented Jun 7, 2013

die Diskussion über den IZF zieht sich ja schon ein wenig länger, und auch ich bin nicht ganz zufrieden mit der bisherigen Berechnung. Folgendes finde ich nicht gut:

  • man muss immer ein gut gefülltes Konto mitführen, um überhaupt einen sinnvollen IZF zu erhalten.
  • bei Käufen wird nicht der Kaufpreis, sondern der Kurs am Kauftag zur Bewertung benutzt. Ist der nicht vorhanden, gibt es unsinnige Werte.
  • Kosten beim Kauf und Verkauf fließen nicht in den IZF ein
  • auch mir fehlt ein Feature, um eine beliebige Gruppierung von Konten und Wertpapieren IZF-mäßig zu betrachten.

Nun, ich habe mir mal die IZF-Berechnung im ClientIRRYield angesehen. Das Problem liegt wohl in der gemeinsamen, aber nur teilweisen Betrachtung von AccountTransactions und PortfolioTransactions. Ich hätte dazu einen Vorschlag, hole dazu aber mal ein wenig aus:

Eine IZF-Berechnung beruht ja schlicht und einfach darauf, das eine Folge von "Kapitalveränderungs/Stichtags-Pärchen" in den IRRYield-Newton-Iterator schickt. Dies kann man für eine einzelne Position oder eine beliebige Gruppe von Positionen tun, um einen einzelnen oder gemeinsamen IZF zu erhalten. Man muss immer nur sehen, das jede einzelne Zahlungsreihe in sich abgeschlossen ist.
Dies ist gar kein Problem, wenn man einen vollständigen Vorgang hat, z.B. eine Aktienreihe Kauf-Dividenden-Verkauf. Oder eine Konto-Einzahlung-Zinsen-Auflösungs-Reihe. Hat man aber meistens nicht.
Will zu einem Zeitpunkt nach einem Kauf starten, nimmt man bei Wertpapieren den Historienkurs oder sonst den Einstandskurs als "Kauf". Bei Konten immer den Saldo zum Stichtag als "Einlage"
Will man zu einem Zeitpunkt vor dem Verkauf enden, nimmt man bei Wertpapieren den Historienkurs oder sonst den letzten bekannten Kurs, zur Not den Einstandskurs als "Verkauf". Bei Konten immer den Saldo zum Stichtag als "Entnahme"
Wie gesagt, dies immer einzeln pro Wertpapier oder Konto betrachtet und anschließend alles in den großen Topf.

Nun konkret:

  • für ein Konto "bucht" man uneingeschränkt alle Positionen: DEPOSIT-, REMOVAL+, BUY+, SELL-, DIVIDEND- usw. und grenzt ggf. mit einem zusätzlichen DEPOSIT- und REMOVAL+ das Konto ab.
  • für ein Wertpapier "bucht" man alle Positionen dieses WP in allen Accounts, aber mit umgekehrten Vorzeichen: BUY-, SELL+, DIVIDEND+ usw. und grenzt wie beschrieben durch je einen zusätzlichen BUY- und SELL+ den Betrachtungszeitraum ab. Die Portfoliotransactions braucht man dann nicht.

Damit könnte man ersten drei oben beschrieben "Probleme" lösen und hätte eine Basis für ein Gruppierungsfeature.

@buchen

This comment has been minimized.

Owner

buchen commented Jun 10, 2013

@gynngr, erst mal Danke für Deinen Input!

Momentan gibt es zwei Wegen wie ich Performance berechne:
a) IZF (interner Zinsfuß)
b) kontinuierliche Performance (ähnlich wie ein Index rechnet)

Methode a) IZF berechne ich für

  • das Gesamtportfolio
  • ein Wertpapier-Investment (dann aber Depot-übergreifend)
  • der IZF ist immer ein "Jahreszins"

Methode b) kontinuierliche Performance berechne ich für

  • das Gesamtportfolio
  • beliebige Positionen: einzelne Wertpapiere, Depots, Konten, Gruppen von Wertpapieren, Asset Klassen, etc.
  • tages- oder auch monatsgenau

Erst mal zu Methode a) IZF:

  • Zur Berechnung fließen alle Zugänge und Abgänge im Berichtszeitraum ein. Abgegrenzt wird die Periode entweder durch einen Kauf/Verkauf oder durch die Wertstellung zu diesem Zeitpunkt. Soweit sind wir uns einig.
  • Es kann vorkommen, dass zur Abgrenzung kein passender Kurs da ist - hier sollte ich auf den Kauf/Verkaufskurs (auch Teilverkäufe) zurückgreifen. Das ist ein gute Idee - besonders wenn Kurse nicht automatisch auf Yahoo vorliegen.
  • Grundsätzlich bin ich beim IZF mittlerweile sehr vorsichtig. Er funktioniert einfach nicht so gut bei vielen Entnahmen oder Einlagen in einem Berechnungszeitraum. So kann es mehrere Zinssätze geben. Aber was heißt das ökonomisch? Darum bin ich ja zur kontinuierlichen Performance-Berechnung übergegangen.

Zu Methode b) kontinuierliche Performance:

  • Hier sind Kurse absolut wichtig - und noch mal wichtiger dass ich fehlende Kurse durch Kaufkurse auffange.

Zu Deinen Punkten:

bei Käufen wird nicht der Kaufpreis, sondern der Kurs am Kauftag zur Bewertung benutzt. Ist der nicht vorhanden, gibt es unsinnige Werte.

Für den IZF ist das m.E. nicht der Fall, aber für die kontinuierliche Performance. Hier sollte es aber Abhilfe bringen, wenn ich fehlende Kurse ggf. durch Kauf- und/oder Verkaufskurse zu ersetzen.

Kosten beim Kauf und Verkauf fließen nicht in den IZF ein

Das kann ich nicht nachvollziehen. In der Wertpapier-Performance sieht man ja den Kaufwert - damit wird gerechnet und das beinhaltet die Gebühren.

Bei Methode b) fließen die Gebühren auch ein, aber anders. Hier hat man am Kauftag ein Minus weil man x + 10 Euro zahlt, die Position aber nur mit x bewertet wird. (Klar, hier muss der richtige Kurs vorliegen - siehe oben)

auch mir fehlt ein Feature, um eine beliebige Gruppierung von Konten und Wertpapieren IZF-mäßig zu betrachten.

Stimmt. Bei Methode b) geht das, beim IZF nicht. Ich kann nicht versprechen, dass in naher Zukunft zu tun (ich bin gerade an den freien Klassifizierungen dran).

Die Idee mit der Nutzung der Kauf-/Verkaufskurse nehme ich auf jeden Fall auf.

@gynngr

This comment has been minimized.

Contributor

gynngr commented Jun 12, 2013

@buchen: meine Behauptung

Kosten beim Kauf und Verkauf fließen nicht in den IZF ein
stimmt so nicht, aber das richtige Ergebnis liefert deine Berechnung auch nicht.

Zum Nachvollziehen das Beispiel: Kauf und Verkauf eines Fonds
1.1.2012 Einlage 2100
1.1.2012 Kauf 10 Stck Kurs 100 Gebühren 50 = 1050
1.1.2013 Verkauf 10 Stck Kurs 120 Gebühren 50 = 1150

Gewinn ist 100, also Performance bezogen auf die Einlage ca. 4,7% und auf die Investition 9,5%.
Bei pp ist ein Erfolg von 150 mit 7,31% / 15% ausgewiesen. Das Problem ist die inkonsistente Verwendung der Kurse zur Bewertung. Verwende einfach immer die Umsätze, Die Kurse nur zur Bewertung offener Bestände am Anfang und am Ende.

image

image

@gynngr

This comment has been minimized.

Contributor

gynngr commented Jun 12, 2013

@buchen: habe mein IZF-Buchungsschema mal in ein Kalkulationsblatt verpackt. Da kann man alle Buchungsarten durchspielen und sehen, wie man sowohl Konten und Portfoliers beliebig summieren kann.

https://www.dropbox.com/s/zn1o37wonseb2qv/izf.ods

Sonderfälle, wo sich ein Summen-IZF nicht berechen lässt, kann man leicht vermeiden, wenn man einzelne IZF-Reihen mit Summe Null bei der Gesamtsummierung weglässt.(Beispiel "Fond" mit Einlage 0 oder 1050)

image

image

@buchen

This comment has been minimized.

Owner

buchen commented Jun 12, 2013

@gynngr: ich habe es noch nicht geschafft, die ods Datei inklusive Formeln zu öffnen (Excel zeigt mir nur Werte an), aber eine Puzzleteilchen konnte ich zusammensetzen :-)

Bei einem Berichtszeitraum von X bis Y nehme ich immer Tagesendwerte, d.h. den Wert am Ende des Tages nach den Transaktionen. Ein Kauf am Anfangsdatum (hier 1.1.) fällt also nicht mehr in den Berichtszeitraum und wird mit dem aktuellen Kurs abgegrenzt. Die "Verluste" durch die Gebühren fallen damit auch in die vorherige Berichtsperiode.

Wenn Du das Berichtsdatum auf den 31.12.2011 bis 31.12.2012 änderst, dann sollten die erwarteten Werte herauskommen.

Hier die Excel Gegenrechnung - und es kommen die selben Werte raus die Du auch errechnet hast.
bildschirmfoto 2013-06-12 um 20 06 52

@simpsus

This comment has been minimized.

Contributor

simpsus commented Jun 12, 2013

Hier die Datei mit Formeln als xlsx
https://www.dropbox.com/s/vqiz3qqfxns4s2g/izf.xlsx

@gynngr

This comment has been minimized.

Contributor

gynngr commented Jun 12, 2013

@simpsus danke für die konvertierung, hab halt keinen bock auf Mietbasis hin und wieder Excel zu nutzen
@buchen: ja ein Tag vorher ist alles gut, ich bin schon ziemlich gemein. Aber als Beispiel für die relative Einfachheit eines IZF-Modells möglichst ohne Kurse schon durchaus geeignet oder ?

@buchen

This comment has been minimized.

Owner

buchen commented Jun 13, 2013

Die Diskussion hat mehrere Punkte hervorgehoben:

  • Kauf/Verkaufskurse nutzen wenn keine (anderen) historischen Kurse vorliegen
  • IZF auch für beliebige Papiere / Konten / Depots anbieten
  • Abgrenzung Berichtszeitraum ist nicht intuitiv -> wo dokumentieren
@Voos

This comment has been minimized.

Voos commented Jun 27, 2013

Ein kleiner Vorschlag zu dem Punkt "Kauf/Verkaufskurse nutzen, wenn keine historischen Kurse vorliegen":
warum nicht einfach automatisch bei einem Kauf/Verkauf den dort berechneten Kurs als historischen Kurs beim Wertpapier eintragen?

@gynngr

This comment has been minimized.

Contributor

gynngr commented Jun 27, 2013

Ungünstig, weil im Preis auch versteckte Gebühren stecken können, z.B. 5% Ausgabeaufschlag bei Fonds. Dann sind auf einmal Sprünge im Kursverlauf.

@buchen

This comment has been minimized.

Owner

buchen commented Jun 29, 2013

Ungünstig, weil im Preis auch versteckte Gebühren stecken können

Das ist auch der Grund warum ich noch nicht - mal schnell - den errechneten Kurs der Kurshistorie hinzufügt habe. Ich muss noch eine Möglichkeit finden, die zu unterscheiden und auch wieder zu ersetzen sobald bessere historische Kurse zur Verfügung stehen.

@buchen

This comment has been minimized.

Owner

buchen commented Jun 29, 2013

Ich schliesse diesen Issue mal, weil das ursprüngliche Feature (Wertpapiere auf dem Diagramm sowohl als Benchmark wie auch als Performance zu sehen) mit 0.8.0 geliefert ist.

@buchen buchen closed this Jun 29, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment