記事の更新日:2023年1月9日

 

auカブコム証券「kabuステーション®API」Pythonサンプルコードを丁寧に解説しています。

このブログ記事は下の解説ページの続きです。

auカブコム証券API Pythonで発注する方法を、超初心者向けにゆっくり解説。Page3 [kabuステーション®API]

 

解説動画

 

 

 

いよいよ実用的な内容になります。

 

前ページで解説したように、「kabuステーション®API」経由で、銘柄情報取得や、発注するには有効なトークンが必要です。

ところがこのトークンは、次のタイミングで無効になってしまいます。

 

発行されたAPIトークンは以下のタイミングで無効となります。
・kabuステーションを終了した時
・kabuステーションからログアウトした時
・別のトークンが新たに発行された時

出所:更新REST APIリファレンス

 

現状では(2023年1月3日現在)このトークンの有効・無効を判断するインターフェースはありません。

 

トークンを頻繁に取得する必要があるため、トークン取得のPythonコードを関数化しましょう。

 

トークン取得を関数化

 

auカブコム証券API トークン取得のサンプルコードはこちらです。

コードの解説は、前ページをご覧下さい。 リンクはこちら

サンプルコードを元に、関数化します。

 

パスワードを変数に代入

 

サンプルコードの5行目でAPIパスワード入力が求められます。

 

関数内にパスワードを直接記載するのは、セキュリティ上やメンテナンス上の問題があります。

変数に代入します。

 

jupterNotebookブックを開いて、実際にコードを記述しましょう。

 

必要なライブラリーをインポート

 

必要なライブラリーをインポートします。

 

トークンを取得する関数

 

トークンを取得する関数を記述します。

 

サンプルコードから変更した部分の解説

◇def generate_token(APIPassword):

関数名をgenerate_tokenとし、引数をAPIPasswordにしています。

def generate_token(APIPassword):

 

◇obj = {‘APIPassword’: APIPassword}

関数の引数として受け取った、APIパスワードをPythonの辞書型にして変数objに代入しています。

obj = {‘APIPassword’: APIPassword}

 

◇json_data = json.dumps(obj).encode(‘utf8’)

json_data = json.dumps(obj).encode(‘utf8’) は、辞書型のAPIパスワードをJSON形式に変換しています。

そして、Python の標準の文字コードである UTF-8を指定しています。

 

◇token_value = content.get(‘Token’)

try:以下のWith句最終行でトークンを変数に代入しています。

token_value = content.get(‘Token’)

 

◇return token_value

変数の戻り値にトークンを指定

return token_value

 

関数でトークンを取得する

 

関数でトークンを取得しましょう。

 

jupterNotebookブックでの出力結果

青く塗りつぶされた部分にトークンが出力されています。

1行目は関数内の、このコードにより出力 print(content)

2行目はこのコードにより出力 print(token_value)

 

次に続く

 

この続きは、新しいページをご覧下さい。

次は、発注処理です。

auカブコム証券API Pythonで発注する方法を、超初心者向けにゆっくり解説。Page5 注文発注(現物)[kabuステーション®API]

 

 

この記事を書いた人

あしおゆたか

株式投資歴22年のシステムトレーダー(←主な取引手法)

机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。

スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。

◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション

◇運営者情報はこちら