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

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

2021-02-17 kabu STATION のラッパーを使ってみる その4 四本値の取得

7974任天堂の四本値(始値、高値、安値、終値)を取得してみる。

歩み値はREST APIでは標準で取れないようである。もし取ろうとすると、立会時間中に何回もAPIでアクセスしてリアルタイムに記録していく必要がありそうだ(技術的にはできるが、負荷や規約的にどうかは知らない)。

別途 PUSH APIが用意されているので、それを使用するのが良さそうだが、50件迄しか取得できない。また後日試してみたい。

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)
    return response

def board(code: int):
    # 時価情報・板情報
    data = {
        "symbol": code,
        "exchange": 1,
    }
    response = api.board(**data)
    o, h, l, crr = (
        response['OpeningPrice'],
        response['HighPrice'],
        response['LowPrice'],
        response['CurrentPrice'])  # 大引け後なら終値

    return (o,h,l,crr)


# info('9433')
print('(o,h,l,c) = %s' % str(board('7974')))
$ python sample.py
(o,h,l,c) = (67350.0, 69020.0, 67230.0, 68600.0)

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