how-to-make-stock-trading-system.dogwood008.com
前回からずっとやっているが、やっとうまく動かなかった理由がわかった。テスト環境だと、一切の銘柄情報が取得できないのが原因だった。本番環境に切り替えたところ、下記のように値を取得することができた。
import kabusapi import os import pprint from typing import List pp = pprint.PrettyPrinter() url = "localhost" port = os.environ.get('PORT')本番用は18080 password = os.environ.get('PASSWORD') TOUSHO = 1 # 初期設定・トークン取得 token = kabusapi.Context(url, port, password).token # print(token) # トークンを指定した初期設定 パスワードが不要 api = kabusapi.Context(url, port, token=token) def info(code: int, exchange: int=TOUSHO): # 銘柄情報 data = { "symbol": code, "exchange": exchange, } response = api.symbol(**data) pp.pprint(response) def register(codes: List[int]): ''' 銘柄登録 ''' data = { "Symbols": [ {"Symbol": code, "Exchange": 1} for code in codes ] } response = api.register(**data) print(response) info('9433')
$ python sample.py {'BisCategory': '5250 ', 'DisplayName': 'KDDI', 'Exchange': 1, 'ExchangeName': '東証1部', 'FiscalYearEndBasic': 20210331, 'KCMarginBuy': True, 'KCMarginSell': True, 'LowerLimit': 2658.0, 'MarginBuy': True, 'MarginSell': True, 'PriceRangeGroup': '10003', 'Symbol': '9433', 'SymbolName': 'KDDI', 'TotalMarketValue': 7737434928900.0, 'TotalStocks': 2355373.0, 'TradingUnit': 100.0, 'UpperLimit': 4058.0}