Utilisez l'API de la station kabu fournie par au Kabucom Securities aux individus de Python. La station kabu est supposée être installée.
Ci-dessous, la capacité de trading est acquise, le solde est affiché et l'ordre est affiché.
import json
import requests
import yaml
# ---
def get_token(): #Obtenez un jeton. Il change à chaque fois que vous l'obtenez ou à chaque fois que vous redémarrez la station kabu.
with open('auth.yaml', 'r') as yml:
auth = yaml.safe_load(yml)
url = 'http://localhost:18080/kabusapi/token'
headers = {'content-type': 'application/json'}
payload = json.dumps(
{'APIPassword': auth['PASS'],}
).encode('utf8')
response = requests.post(url, data=payload, headers=headers)
return json.loads(response.text)['Token']
# ---
token = get_token()
url = 'http://localhost:18080/kabusapi/wallet/cash'
response = requests.get(url, headers={'X-API-KEY': token,})
cash = json.loads(response.text)
print("Capacité commerciale\t{}".format(cash['StockAccountWallet']))
url = 'http://localhost:18080/kabusapi/positions'
response = requests.get(url, headers={'X-API-KEY': token,})
positions = json.loads(response.text)
print('Code Prix moyen d'acquisition de la marque Nombre de participations Valeur actuelle Gain / perte')
for position in positions:
print("{}\t{}\t{}\t{}\t{}\t{}".format(
position['Symbol'],
position['SymbolName'],
position['Price'],
position['LeavesQty'],
position['CurrentPrice'],
position['ProfitLoss']))
url = 'http://localhost:18080/kabusapi/orders'
response = requests.get(url, headers={'X-API-KEY': token,})
orders = json.loads(response.text)
print('Code Marque Prix de la commande Numéro de commande Date limite')
for order in orders:
if order['State'] == 1:
print("{}\t{}\t{}\t{}\t{}".format(
order['Symbol'],
order['SymbolName'],
order['Price'],
order['OrderQty'],
order['ExpireDay'],))
Le port de l'environnement de production est 18080 et le port de l'environnement de vérification est 18081. De plus, les connexions autres que localhost ne sont pas possibles.
[Demande] À propos de l'accès à l'API depuis un hôte autre que localhost Issue#34 https://github.com/kabucom/kabusapi/issues/34
Essayez-le avec PowerShell
netsh http add urlacl url=http://[ IP ADDRESS ]:18080/ user=Everyone
Quand je l'ai lié avec, il a été rejeté avec une erreur 503.
Recommended Posts