Performanceberechnung startet mit negativem Wert

Guten Abend,

wenn die Performance am ersten Tag des gewählten Berichtszeitraums negativ ist, starten gewählte Benchmarks nicht bei Null Prozent, sondern auf dem negativen Prozentwert des Starttags der Performanceberechnung:


(Performance: blau, DAX: grau, Preisindex: rot)

Dieser Fehler betrifft nicht die Darstellung, sondern die dahinterstehende Berechnung.

Viele Grüße

Sorry, wenn ich das Thema noch mal hoch bringe. Wir haben es hier mit einem massiven Problem zu tun. Je nach Konstellation kann das leicht in 2-stellige Prozentbereiche gehen.

Bitte lasst uns darüber reden.

Viele Grüße

Wie ist das gemeint “Performance am ersten Tag des gewählten Berichtszeitraums negativ ist”? Performance Deines Wertes, Deiner Klassifkation oder des Benchmarks?

Am ersten Tag stehen alle Werte immer bei 0


In diesem Beispiel war der Berichtszeitraum “seit 05.01.2016”
Bildschirmfoto_2020-02-19_09-40-16
Mit dem rot umkreisten Button kannst Du die Diagrammdaten exportieren.

Kannst Du ein Beispiel zeigen (mit Diagramm und den exportierten Daten) welches nicht über viele Jahre geht, so das man das Problem besser erkennen kann?

Hey ProgFriese,

ich habe das Problem eingekreist:

Es geht generell um die Berechnung der Performance einer Datenreihe (z.B. Gesamtportfolio) vs. Performance eines Benchmarks. In dem Fall, dass das Startdatum des gewählten Berichtszeitraums und das Startdatum der Datenreihe gleich ist, nimmt PP als Startpunkt des Benchmarks nicht mehr Null an, sondern den Wert der prozentualen Abweichung der Datenreihe vom Nullpunkt zum Ende des Tages.

Beispiel:

In diesem Beispiel zeige ich ein Gesamtportfolio (blau) mit Startdatum 30.01.2019 gemessen am DAX 30 als Benchmark (rot) und einen Berichtszeitraum mit dem gleichen Starttag. (PP nimmt als Startdatum der Berechnung den auf das vom Nutzer gewählte Datum folgenden Tag. In dem Beispiel muss ich als Startdatum also 29.01.2019 wählen.)

Im Beispiel hat das Gesamtportfolio am Starttag eine negative Performance i.H.v. 9,15 %. Der Benchmark nimmt in diesem Fall -9,15 % statt Null als Startpunkt an.

Hier ist der Beispieldatensatz:
datensatz_wirecard.xml (384,3 KB)

Viele Grüße

Schönes Beispiel.

Da weder beim Benchmark, noch bei Wirecard zeitlich relevante Daten fehlen,
Bildschirmfoto_2020-02-20_08-37-22
Bildschirmfoto_2020-02-20_08-37-57

hast Du wohl einen Bug gefunden - nun müssen wohl die Leute mit dem Schraubenschlüssel im Avatar ran.

Dieser Bug kann auch und besonders bei der Verbuchung vermieteter Immobilien die Performanceberechnung drastisch verzerren.

Viele Grüße

Verwandter Beitrag:

1 Like

Das Wirecard Beispiel habe ich mir mal angeschaut und ein wenig debuggt. Dabei ist mir aufgefallen, dass es nicht nur an der Wahl des Zeitraums liegt, dass die Performance am Starttag bei -9,15% liegt, sondern auch daran, dass die Einlage am selben Tag passiert.

Verlegt man die Einlage um einen Tag nach vorne, passen die Werte. Es reicht auch nur 1€ vorher als Einlage zu haben, dann ist das Gesamtportfolio nicht 0€ und die Berechnung startet vorher.

Vielleicht geht das erstmal als Workaround bis es eine Lösung gibt

Das Problem scheint ein „adjustment“ (-0.09150000000000003) in der Klasse SecurityIndex zu sein, das berechnet und der Benchmark hinzugefügt wird. Allerdings weiß ich nicht, in welchen Situationen das schief läuft, um es abzustellen…

Vielleicht kann sich Andreas (@AndreasB) oder jemand anderes das auch mal anschauen.

4 Likes

