kabu ステーション API
auカブコム証券から個人投資家に向けて「kabu ステーション API」という株式取引 API の提供が始まりました。
既にみなさんいろいろ情報収集や実験をされているようですので、これからこの API の細かな仕様やクセなども明らかになってくるでしょう。
ここでは、kabu ステーション APIをまだまったく触っていない方向けに、簡単に(主に技術面で)解説をしたいと思います。
既に FX や仮想通貨で API 取引をされている方でしたら、API サーバというのは FX 業者や取引所が用意しているサーバであって、そのサーバに対して HTTP や TCP で発注などを行うという理解をしているかもしれません。
これに対して、kabu ステーション API はその名の通り、kabu ステーションという Windows 上で動作する取引ソフトウェアを介して提供される API です。
したがって、みなさんが Python などで記述した取引プログラムが発注リクエストを送る先は、証券会社のサーバではなく、みなさんの PC で稼働中の kabu ステーションとなります。
kabu ステーションが HTTP サーバおよび WebSocket サーバとしても機能して、API 経由のリクエストを中継し、証券会社のサーバに送ります。
そのため、当然ながら、kabu ステーションが実行されている環境でしか使えないので、Windows 専用になっており、Linux VPS なんかでは動作しないわけですね。
そのようにして、リクエストを送る先が localhost になることを除けば、使い方は普通の REST API と同じです(本当は REST な API ではないんですけどブツブツ)。
実は、株式の情報取得や発注が出来る API は、これまでにも個人向けにいくつか提供されていて、それらも似たような仕組み(つまり PC で稼働するソフトウェアが API サーバとなる)で実装されています。
楽天 RSS
マーケットスピードと RSS.exe というプログラムを実行している状態で、DDE という仕組みを使ってほぼリアルタイムなデータ取得が可能
岡三 RSS
岡三 RSS というプログラムを実行している状態で、 Excel アドオン経由で Excel にほぼリアルタイムなデータ供給と発注も可能
これらの個人向け API は、
- 楽天 RSS は情報取得はできるけども発注は自動化できない
- 岡三 RSS は発注も可能だが Excel からの利用に限定される
といった具合で、どうにもかゆいところに手が届かない感じでした。
今回の kabu ステーション API は、その隙間を埋めることができる API で、特に Python や JavaScript で FX や仮想通貨の取引 BOT を作っているようなユーザ層が株式取引にも手を出すにはちょうどよい存在かもしれません。
また、これを機に API 取引を始める人たちのために、ドキュメントのみならず、質問や要望を投げられるポータルサイトも提供されています。
取得できる情報
さて、任意のプログラミング言語から発注ができる、というのは良いのですが、取得できる情報はどうでしょうか。
WebSocket を使ってプッシュ型のデータ配信ができるようになってはいますが、配信されるデータは既存の RSS 系とさほど変わらないようです(詳しくはこちらをどうぞ)。
銘柄情報および板(最良10本)のスナップショットと、それが変化したら変化分の情報が送られてくるイメージです。
ただ、あまり大量にデータを送らないように制限がされているようですから、最大で 50 銘柄まで情報が購読できるとはいっても、50 銘柄の情報がきわめてリアルタイムに取得できるということではないような気がします。
本 API のプレスリリースでは機関投資家と個人投資家の溝を埋める 高速発注 みたいな文言も目にとまりましたが、正直、速度に関してはあまり期待しない方がよいと思います。
また、株式取引ではよく、歩み値(約定履歴)を正確に取得したい、というお話を聞きますが、それは kabu ステーション API でもサポートされていません。