JSON-Kursquelle vermischt Parameter

Ich wollte gerade den Kursquellentyp „JSON“ nutzen, um für einen Vanguard-Fonds den jeweils aktuellsten Kurs direkt von Vanguard zu beziehen. Historische Kurse bekomme ich von Ariva, dort taucht der jüngste Kurs aber immer erst später auf.

Dabei bin ich über ein Problem gestolpert, das hier schon einmal auf Englisch angesprochen wurde: Die JSON-Quelle trennt nicht richtig zwischen den Parametern für „historische Kurse“ und „aktueller Kurs“.

In meinem Fall wollte ich als Kursquelle historisch weiterhin Ariva mittels „Tabelle auf Website“ belassen und habe nur als Kursquelle aktuell JSON ausgewählt, mit entsprechenden Einträgen für URL, Pfad zum Datum und Pfad zum Kurs. Das Resultat: Die JSON-Funktion hat die bei sich angegebene URL ignoriert, stattdessen die Ariva-URL von „historische Kurse“ genommen und versucht, die Ariva-Webseite als JSON zu interpretieren. Das ist natürlich gescheitert.

In dem englischen Beitrag war es so, daß derjenige sowohl historische Kurse wie auch aktuellen Kurs via JSON beziehen wollte, aber unterschiedliche Pfade eingetragen hat in den beiden Tabs. Die werden aber, trotz separater Eingabemöglichkeit, beide als GENERIC-JSON-DATE bzw. GENERIC-JSON-CLOSE gespeichert – und für jede Eigenschaft kann es nur einen Wert geben. Offenbar setzen sich die Einstellungen für die historischen Kurse durch und werden dann fälschlich auch für den aktuellen Kurs verwendet.

Insgesamt ist die JSON-Funktion also noch ziemlich unausgegoren und allenfalls dann brauchbar, wenn man darüber nur die historischen Kurse beziehen möchte; also genau das Gegenteil von meinem Szenario.

5 Likes

Ich kann das alles bestätigen.
Wann könnte man mit einem Bug-Fix rechnen?

ich hab heute auch mal auf die historischen kurse von portfolio-report umgestellt (was ich super finde) und möchte für die aktuellen kurse aber weiter meine eigenen daten per json verwenden. Dabei laufe ich in das gleiche problem wie hier schon beschrieben.

Es wäre schön wenn die json Schnittstelle sauber unterscheidet zwischen quelle für historische kurse und aktuellem kurs und so auch unabhängig verwendet werden kann.

Derzeit ist in der Klasse GenericJSONQuoteFeed die Methode getLatestQuote() nicht implementiert und ich vermute mal, dass deswegen der LatestSecurityPrice nicht abgerufen bzw. auf anderem Wege gefunden wird.

Kann mir vielleicht jemand ein Minimalbeispiel erstellen und hier hochladen?

Ich hab anbei ein einfaches Beispiel anhand der IBM Aktie erstellt, mit historischen Daten von Ariva und dem aktuellen Kurs von alpha vantage (demo api call). In dem Beispiel kann der aktuelle Kurs nicht abgerufen werden so wie chirlu beschrieben hat.
Stellt man die historischen Daten auf den gleichen json call um funktioniert beides.
Passt also dazu dass die Funktion nicht implementiert ist.

json_example.xml (8,9 KB)

Vielen Dank für das Beispiel. Mit dem Fix sieht es nun so aus, wenn man beispielsweise den Eröffungskurs abholt:

grafik

Hier der Link zum Pull Request für das nächste Release:

2 Likes

Danke, das behebt aber noch nicht das ganze Problem. Man kann JSON nicht separat für historische und aktuelle Kurse verwenden.

Zum Ausprobieren: Nimm ein Wertpapier, stelle sowohl unter „Historische Kurse“ als auch unter „Aktueller Kurs“ jeweils JSON als Lieferanten ein. Gib unter „Historische Kurse“ bei „Pfad zum Datum“ ein: Hallo. Wechsle zu „Aktueller Kurs“: Dort steht jetzt ebenfalls Hallo.

Oder nochmals meine Beschreibung von oben:

ich hab genau das auch nochmal ausprobiert anhand meinem Beispiel und kanns bestätigen.
Kann man reproduzieren wenn wenn man bei historisch und aktuell versucht jetweils unterschiedliche Pfade anzugeben z.b:
Pfad zum Kurs (historisch): [„Global Quote“].[„08. previous close“]
Pfad zum Kurs (aktuell): [„Global Quote“].[„02. open“]
Es wird dann immer jeweils für beide der letzte gesetzte Pfad genommen.

Den Button „Serverantwort anzeigen“ gibts auch nur einmal auf dem historischen Tab.
Idealweise müsste es einen zweiten bei Aktueller Kurs geben der unabhängig funktioniert.

@inv-trad Ansonsten ist der fix schon mal besser als es heute ist. Danke dafür !

1 Like

Ok. Jetzt habe ich auch den Teil verstanden. :nerd_face:

Ich schaue mir das nochmal an.

2 Likes

So, den Pull Request habe ich nun erweitert, dass es sowohl GENERIC-JSON-DATEund GENERIC-JSON-CLOSEals auch GENERIC-JSON-DATE-LATESTund GENERIC-JSON-CLOSE-LATEST gibt.

Für mich sieht es nun gut aus, aber vielleicht können die Experten in diesem Bereich sich das noch mal anschauen.

Danke und Grüße!
Sven

1 Like

Ist jetzt mit Version 0.50.0 veröffentlicht.

1 Like