Dernière fois, API kabu Station® - J'ai créé un wrapper Python pour l'API REST, mais je vais vous expliquer comment l'utiliser facilement. Saisissez également le code que vous utilisez réellement pour vérifier les stocks que vous détenez ou commandez.
Voir Github: https://github.com/shirasublue/python-kabusapi
kabusapi
.Context
.import kabusapi
api = kabusapi.Context('localhost', '18080', 'hogehoge')
À propos, la valeur par défaut de l'argument de «Contexte» est
hostname='localhost',
port=18080,
password=None,
token=None,
Par conséquent, en utilisation normale, vous pouvez vous connecter à l'environnement de production en spécifiant uniquement le mot de passe comme indiqué ci-dessous.
api = kabusapi.Context(password='hogehoge')
De plus, dans l'API de la station kabu, le jeton est changé à chaque fois que le jeton est acquis ou activé. Si «token» est acquis par un autre programme, il peut être défini comme suit.
api = kabusapi.Context(token='fugafuga')
Pour vérifier le jeton, reportez-vous à ʻapi.token`.
print(api.token)
positions = api.positions()
positions = sorted(positions, key=lambda x: x['Symbol']) #Trier par code de stock
print('Marque de code, prix d'acquisition moyen, nombre de biens, valeur actuelle, profits et pertes')
for position in positions:
profit_loss = position['ProfitLoss']
if profit_loss == None:
profit_loss = '---'
print("{}\t{:11.7}\t{:>10}\t{:>10}\t{:>10}\t{:>10}".format(
position['Symbol'],
position['SymbolName'],
position['Price'],
position['LeavesQty'],
position['CurrentPrice'],
profit_loss))
orders = api.orders()
print('Code marque, prix de la commande, nombre de commandes, prix actuel, délai')
for order in orders:
state = order['State']
if state >= 4: # 1,2,3:Attendez,En traitement,Traité
continue
price = order['Price']
if price == 0.0:
price = 'Marché'
side = order['Side']
if side == '2':
side = 'Acheter'
elif side == '1':
side = 'Vendre'
board = api.board(symbol=order['Symbol'], exchange=1)
current_price = board["CurrentPrice"]
if current_price == None:
current_price = "---"
print("{}\t{:11.7}\t{:>10}/{:<}\t{:>10}\t{:>10}\t{:>10}".format(
order['Symbol'],
order['SymbolName'],
price,
side,
order['OrderQty'],
current_price,
order['ExpireDay'],
))
Recommended Posts