Historische Kurse manuell korrigieren

Hallo zusammen!

Auch für mich ist das Thema aktuell. Einige Datenfehler von Yahoo ruinieren Chart-Darstellung und Risiko-Kennzahlen.

Meine Wunschlösung wäre dass man einen Kurswert manuell sperren kann sodass er nicht mehr automatisch überschrieben wird.
In der GUI stelle ich mir im Reiter „Historische Kurse“ eine dritte Spalte vor. Wenn man dort auf eine Zelle klickt, dann erscheint ein Schloss-Icon und dieser Kurswert ist schreibgeschützt.

Ich finde dieses ganze Thema auch hochaktuell, da sicherlich jeder, der mehr als 5 Kurse täglich updated, irgendwann mit diesen Kursausreißern zu tun bekommt. Ich bin der Meinung, dass man seine Kurse mit Hinblick auf Aktualität und auch auf Ausreißer nach unten oder oben von Zeit zu Zeit kontrollieren und pflegen sollte.
Bei den Ausreißern hole ich mir durch Klicken auf den Ausreißer in der Graphik das Datum und ändere dann in der Kurshistorie den Wert auf einen Mittelwert der letzten zwei oder drei Tage. Wenn ich zuviele Ausreißer in einer Grafik entdecke, ändere ich die Datenquelle. Eine Änderung der Kurse von z.B. Frankfurt auf Xetra kann manchmal die Lösung sein, auch ein Wechsel von Yahoo auf einen anderen „Lieferanten“ bietet manchmal eine Besserung.
Ich meine, daß man aber nicht jede kleine Spitze im Kursverlauf manuell „wegbügeln“ sollte, da die Gesamtperformance am Ende nicht davon nennenswert betroffen sein sollte. In der Ferne könnte ich mir vorstellen, dass PP einmal eine Möglichkeit bietet, auch professionelle Kursanbieter, die bereinigte Kurse allerdings für viel Geld anbieten, integrieren zu können. Das ist aber bestimmt zum jetzigen Zeitpunkt keine Intention von PP.

Sofern Portfolio Report Kurse zu dem Wertpapier hast, kannst Du das als Kursquelle nutzen. Dabei sollten Änderungen an historischen Kursen nicht überschrieben.

Ich habe es mal eine neue Spalte hinzugefügt und die entsprechende Logik angepasst, sodass ein Kurs, der manuell angepasst wurde, nicht mehr überschrieben wird. Um den Kurs zurückzusetzen, kann er gelöscht und neu geladen werden. Ein „Ja“ signalisiert, dass der Wert angepasst wurde.

grafik

Ist als Pull Request #1492 eingestellt.

5 Likes

Hier ein Link:

1 Like

Besten Dank für die schnelle Umsetzung der Anregung. Ich hoffe dass dieses Feature direkt in den nächsten Release übernommen wird.

Ich habe kurz in die Implementierung rein geguckt. Für meine Nutzung würde sie wunderbar funktionieren. Dein Einwand ist aber berechtigt. Im Sinne aller Nutzer wäre es wohl eleganter wenn der Kurs nicht direkt automatisch geflagged wird.

Pragmatische Lösung wäre mE eine Checkbox die schnell korrigiert/ geändert werden kann. Dann musste nicht jedes mal der Eintrag gelöscht werden.

2 Likes

Vielen Dank für Euer Feedback. Ich schaue mir das heute Abend noch mal an und überarbeite die Lösung.

Es sieht jetzt so aus:
grafik

Die Checkbox kann durch Doppelklicken abgewählt werden und der Kurs wird wieder automatisch aktualisiert.

Derzeit wird der Preis gesperrt, sobald er manuell geändert wurde. Alternativ, könnte die Checkbox auch anschließend von Hand gesetzt werden? Habt Ihr Feedback dazu für mich?

5 Likes

Das neutralere (bessere) Verhalten ist wenn der manuell eingegebene Kurs nicht automatisch gesperrt wird.
Sperren möchte man ja nur in einem bestimmten Sonderfall (Datenfehler beim Kurslieferanten).

1 Like

Finde die Variante mit den Checkboxen auch super! Ich finde, der Haken kann gesetzt werden, sobald man den Kurs ändert (das macht man ja nicht au Spaß an der Freude). Aber wenn man den Haken nach dem Ändern selber setzen muss, bringt das auch niemanden um. Freue mich auf die Implementierung :slight_smile:

Im Pull Request hatten wir eine Diskussion darüber, dass das Flag für die Checkbox einen Eingriff in das Modell von PP bedeutet, dadurch kritisch hinterfragt werden muss und in der aktuellen Fassung dazu führt, dass das abgespeicherte XML Datei sich in etwa verdoppelt. An der Dateigröße ließe sich vermutlich noch etwas machen.

Dennoch, die neue Idee ist, bestehende Preise generell nicht mehr zu aktualisieren oder nur dann, wenn sie beispielsweise „offensichtlich“ falsch, weil 0,00 sind und der neu gelieferte Preis anders. Genau das passiert bereits bei Datenquellen wie Portfolio Report, Quandl, Finnhub, etc… Hier werden über das API nur die Kurse abgefragt, die nach dem letzten vorhandenen Kurs liegen. Somit wäre das Verhalten (etwas optimiert bei Nullpreisen) angeglichen und würde auch dazu führen, dass manuell angepasste Kurse nicht mehr überschrieben werden.

2 Likes

Mit Version 0.46.2 werden die Kurse jetzt nicht mehr automatisch überschrieben.

Mal sehen ob das besser funktioniert - ansonsten muss man vielleicht auf eine „pro Kurs Konfiguration“ zurückfallen.

Dazu habe ich eine Frage: Bedeutet dies, wenn ich mehrmals am Tag eine Kursaktualisierung durchführe, jetzt für den aktuellen Tag nur noch der erste Kurs angezeigt wird?
Das fände ich persönlich schlecht, ich starte das Programm oft morgens und führe dann nachmittags eine weitere Kursaktualisierung durch. Hier würde dann ja noch der Kurs von morgens angezeigt.

Hallo Christian,

nein, es geht nur um die historischen Kurse. Der aktuelle Kurs wird weiterhin aktualisiert.

Viele Grüße
Sven

Hallo Sven,

alles Klar, vielen Dank. Dann muss ich mein Nutzerverhalten ja nicht ändern :grinning:

Beste Grüße
Christian

Das Update bedeutet jetzt aber auch, dass z.B. der gestrige Kurs nicht mehr aktualisiert wird, wenn ich PP gestern beispielsweise „nur“ in der Früh geöffnet habe, korrekt?
Somit sollte man aus User-Sicht von nun an möglichst nach Marktschließung noch ein Kurs-Update durchführen, da sonst irgendein Intraday-Kurs gespeichert wird.
Oder einfacher: Einträge in PP am besten nur dann speichern, wenn der Markt gerade geschlossen ist.

Da fällt mir ein: Besser wäre es doch, wenn PP den Kurs des aktuellen Tages gar nicht erst speichern würde, dann hätte man das potenzielle Problem, dass Intraday-Kurse langfristig gespeichert und nicht mehr aktualisiert werden, gelöst. (Vermutlich einfacher, als sich explizit alle manuell geänderten Kurse zu merken und die vor Änderungen zu schützen.)

Nein, das ist nicht so:

1 Like

Danke für die Aufklärung, sehr cool dass das schon von vornherein berücksichtigt wurde :slight_smile: