株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

kabu STATION のラッパーを使ってみる その3

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}

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.