Die Handels-API für Finanzprodukte wurde lange Zeit von verschiedenen Unternehmen im Bereich der virtuellen Währung wie Bitcoin veröffentlicht, aber ich bin der Meinung, dass es nicht so viele Aktien und ETFs gibt. In der Zwischenzeit hat au Kabucom Securities eine Handels-API veröffentlicht, die das REST-Format unterstützt. Deshalb habe ich versucht, sie zu verwenden.
Um die Kabu Station API verwenden zu können, benötigen Sie ein Konto bei au Kabucom Securities und einen Fintech-Plan oder höher. Daher müssen diejenigen, die kein Konto haben, die folgenden Schritte ausführen, um es zu verwenden. Weitere Informationen finden Sie unter hier.
Wenn Sie verschiedene API-Anforderungen stellen, müssen Sie das zuvor erworbene Token im Anforderungsheader angeben. Erwerben Sie also zuerst dieses Token. Wenn Sie ein Token erwerben, ist das in Vorbereitung 5 im vorherigen Abschnitt festgelegte API-Kennwort erforderlich. Fügen Sie es diesmal jedoch in die Umgebungsvariable ein.
import os
import json
import requests
API_URL = "http://localhost:18080/kabusapi"
API_PASSWORD = os.environ["API_PASSWORD"]
def get_token():
URL = API_URL + "/token"
headers = {"content-type": "application/json"}
payload = {"APIPassword": API_PASSWORD}
try:
response = requests.post(URL, data=json.dumps(payload).encode("utf8"), headers=headers)
except Exception as e:
print (e)
return json.loads(response.text).get("Token")
Erhalten Sie die Marktwertinformationen jeder Marke. Die Antwort enthält auch detaillierte Informationen zum Board. Wenn Sie das Symbol als 101 angeben, erhalten Sie übrigens den durchschnittlichen Aktienkurs von Nikkei.
Variable | Erläuterung |
---|---|
token | Token im vorherigen Abschnitt erworben |
symbol | Markencode, den Sie erhalten möchten |
exchange | Marktcode, den Sie erhalten möchten(1 ist TSE) |
def get_price(token):
symbol = "9433"
exchange = "1"
URL = API_URL + "/board/" + symbol + "@" + exchange
headers = {
"content-type": "application/json",
"X-API-KEY": token
}
try:
response = requests.get(URL, headers=headers)
except Exception as e:
print (e)
return json.loads(response.text).get("CurrentPrice")
Referenz beschreibt verschiedene andere Anforderungsmethoden. Wenn Sie also eine Operation ausführen möchten, lesen Sie bitte diese. Es gibt einige Vorbereitungen, bevor die API verfügbar wird, aber sobald dies erledigt ist, scheint die API-Anforderung selbst nicht besonders schwierig zu sein. Ich bin der Meinung, dass es in Japan immer noch wenige solcher Ressourcen gibt. Es wäre also schön, wenn die Offenheit wie im Bereich der virtuellen Währung voranschreiten würde.
Recommended Posts