2.11.2025

kabusapi_orders.py

finplot

HOME > kabusapi > kabusapi_orders.py

注文約定照会の取得

import urllib.request
import json
import pprint

obj = { 'APIPassword': 'qwerty' }
json_data = json.dumps(obj).encode('utf8')

url = 'http://localhost:18080/kabusapi/token'
req = urllib.request.Request(url, json_data, method='POST')
req.add_header('Content-Type', 'application/json')

try:
    with urllib.request.urlopen(req) as res:
        print(res.status, res.reason)
        for header in res.getheaders():
            print(header)
        print()
        content = json.loads(res.read())
        pprint.pprint(content)
except urllib.error.HTTPError as e:
    print(e)
    content = json.loads(e.read())
    pprint.pprint(content)
except Exception as e:
    print(e)

info_key = []
info_value = []
for key, value in content.items():
 info_key.append(key)
 info_value.append(value)

Token = ""
print(len(info_key))
for i in range(len(info_key)):
 print(info_key[i],info_value[i])
 if info_key[i] == "Token" : Token = str(info_value[i])

print(Token)

url = 'http://localhost:18080/kabusapi/orders'
params = { 'product': 0 }              # product - 0:すべて、1:現物、2:信用、3:先物、4:OP
#params['id'] = '20201207A02N04830518' # id='xxxxxxxxxxxxxxxxxxxx'
#params['updtime'] = 20201101123456    # updtime=yyyyMMddHHmmss
#params['details'] =  'false'          # details='true'/'false'
#params['symbol'] = '9433'             # symbol='xxxx'
#params['state'] = 5                   
# state - 1:待機(発注待機)、
#         2:処理中(発注送信中)、
#         3:処理済(発注済・訂正済)、
#         4:訂正取消送信中、
#         5:終了(発注エラー・取消済・全約定・失効・期限切れ)
#params['side'] = '2'                  # side - '1':売、'2':買
#params['cashmargin'] = 3              # cashmargin - 2:新規、3:返済

req = urllib.request.Request('{}?{}'.format(url, urllib.parse.urlencode(params)), method='GET')
req.add_header('Content-Type', 'application/json')
req.add_header('X-API-KEY', Token)

try:
    with urllib.request.urlopen(req) as res:
        print(res.status, res.reason)
        for header in res.getheaders():
            print(header)
        print()
        content = json.loads(res.read())
        pprint.pprint(content)
except urllib.error.HTTPError as e:
    print(e)
    content = json.loads(e.read())
    pprint.pprint(content)
except Exception as e:
    print(e)

#自動売買 #システムトレード