Depth level 2 through API/APIで板データ高速取得

  • by

高速取得の動画は本投稿最下部のYouTube 動画をご覧ください。

なんと、API 経由で日経225miniの板データ高速取得が可能なことに気が付きました。もちろん、これまでも可能ではあったはずなのですが、データ利用料金がかかるため未だ本番稼働していない本システムではまだ試したことさえありませんでした。これまではInteractive Brokers API を利用してtick 取得をして分析に使用したり、Paper 状態にて発注や実現利益額を取得するにとどまっていました。

そろそろ板情報、Market Data 内のOsaka Exchange Depth of Book (L2) を使って実験してみようと調べていたのですが、Subscription 料を支払って利用開始する方法が見つかりませんでした。それでも色々とサイト内やアカウント情報内を探していたら現在利用可能なマーケットデータの中に Japan Equities and Derivatives Bundle という表記のものが利用可能になっていることに気が付いて、もしかしたらこの項目の中に含まれているのではないかという淡い期待を抱きながらAPI でのリクエストとコールバックを行ってみたら取得できてしまいました。リクエストは、reqMktDepth で、コールバックはupdateMktDepth を使用しています。

Current GFIS Subscriptions (Account -> Market Data Subscriptions)

マーケットデータ料金 (参考リンク: https://www.interactivebrokers.co.jp/jp/index.php?f=48628)

さて、実際に板情報を取得してデータベースに格納した後に、コンソールに表示するようにしました。わたしの使用用途であれば、全く問題ない十分な速度で取得できることがわかりました。この動画ではAPI から取得したデータの表示とHyper SBI での板表示を重ね合わせて記録してみました。そもそもHyper SBI の板の更新頻度は全更新を随時表示するものではないため、API で取得している更新よりも少し遅れてHyper SBI 側での板表示が行われます。実際にはAPI の表示でも全データを表示しているわけではなく、一旦蓄えたデータベースから周期的に板更新データを取得しているため、取得データにも同じ金額の箇所への更新データが複数含まれることがありますが、最新の値のみを表示しています。

ご興味のあるかたは実際の動作画面の動画を見てみてください。値の表示は一瞬で更新が行われるので、動画には実際の等倍速度で表示される部分と10分の1の速度で表示されるように再編集した部分とがあります。

正直なところ、API が提供されていればSBI 証券さんで取引を行いたいですし、auカブコム証券さんのkabu STATION API も提供される機能が増えて流量制限がより緩やかになるのであれば是非そちらで取引を行いたいです。特定口座で取引できますものね。多くの部分をInteractive Brokers さんのAPI を前提として開発を行っているため、日本撤退やAPI の提供停止が行われた場合には影響が非常に大きいため複数の証券会社さんで同様の機能が利用できるところを目指したいです。

コメントを残す

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