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.87k stars 592 forks source link

Mit Formeln berechnete Spalten (z.B. in der Vermögensaufstellung) #446

Open buchen opened 8 years ago

buchen commented 8 years ago

Zuma schlägt im Wertpapier-Forum vor:

ich weiß nicht wie interpretativ die verwendete Programmiersprache ist, aber ich hätte einen Vorschlag für berechnete Attribute. Zumindest solange es um Wertpapier bezogene Attributwerte geht und nicht um Summenwerte über mehrere Wertpapiere.

Unter Einstellungen -> Attribute könntest du den Feldtyp "Formel" anbieten. Beispiele für Formeln wären: Berechnen des CashBack in € (%'Marktwert' / 100) * %'CashBack Quote in %' Berechnen einer Empfehlung IF (%'Kurs' < %'Stop-Loss-Kurs') THEN "Verkaufen" Berechnen des Abstands zum Stop Kurs in % ((%'Kurs' / %'Stop-Loss-Kurs') -1) * 100

Als notwendige Voraussetzungen fallen mir ein: Alle eingebauten Attribute von Wertpapieren (z.B. 'Marktwert') sind auf einer Hilfeseite aufgezählt. Selbst definierte Attribute (z.B. 'CashBack Quote in %') sind mit ihrem Namen - nicht Spaltenname - zu identifizieren. Formelattribute werden zuletzt berechnet d.h. nach allen eingebauten Attributen und eventuell nur dann, wenn eine Anzeige des Attributs als Spalte erfolgen soll wie z.B. Marktwert. Formeln dürfen keine Formelattribute verwenden. Hat ein in der Formel verwendetes Attribut keinen Wert oder ist die Formel fehlerhaft, ist das Ergebnis der Formel "ERROR".

OnkelDok commented 3 years ago

Dieses Feature wäre echt super. Es wurde hier ja nun vor langer Zeit als Idee aufgenommen. Kam bisher niemand dazu oder gab es andere Gründe, dass das noch offen ist?

Im Forum hab ich dazu diese Anfragen gefunden:

Ich glaube Voraussetzung um das überhaupt anfangen zu können ist, dass zu einem angelegten Attribut unter "Einstellungen->Attribute: Wertpapiere" dort schon Attributs-Einstellungen vorgenommen werden können. Denn vermutlich will man eine Formel nur 1x anlegen und dann nur noch den Wertpapieren zuweisen bzw in der Tabelle als Spalte anzeigen. Jeder Attributs-Typ könnte dort dann seine individuellen Einstellungen anbieten sobald ein Attribut in der Liste markiert wird (und der Attributs-Type Einstellungen benötigt). Gibt es dazu schon ein Issue oder ist das schon an anderer Stelle in Planung/Arbeit? Wenn nicht könnte man das ja als ersten Meilenstein und extra Issue aufnehmen, oder? Ein Beispiel für solche individuellen Attributs-Einstellungen für einen schon vorhandenen Typ: Beim Limit-Attribut könnte man dort dann einstellbar machen, welche Farbe bei Unter-/Überschreiten des Limits benutzt werden soll (im Forum wurde sowas schon angefragt, https://forum.portfolio-performance.info/t/limits-min-max-in-wertpapieruebersicht/557/7?u). Oder man könnte dort einstellen ob Zusatzinfos (relativer/absoluter Abstand) in der Spalte angezeigt werden.

Sobald für jedes Attribut diese individuelle Einstellung möglich ist, könnte dann ein neuer Attributs-Typ für die berechneten Felder angelegt werden. Die Umsetzung ist dann wohl komplexer.

Das Formelfeld in der Art:

Es gibt eine Formel die mit beliebiegen Zeichen noch umschlossen werden kann (um. z.B. hinten ein Prozentzeichen anzuhängen). Für die Formel müssten dann fest definierte Identifier/Felder verwendet werden.Felder die mir spontan einfallen die für eine Berechnung interessant wären:

Zusätzlich in den Einstellungen könnte man dann noch bereitstellen wie die Zelle formatiert werden soll (Hintergrundfarbe). Quasi als bedingte Formatierung.

Sobald sowas vorhanden ist, könnte man sich da komplett austoben und eigene Kennwerte/Marker/Schwellen ermitteln.

Soweit von mir dazu. Ich bin jedoch erst neu hier dazugestoßen und habe mit Sicherheit noch zu wenig Hintergrundwissen zu bestimmten Datenstrukturen und Verknüpfungen innerhalb der Software. Gut möglich, dass ich mir das einfacher vorstelle, als es ist. Ich bin aber nicht abgeneigt zu unterstützen um die Entwicklung weiter zu bringen. :)