本文へスキップ
hdknr blog

kabu ステーション API

三菱UFJ eスマート証券が提供する個人向け自動発注 API。Windows GUI アプリが localhost に立てる REST + WebSocket のサイドカー型で、PUSH は時価のみ

概要

kabu ステーション API は 三菱UFJ eスマート証券(旧 auカブコム証券) が提供する個人向けの自動発注 API である。日本国内で個人が利用できる主要な自動発注 API のひとつ。

重要な前提として、これはクラウド API ではない。Windows の GUI アプリ「kabuステーション」を起動して API を有効化すると、そのプロセスがローカルに HTTP サーバを立て、自作プログラムはそこへリクエストを投げる。アプリが証券基幹システムへ中継するサイドカー型の構造である。

法人向け API との区別

同社は同じブランド下に別系統の API を 2 つ持っている。混同しやすいので先に切り分けておく。

三菱UFJ eスマート証券のAPI(法人向け)kabu ステーション API(個人向け)
契約主体法人口座が必須。個人口座は申込不可個人口座で可
手続きメール申請 → 一次審査 → 来社面談 → 契約ログイン後の電子契約のみ
接続形態サーバ間接続(OAuth 2.0)同一 PC の localhost:18080
発注操作発注・訂正・取消発注・取消(訂正なし)
PUSH 配信時価・注文状態変更・建玉状態変更時価のみ
対象商品株式、先物・オプション、投資信託、FX、プチ株®株式、先物、オプション

法人向けページは個人に対して明示的に「kabu STATION API をご利用ください」と案内している。自作ツールを第三者に提供する段階になったら法人向けの審査を受ける、という線引きになっている。

エンドポイント

本番環境  http://localhost:18080/kabusapi
検証環境  http://localhost:18081/kabusapi
PUSH     ws://localhost:18080/kabusapi/websocket

認証は API パスワードをトークンに交換する方式。POST /token で得たトークンを、以降のリクエストの X-API-KEY ヘッダに載せる。

主要機能

DELETE メソッドのエンドポイントは仕様書に 1 つも存在しない。銘柄登録の解除も PUT /unregister / PUT /unregister/all である。

PUSH 配信は時価のみ

最も誤解されやすい点。 WebSocket で流れてくるのは時価・板情報だけで、約定通知は来ない。PUSH API リファレンスが定義する 63 フィールドは、銘柄識別子を除けばすべて価格情報である。注文状態変更・建玉状態変更の PUSH は法人向け API の機能。

したがって約定・失効・拒否の検知は GET /orders のポーリングで自作することになる。

利用条件

設計を縛る制約

サイドカー型ゆえの制約が強く、いずれも回避策を探すべきバグではなく設計に織り込むべき仕様である。

実装上の落とし穴

自動売買での位置づけ

Monte Carlo + Claude 系の自動売買アーキテクチャでは「発注層」を担当する。

注意点

関連ページ

ソース記事