L'API de trading pour les produits financiers a été publiée par diverses entreprises dans le domaine de la monnaie virtuelle comme le Bitcoin depuis longtemps, mais je pense qu'il n'y en a pas autant dans les actions et les ETF. Pendant ce temps, au Kabucom Securities a publié une API de trading prenant en charge le format REST, j'ai donc essayé de l'utiliser.
Pour utiliser l'API de la station kabu, vous devez avoir un compte chez au Kabucom Securities et avoir un plan Fintech ou supérieur. Par conséquent, ceux qui n'ont pas de compte doivent effectuer les étapes suivantes pour commencer à l'utiliser. Veuillez consulter ici pour la procédure détaillée.
Lorsque vous effectuez diverses requêtes API, il est nécessaire de spécifier le jeton acquis à l'avance dans l'en-tête de la requête, donc commencez par acquérir ce jeton. Lors de l'acquisition d'un jeton, le mot de passe API défini dans Préparation 5 dans la section précédente est requis, mais cette fois, placez-le dans la variable d'environnement.
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")
Obtenez les informations sur la valeur marchande de n'importe quelle marque. La réponse comprend également des informations détaillées sur la carte. À propos, si vous spécifiez le symbole 101, vous pouvez obtenir le cours moyen de l'action Nikkei.
variable | La description |
---|---|
token | Jeton acquis dans la section précédente |
symbol | Code de marque que vous souhaitez obtenir |
exchange | Code de marché que vous souhaitez obtenir(1 est 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")
Référence décrit diverses autres méthodes de requête, donc si vous souhaitez effectuer une opération, veuillez vous y référer. Il y a quelques préparatifs avant que l'API ne devienne disponible, mais une fois que cela est fait, la requête d'API elle-même ne semble pas être particulièrement difficile. Je pense qu'il y a encore peu de ressources de ce type au Japon, ce serait donc bien si l'ouverture progressait comme dans le domaine de la monnaie virtuelle.
Recommended Posts