auカブコム証券ではRest apiを公開しており、且つ1日信用取引を無料化し、非常に使いやすくなっています。

個人的に楽天証券から乗り換えようかな?と思ってしまっています。

そんな気になるauカブコム証券ですが、今日はauカブコム証券で自動取引をするための入り口である、kabuステーションをPythonで起動するコードを公開いたします。

apiを使おうと思うと、まずはkabuステーションを起動させておかねばなりません。なのでこの証券会社でのapi自動取引では入り口というわけなのです。

筆者は楽天証券派では?と聞かれるかもしれませんが、その昔にapiでの取引を検討していたので、このコードを書いていました。

では、行きましょう。30秒で理解できるのでご安心ください。

import pyautogui #事前にpipでインストールしてください。
import subprocess
import time

kabu_station = None

# kabuステーションを起動します
def start_kabu():
    global kabu_station #グローバルにすることで、下のstop_kabuの中でもkabu_stationを動くようにしています。
    #kabu_stationのexeファイルはかなり奥底に眠っています。kabuS.exeを検索してパスを下に入れて下さい。
    kabu_station_path = r"C:\Users\*************\KabuS.exe"
    kabu_station = subprocess.Popen(kabu_station_path)#subprocessはググって調べてください。
    time.sleep(10) #起動が完了するまで待つ。普通のwait関数は効きませんでした。
    pyautogui.typewrite("********")  #パスワード ログインIDは記録させておくため入力しない
    time.sleep(1)
    pyautogui.keyDown("Enter")
    time.sleep(1)


# kabuステーションを停止します
def stop_kabu():
    kabu_station.kill()  

#上で定義したstart_kabu() stop_kabu()を動かします。
start_kabu()
time.sleep(10)
stop_kabu()

私のプログラミング能力は学生以下ですので、もっと良い方法があれば連絡いただければ幸いです。
特に、subprocessで起動した後、10秒待機としていますが、もっとエレガントに確実に待つ方法があると思うですが、知っている人がいれば是非ともコメントいただけると助かります。

後、プロであればpyautoguiは使わないのだろうなぁ、と思うのですが今回は力技でしのぎました。

このKabuステーションが起動できれば、後はTOKENを取得して、発注コードをAPIで送信するだけで発注ができます。それもPythonでできますので、是非ともチャレンジしてみてください。

<応用>

確か、kabuステーションは朝6時15分には一旦接続を切られます。再ログイン可能なのは朝6時30分から。
そのため、一旦つけてから付けっぱなしという訳にはいかないので、
上のコードをタスクスケジューラーを組み込み、朝に一旦ログインだけしておいて、夕方にはタスクスケジューラーで下の設定でkabuステーションを強制終了する手もあります。

その間に好きなpythonのカブコムAPIを使って好きなだけ運用するという手もあるのです。

↓はタスクスケジューラにおけるKabuステーション強制終了の設定です。参考にしてください。

まとめるとこんな感じ

①朝にKabuステーション起動・ログイン

②好きなだけAPIで取引。タスクスケジューラを使ってもよい。

③Kabuステーションの強制終了。

是非お試しを。

<オススメ書籍>

おそらくはシステムトレーダーは必ず目を通す書籍。
バリュー指標の優位性を45年分のデータで示しています。

絶対に読んでおいて欲しい書籍NO.1。これを読んでおくと、その後論文を読もうかという気持ちにさせてくれます。株の基本的な優位性の取り方が記載されています。

投稿者

SHIN

4件のコメント

  1. Kabuステーションの自動起動スクリプトの公開をありがとうございます。
    Kabuステーション の起動ファイルはKabuS.exeとのことでしたが、見つからず、ネットで探してみたら、Kabuステーションはダウンロードして起動するタイプの特殊なアプリである、とのことでした。
    実際にはWeb browserから起動する方法でうまくいきましたが、直接起動はできるのでしょうか?できればその方が簡単で助かります。

    国枝悦夫
    1. Kabuステーションは起動する際に常にバージョン情報を入手して、最新バージョンにUPDATEが自動でなされるソフトですが、
      PCにインストールされている以上、必ずexeファイルはあると思います。
      デスクトップに起動アイコンがあればそれはEXEファイルを起動させているはずです。
      私の場合、C:\Users\”個人名”\AppData\Local\Appsぐらいの場所でKabuSを検索すると出てきます。
      頑張ってみてください。

      SHIN
  2. パイソンの自動起動スクリプトの公開ありがとうございます。
    Kabuステーションの強制ログアウトは16時ではなくて、朝の6:15だと思います。
    そのあと 6:30からログイン可能となります。

    SeaOtter
    1. コメントありがとうございます!記事は訂正しておきます!

      SHIN

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です