kabuステーションAPIで完全自動売買を行う環境設定
auカブコム証券のAPI接続サービス「kabuステーション API」を使って「Windows 10」のパソコン環境で完全自動売買を行う方法です。
なぜ、このような環境設定が必要になるかというと、APIの利用には「Windows版 kabuステーション」の起動が必須条件だからです。
この条件さえなければ、常時起動しているLinuxサーバ内でCrontabを利用するだけなので簡単です。クラウドやVPSを利用すればハードウェアも必要ありません。
将来的には、kabuステーションの起動も必要無くなるかもしれないようですが、2020年末時点ではWindows環境でしか動作しないので頑張って仕組みを考えました。
1. PCを自動起動する
常時起動が当たり前のLinuxサーバと違って、パソコンを24時間起動させておくのは無駄が多いので株取引がはじまる朝に自動起動する設定にしました。
以下、自動起動の設定記事です。
2. kabuステーションに自動ログインする
kabuステーションを起動しただけではAPIは利用できません、必ずパスワードを入力してログインする作業が必要となるので、この処理をフリーソフトを使って自動化しました。
以下、自動ログインの設定記事です。
3. プログラムの自動実行
kabuステーションAPI用の実行プログラムは「PHP」で作成したので、実行環境は「Xampp」を利用しました。パソコン起動時にXamppが自動起動するように設定しました。
PHP自身を連続実行する方法としては「タスクスケジューラ」で「Crontab」のように定期実行する方法を考えましたが、もっと簡単な方法を思いつきました「meta refresh」を使って自分自身をリロードする方法です。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="600; ./www-cron.php?rand=5fc360cec4224">
</head>
<body>API</body>
</html>
こちらがソースになります。10分毎に自身のページを再読み込みしてAPI用のプログラムを実行しています。またブラウザにキャッシュされないようにランダムな引数を付与しています(リロード毎にURLが変化するように)
何ヶ月もこの状態で運用してきましたが問題なく動作しています。
4. PCの自動シャットダウン
自動起動したパソコンを利用していない時間帯に電源OFFする設定に変更しました。kabuステーションは1日1回は再起動しないと正常動作しない、という仕様なので、常時起動しておくよりシャットダウンする方がミスを防げます。
以下、自動シャットダウンの設定記事です。
まとめ
- 毎朝パソコンを自動起動する
- kabuステーションを自動起動・自動ログイン
- Xamppを自動起動する(PHP実行環境)
- ブラウザを自動起動して、ページをリロード(Crontab代替)
- PHPを定期実行してAPIを利用する
- 取引終了後、パソコンをシャットダウンする
以上、実際に自分が完全自動売買を利用している方法です。この方法を使うことによって、何もしなくても、パソコンの前にいなくても自動で株取引が行われます。
今後カブステAPI用のPHPプログラムについても公開していきたいと思います!