記事の更新日:2022年5月4日

 

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

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

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

 

Pythonサンプルコード解説

 

トークンを取得するサンプルコードを、4つの要素に分解しました。

これまでに要素1から要素3までの解説が終了しています。

 

1~4の要素に分解しています。

  • 要素1:ライブラリーのインポート
  • 要素2:送信データーの作成
  • 要素3:処理内容の指定
  • 要素4:処理の実行

 

 

要素4:処理の実行

 

要素4はさらに4つの要素に分解されます。

 

ここから先の解説は、トークンを取得するサンプルコードの出力結果を見ながらの方が理解しやすいと思います。

サンプルコードを実行してみましょう。

 

トークンを取得するサンプルコード実行

 

トークンを取得するサンプルコードを編集します。

Jupyter Lab(ジュピター・ラボ)をアクティブにします。

Pythonコードの記述されている部分(セル)をクリックしてアクティブにします。

この状態で、Shift+Enterキーを押すと、アクティブなセルのPythonコードだけが実行されます。

 

下図は、Pythonコードが実行された結果です。

26行目の下にメッセージが出力されました。

’トークン取得失敗’と出力されています。

このエラーは、5行目に正しいAPIパスワードが入力されていないために発生しました。

 

このAPIパスワードとは、kabuステーションのAPIシステム設定で登録したパスワードになります。

 

コードを一部変更しました。

4行目に正しいパスワードをAPIPasswordという変数に代入するコードを追加し、5行目にその変数を記載しました。

※4行目のパスワード’xxx△△△◇◇◇’は、あなたの正規のパスワードに置き換えてください。

 

トークンが正しく出力されています。

 

要素分割されたコードと出力結果の比較

 

要素分割されたPythonコードと、出力結果を並べて表示しました。

 

13行目からのwith句でサーバーから返される値(レスポンス)を受け取ります。

14行目から17行目までのコードで、レスポンス状態を示す内容が出力(Print)されます。(青の点線で囲った部分)

目的はトークンを取得する事なので、細分化A’のコードは削除しても構いません。

 

18行目で、JSON文字列を辞書に変換してcontent変数に代入。

19行目のpprintで、出力されるデーターを見栄え良く(人間が判読しやすいよう)自動で整形して出力(Print)

 

例外処理(exception)

 

コードを実行して得られた出力結果は、細分化Aが出力した値です。

それでは、細分化B、細分化Cのコードは何のためにあるのでしょうか。

 

上の図12行目に try: と記述されています。

そして、20行目と24行目に except と記述されています。

 

これは、予期しない値が返ってきた際にプログラムがエラーで止まらないようにするための記述です。

例外処理と呼ばれます。

 

実行したい処理は、上図の細分化Aのようにtry:以降に記述します。

例外が発生した場合は、その内容によって上図の細分化BまたはCが実行されます。

 

詳しくは「try-except python」などで検索してみてください。

 

トークンだけを取り出す

 

トークンを取得するサンプルコード実行した理由は、取得したトークンを使って発注のPythonコードを実行させることです。

 

トークンだけを取り出すコードはこちらです。

 

上図18行目のコードで、JSON文字列を辞書に変換してcontent変数に代入。

content = json.loads(res.read())

 

下の1行を追加して、トークンだけをtoken_value変数に代入。

token_value = content.get(‘Token’)

 

次に続く

 

トークン取得のサンプルコードの解説がひととおり終わりました。

ここらで、一息つきましょうか。

 

次は、トークン取得のコードを関数化します。

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

 

この記事を書いた人

あしおゆたか

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

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

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

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

◇運営者情報はこちら