Alpha Vantage: Please consider optimizing your API call frequency

Ich habe ca. 30 Aktien die nun die Kurse über PP abfragen. Es erscheint folgende Meldung:

Mon Nov 13 09:17:28 CET 2017
Alpha Vantage


Mon Nov 13 09:17:28 CET 2017
Unerwartetes Feld in Serverantwort: {
“Information”: “Please consider optimizing your API call frequency.”
}

java.io.IOException: Unerwartetes Feld in Serverantwort: {
“Information”: “Please consider optimizing your API call frequency.”
}

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateLatestQuotes(AlphavantageQuoteFeed.java:89)

at name.abuchen.portfolio.ui.UpdateQuotesJob$1.run(UpdateQuotesJob.java:226)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Ich wollte nich ein Extra-Thread aufmachen, jedoch ist mir heute zum Thema Alpha Vantage folgendes aufgefallen:
Der API-Key wird nicht über mehrere PP-Installationen hinweg genutzt.
Kurze Setup-Erläuterung:
Ich habe PP, Programm sowie xml-Dateien in meinen OneDrive-Ordner gepackt, OneDrive synchronisiert automatisch. Auf Rechner A habe ich den API-Key für AV eingegeben, auf Rechner B musste ich ihn nochmals eingeben.
Vielleicht ist dies ja auch noch für den ein oder anderen relevant. Wäre schön wenn diese Setting auch mit übergreifend wäre. Ich habe übrigens: “GUI Einstellungen neben …” aktiviert.

Yep. Die Settings sind auf die Datei bezogen, der API Schlüssel ist global für alle Dateien. Und ja, wird nicht synchronisiert. Da der sich aber nicht so häufig ändert, denke ich kann man damit erst mal leben.

Interessant. Es geht wohl um den TIME_SERIES_INTRADAY Call. Der ist als High Usage gekennzeichnet.

Auf der Web Seite heißt es dazu:

While we are proud to provide free API service with no daily/weekly/monthly call limits, we recommend that API call frequency does not extend far beyond ~100 calls per minute so that we can continue to deliver the optimal server-side performance.

100 Aufrufe pro Minute ist aber schon ein Wort. Hast Du in die Richtung so viele Wertpapiere (ausprobiert)? Oder rufe ich noch zu häufig zu Alpha Vantage? (Wenn ich es mir überlege, bei jedem Buchstaben im Ticker Feld rufe ich natürlich das API auf - aber 100 mal pro Minute doch nicht).

Klar, das ist kein großes Problem. Es hatte mich nur etwas irritiert, dass es auf Rechner B nicht direkt funktionierte.
Vielen Dank für die Implementierung dieser tollen Funktion.

Wenn ich es mir überlege, bei jedem Buchstaben im Ticker Feld rufe ich natürlich das API auf - aber 100 mal pro Minute doch nicht

Beim Start des Programms werden alle Kurse aktualisiert, da kommt einiges zusammen, besonders, wenn die API wirklich für jeden einzelnen Buchstaben aufgerufen wird. Bei meinem aktivsten Depot sind es 109 Tickersymbole mit 739 Zeichen.

:joy:

Ich meinte damit die Seite auf dem Wertpapierdialog um Alphavantage zu konfigurieren. Wenn man da z.B. “MSFT” eingibt, dann werden Kurse erst für M, dann für MS, dann für MSF und so weiter geladen.

Aber auch so haben wir ein Problem:

Wenn Du die alle auf Alpha Vantage umstellst und sowohl historische als auch den aktuellen Kurse damit abfragst, dann wären das über 200 Abfragen. Und da gibt es aktuelle keine Limitierung (abgesehen von max. 10 parallelen Anfragen). Da kann man schon in die 100 pro Minute laufen.

Da muss ich mir was überlegen… :thinking: Sehr einfach kann ich weniger parallele Anfragen erlauben. Mit etwas mehr Aufwand bekommt kann ich sicherlich auch die 100 Aufrufe pro Minute über alle evtl. geöffneten Dateien hinweg limitieren. Oder wir rufen solange Daten ab bis die Fehlermeldung kommt - und warten dann eine “grace period” bevor wir weiter machen.

1 Like

Mit Version 0.28.3 habe ich ein “Rate Limit” eingebaut. Damit sollte PP eigentlich nicht mehr als die 100 Calls pro Minute machen. Wenn trotzdem die Fehlermeldung wieder auftaucht, dann bitte ich um Feedback.

1 Like

