Beim Zusammenspiel von Kurs, Steuern und Gebühren kann es ggf. zu Verwirrungen kommen, welche Werte für den amount
einer Aktivität genommen werden soll. Nehmen wir folgende Aktivitäten als Beispiel:
In T1 dreht sich alles um die Wertpapiere. Die Liste der Aktivitäten soll somit die Beträge darstellen, die den Wert des Wertpapieres wieder spiegeln.
Deshalb gilt:
price * shares === amount
// true
Bei einem Kauf, zahlt man Gebühren und Steuern vor dem Kauf. Bei einem Verkauf, zahlt man Gebühren und Steuern nach dem Verkauf. Bei einer Dividende, zahlt man Gebühren und Steuern nach der Gutschrift.
Und das wiederum bedeutet, dass bei einem Kauf der amount
Betrag ohne Gebühren und Steuern ist - also Netto. Während der Betrag bei einem Verkauf und von Dividenden Brutto ist, da die Gebühren erst danach abgezogen werden.
Hier muss, da share * price === amount // true
gilt, der obige Betrag 5201,81
als amount
geparsed werden.
Hier muss ebenfalls der obige Betrag von 548,31
als amount
geparsed werden. Nur so gilt share * price === amount // true
.
Das bedeutet, dass die Netto-Gewinn-Berechnung in T1 nur die Gebühren der Verkäufe berücksichtigt, da diese im Nachhinein abgezogen werden müssen. Gebühren der Käufe sind gar nicht erst Teil des investierten Kapitals. Im Dropdown, werden jedoch trotzdem alle Gebühren gelistet als Information für den User.
Wie man sieht, fehlt hier circa 1€ zwischen Kursgewinn - Gebühren und dem Bruttogewinn. Das ist der 1€ der Kaufgebühr für Marriott war.
Hoffe das macht soweit Sinn - ich wollte hier lediglich etwas Klarheit schaffen, da wir eben einen Bug diesbezüglich in T1 entdeckt hatten (bei der Gewinn-Berechnung, nicht beim PDF parsen)