Wenn man nur das Adjustment weg nimmt, sieht es schon besser aus, allerdings ist dann der erste Tag des Intervalls in der Benchmark 0,00% und somit der weitere Verlauf der Benchmark auch nicht korrekt. Um die Datenreihen synchron zu halten, fehlte immer der erste Tag bei der Benchmark. Um das zu umgehen habe ich eine weitere Abfrage hinzugefügt und das ganze als Pull Request eingestellt.

Mal schauen, was Andreas dazu sagt. Meine bisherigen Tests dazu sehen zumindest schon mal gut aus.

2 Likes

Der Fix ist jetzt mit Version 0.46.4 veröffentlicht.

1 Like

Danke! :slightly_smiling_face:

Wenn ich einen Benchmark einblende, für den zum Anfang des Berichtzeitraums keine Kursdaten vorliegen, beginnt dieser ebenfalls negativ. Warum ist das so und kann ich dies auch ändern?

Ist die Differenz größer als der Verlust am ersten Tag? Ein paar mehr Informationen und/oder Screenshot dazu wären toll.

Ja der Unterschied ist deutlich größer und hängt von der Zeit ab, in der die Daten fehlen.
Hier zwei Beispiele mit unterschiedlichen Zeiträumen.


Ich habe versucht, das Verhalten nachzustellen, kann es bei mir leider nicht reproduzieren. Ist es möglich eine Beispieldatei mit einem Minimalbeispiel bekommen, um das Verhalten zu debuggen?! Das würde helfen, dem Fehler auf den Grund zu gehen.

Klar kann ich ein Minimalbeispiel erstellen.Test.xml (230,5 KB)

Ich kann hier im Performance-Diagramm ebenfalls einen komischen Start / ggf. Verlauf des Benchmarks erkennen. Hängt sicherlich mit der Datenlage zusammen (Benchmark gab es vor 2019 nicht)

In der Datei ist eine Einlieferung auf den 02.01.2016 gesetzt; keine weiteren Buchungen (im Depot ist also lediglich eine Buchung aus 2016).

  • im ersten Bild (perf_dia_2016.png): Start des Benchmarks mittendrin: Zeitraum: ab 01.01.2016. Wieso startet der Benchmark nicht bei 0% ? Als ob ich zum 01.01.2016 mich dort eingekauft hätte? Oder auf dem Niveau des Gesamtdepots (wieso genau dieser Graph dann?!? Fraglich…) weitergeführt werden?

  • weiter zum ersten Bild: Wieso ist der Graph des Depots (was leidiglich eine Buchung des Benchmarks beinhaltet) stark versetzt zum Graphen des (gleichen) Benchmarks? täglich, monatlich usw. ändert nicht daran, dass der Unterschied heute so groß ist. Das dürfte doch auch nicht an dem einen Tag Unterschied (Buchung vs. Benchmark-Start 01.01.2016) liegen, oder?

  • im zweiten Bild (perf_dia_2019.png): Zeitraum: ab 01.01.2019. Start des grünen Benchmarks ebenso nicht bei 0% (s.o.) Wieso zeigt es den lila Benchmark (eine Buchung im Depot aus 01.01.2016) überhaupt nicht an?

Schwierigkeit außerhalb der Testdatei:
Ich habe ein Portfolio, das ich gerne gegen den ETF FTSE AW (grün) antreten lassen will. Buchungen im Portfoolio starten im Jahr 2017 etwa; da gabs den FTSE AW noch nicht - es sind also “zu wenig” historische Daten vorhanden. Dort startet dann der FTSE als Benchmark leider im negativen Bereich; iwo mitten drin und klettert dann langsam nach oben (beginnt bei ewa -38%; Startkurs in den historischen Daten liegt bei etwa 70 Euro; davon etwa 30% abziehe lande ich im Bereich von etwa 45-50 Euro; zeigen mir die Kursdaten aber nicht; damit auch nicht rollierend o.Ä.).

Würde mich über Hilfen bzw. Klärung zur Benchmark-Anzeige freuen - sind ja mehrere Kleinigkeiten beschrieben… Danke.

Anzeige: seit 01.01.2016; Versatz zw. lila und schwarz, grüner Benchmark startet iwo

Anzeige: seit 01.01.2019; lila Benchmark fehlt; grüner Benchmark startet iwo

// Version: 0.57.1 (Apr. 2022); Platform: macosx, aarch64 //