Hallo zusammen,
erstmal ein großes Dankeschön an alle, die sich um die Weiterentwicklung dieses Programms kümmern.
Ich habe es gestern entdeckt und damit “gespielt” und ein paar supertolle Feaures entdeckt… (z.B. das Einlesen, der Bankdokumente)

Es ist wirklich toll und genau das, was ich eigentlich immer gesucht habe. (Ich bin ein kleiner Zahlenfreak :wink: )

Natürlich kann die tollste Portfolioverwaltung ohne aktuelle Kurse nicht wirklich viel Nutzen bringen und da hakts zurzeit wohl gewaltig… wenn ich das richtig mitbekommen.
Yahoo geht auch bei mir zurzeit gar nicht und Alpha Vantage hatte mir heute Mittag die ersten Kurse geliefert und seit ca. 14 Uhr bekomme ich genau die obige Fehlermeldung:

Thu May 24 15:26:27 CEST 2018
Alpha Vantage


Thu May 24 15:26:27 CEST 2018
Unerwartetes Feld in Serverantwort: {
“Error Message”: “Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.”
}

java.io.IOException: Unerwartetes Feld in Serverantwort: {
“Error Message”: “Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.”
}

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateLatestQuotes(AlphavantageQuoteFeed.java:143)

at name.abuchen.portfolio.ui.UpdateQuotesJob$1.run(UpdateQuotesJob.java:229)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Mach ich da irgendwas falsch?
Vielleicht könnt Ih mir weiterhelfen

Vielen Dank schon mal im Voraus und viele Grüße

Dieter

Ich habe den gleichen Fehler beider Aktualisierung der Aktuellen Kurse, bekomme also keine Aktuellen Werte, nur die Historischen und die Delta-Spalte unter “Alle Wertpapiere” bleibt leer.

Unerwartetes Feld in Serverantwort: {
"Error Message": "Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY."
}

java.io.IOException: Unerwartetes Feld in Serverantwort: {
"Error Message": "Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY."
}

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateLatestQuotes(AlphavantageQuoteFeed.java:143)

	at name.abuchen.portfolio.ui.UpdateQuotesJob$1.run(UpdateQuotesJob.java:229)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Hallo, habe wegen der Yahoo Probleme meine Wertpapierabfragen auf Alpha Vantage umgestellt.
Nun bekomme ich aber einen ganzen Haufen von Fehlermeldungen, die auch im Fehlerprotokoll angezeigt werden…

Das fängt hiermit an, für quasi jedes eingetragene Wertpapier:

Mon May 28 13:25:16 CEST 2018
Alpha Vantage


Mon May 28 13:25:16 CEST 2018
Unerwartetes Feld in Serverantwort: {
“Error Message”: “Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.”
}

java.io.IOException: Unerwartetes Feld in Serverantwort: {
“Error Message”: “Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.”
}

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateLatestQuotes(AlphavantageQuoteFeed.java:143)

at name.abuchen.portfolio.ui.UpdateQuotesJob$1.run(UpdateQuotesJob.java:229)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Später folgen dann auch diese hier:

Mon May 28 13:27:27 CEST 2018
Bayer AG


