ich versuche gerade die Kurse von der Deka-Seite als JSON Kursquelle zu konfigurieren. Das hat auch bei einem anderen Fonds gut geklappt, bei dem folgenden klappt es leider aber nicht:
Der Fehlerstack sagt, dass die ersten Werte scheinbar außerhalb des gültigen Bereichs liegen. Erster Wert im JSON ist nämlich -413298000000 (also 26. November 1956, epochtime), PP kann aber als kleinsten/frühesten Wert den -365243219162 (also 5. June 1958) verarbeiten.
Fehlerstack:
Mon May 30 21:42:33 CEST 2022
Invalid value for EpochDay (valid values -365243219162 - 365241780471): -413298000000
java.time.DateTimeException: Invalid value for EpochDay (valid values -365243219162 - 365241780471): -413298000000
at java.base/java.time.temporal.ValueRange.checkValidValue(Unknown Source)
at java.base/java.time.temporal.ChronoField.checkValidValue(Unknown Source)
at java.base/java.time.LocalDate.ofEpochDay(Unknown Source)
at java.base/java.time.LocalDateTime.ofEpochSecond(Unknown Source)
at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.parseDateTimestamp(GenericJSONQuoteFeed.java:363)
at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.extractDate(GenericJSONQuoteFeed.java:330)
at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.parse(GenericJSONQuoteFeed.java:249)
at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.getHistoricalQuotes(GenericJSONQuoteFeed.java:155)
at name.abuchen.portfolio.online.impl.GenericJSONQuoteFeed.previewHistoricalQuotes(GenericJSONQuoteFeed.java:83)
at name.abuchen.portfolio.ui.wizards.security.HistoricalQuoteProviderPage$LoadHistoricalQuotes.run(HistoricalQuoteProviderPage.java:308)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Hat jemand eine Idee wie man das fixen könnte? Ich brauche auch gar nicht so alte Kurse aber ich wüsste auch nicht, wie man die älteren Werte überspringen könnte. Leider sind ariva und onvista immer Mal wieder unzuverlässig und es fehlen Kurse. Außerdem ist der Kurs bei der Deka meist früher verfügbar. Daher wollte ich es über diesen Weg versuchen.
Es sind Tage relativ zur Epoche. Das Minimum entspricht also nicht 1958, sondern etwa 1 Million Jahre v. Chr. Das Problem ist die Unterscheidung, ob die vorgefundene Zahl in Tagen, Sekunden oder Millisekunden angegeben ist. Da funktionieren die Faustregeln von PP nur für Daten in der Zukunft gut.
Als Workaround: Wenn die Deka keine Möglichkeit bietet, nur einen begrenzten Zeitraum abzufragen, bliebe höchstens ein zwischengeschalter Proxy, der die ältesten Einträge entfernt.
Die Deka bietet leider scheinbar an der Stelle tatsächlich keine weiteren Parameter zur Einstellung, die laden scheinbar tatsächlich immer alle Kurse und steuern dann nur über die GUI was angezeigt wird. Wahrscheinlich lasse ich es dann einfach bei ariva und akzeptiere bei dem einen Fond den Versatz (wird sowieso umgeschichtet, dumme Jugendentscheidung aber das tut hier nichts zur Sache). Aber Mal für die Theorie, wie würde ich so einen Proxy bauen/konfigurieren? Einfach ein python script o.ä. was dazwischengeschaltet wird? Falls es wichtig ist, nutze Win10. Vielleicht kannst du mich da mal in die richtige Richtung stupsen?
Falls nicht, ich hab obiges Script schon für Windows kompiliert, aber wie das mit selbstgebautem Kram meistens so ist, meckert irgendein Schlangenöl rum: https://www.virustotal.com/gui/file/a4ca77369d06af7e22671c7121f98cccdffaa6b23d2e1f459cf2918ef6d6468e/detection