Mon May 28 13:27:27 CEST 2018
Unerwartetes Feld in Serverantwort: {

java.io.IOException: Unerwartetes Feld in Serverantwort: {

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.getHistoricalQuotes(AlphavantageQuoteFeed.java:250)

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateHistoricalQuotes(AlphavantageQuoteFeed.java:190)

at name.abuchen.portfolio.ui.UpdateQuotesJob$2.run(UpdateQuotesJob.java:267)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

und diese Fehlermeldung bekomme ich neuerdings auch

Mon May 28 13:27:48 CEST 2018
Alpha Vantage


Mon May 28 13:27:48 CEST 2018
Unerwartetes Feld in Serverantwort: {
“Information”: “Please consider optimizing your API call frequency.”
}

java.io.IOException: Unerwartetes Feld in Serverantwort: {
“Information”: “Please consider optimizing your API call frequency.”
}

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateLatestQuotes(AlphavantageQuoteFeed.java:143)

at name.abuchen.portfolio.ui.UpdateQuotesJob$1.run(UpdateQuotesJob.java:229)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Das Fehlerprotokoll wird so schon ganz schön voll und die Kurse werden wohl auch nicht komplett abgefragt.

Ich bekomme seit kurzem folgende Fehlermeldungen:

“Thank you for using Alpha Vantage! Please visit https://www.alphavantage.co/premium/ if you would like to have a higher API call volume.”

und

“Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.”

und

Thu Jul 26 18:24:20 CEST 2018
Unerwartetes Feld in Serverantwort: {

java.io.IOException: Unerwartetes Feld in Serverantwort: {

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.getHistoricalQuotes(AlphavantageQuoteFeed.java:250)

at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateHistoricalQuotes(AlphavantageQuoteFeed.java:190)

at name.abuchen.portfolio.ui.UpdateQuotesJob$2.run(UpdateQuotesJob.java:267)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)

Ich schließe mich den Vorgänger*innen an:

Mon Jul 30 11:14:23 CEST 2018
ComSt.-STX.Europe 600 NR U.ETF

------
Mon Jul 30 11:14:23 CEST 2018
Unerwartetes Feld in Serverantwort: {

java.io.IOException: Unerwartetes Feld in Serverantwort: {

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.getHistoricalQuotes(AlphavantageQuoteFeed.java:250)

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateHistoricalQuotes(AlphavantageQuoteFeed.java:190)

	at name.abuchen.portfolio.ui.UpdateQuotesJob$2.run(UpdateQuotesJob.java:267)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)



------

und

Mon Jul 30 11:14:21 CEST 2018
DB-XT.MSCI EMI U.ETF1CDLU

------
Mon Jul 30 11:14:21 CEST 2018
Unerwartetes Feld in Serverantwort: {

java.io.IOException: Unerwartetes Feld in Serverantwort: {

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.getHistoricalQuotes(AlphavantageQuoteFeed.java:250)

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateHistoricalQuotes(AlphavantageQuoteFeed.java:190)

	at name.abuchen.portfolio.ui.UpdateQuotesJob$2.run(UpdateQuotesJob.java:267)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)



------

und

Mon Jul 30 11:14:19 CEST 2018
CFS-DBXT MSCI WLD ETF 1C

------
Mon Jul 30 11:14:19 CEST 2018
Unerwartetes Feld in Serverantwort: {

java.io.IOException: Unerwartetes Feld in Serverantwort: {

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.getHistoricalQuotes(AlphavantageQuoteFeed.java:250)

	at name.abuchen.portfolio.online.impl.AlphavantageQuoteFeed.updateHistoricalQuotes(AlphavantageQuoteFeed.java:190)

	at name.abuchen.portfolio.ui.UpdateQuotesJob$2.run(UpdateQuotesJob.java:267)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)



------

Ich hoffe, dass ich die richtigen Fehlermeldungen kopiert habe. Hier noch die Übersicht.

PS: Ich kann die Wertpapiere nach und nach nach einiger Zeit händisch aktualisieren. Hat Alpha Vantage vielleicht die Zugriffszahlen weiter eingeschränkt?

Jup, haben sie. Limit liegt bei 5 Anfragen pro Minute. Siehe https://www.alphavantage.co/premium/

1 Like

Ich habe dieses Problem leider auch. 5 von meinen ca 30 Wertpapieren werden aktualisiert, der Rest nicht. Auch nicht, wenn ich über den Reiter Online / Kurse aktualisieren bzw. Historische Kurse aktualisieren das Ganze nochmals anstoße. Auch 1 Minute warten oder PP neu starten bringt nichts, da PP anscheinend immer in derselben Reihenfolge bei Alpha Vantage abfrägt. Vielleicht würde es helfen, wenn sich PP kurzfristig merkt, was schon aktualisiert wurde, damit zumindest 1 Minute später die nächsten 5 drankämen.

In der Fehlermeldung steht u.A.
Tue Jul 31 13:11:42 CEST 2018
Unerwartetes Feld in Serverantwort: {
“Information”: “Thank you for using Alpha Vantage! Please visit https://www.alphavantage.co/premium/ if you would like to have a higher API call volume.”
}
Die Premium Version kostet ab $19.99 für 15 requests/min pro Monat und 49.99 für 60 calls. Da ist jenseits von gut und böse.

:astonished:

Das könnte ich zumindest mal in eine zufällige Reihenfolge bringen…

Ich werde mit der nächsten Version die Häufigkeit der Abfragen ändern. Dann dauert es ggf. etwas länger, aber besser als abbrechen.

2 Likes

Seit Version 0.34.0 ist die Call Frequency auf 5 Aufrufe pro Minute begrenzt. Das kann man über die Einstellungen konfigurieren.

3 Likes

Ein Beitrag wurde in ein neues Thema verschoben: Wie findet man das Symbol für Alpha Vantage?