株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

システム構成図を書いた

こんな感じの構成で、リアルタイムトレードへ対応させる変更を今後行っていく。

システム構成図
システム構成図

stock-trading-systemtime_and_sales_deliver の存在を知っているが、 fake-kabus-websocket-serverの存在は知らない。

fake-kabus-websocket-server

fake-kabus-websocket-server は、フェイクのWebSocketサーバである。

これは市場が開いているときにWebSocketのメッセージをデータベースへ記録しておき、後日に実際にこのサービス自身がWebSocketのメッセージを送信できる仕組みになっている。

例えて言うと、カセットでラジオの放送を録音しておいて、それを再生するようなイメージである。

time_and_sales_deliver

歩み値の受信・再配信は、全て time_and_sales_deliver が担当する。これは、歩み値がWebSocketで配信されるためである。このサービスは、WebSocketを扱う上での面倒を一気に引き受けてくれる存在である。(これは筆者がPythonでWebSocketを扱いに慣れておらず、回避したいことも関係している)

time_and_sales_deliverは開発時はリクエストの向き先をfake-kabus-websocket-serverにすることで、土日祝日や閉場後でも実際にWebSocketのメッセージを使う開発を可能にしている。

一方、本番では向き先を kabu STATION APIへ向けることで、実際にリアルタイムで配信されるWebSocketのメッセージをstock-trading-systemが扱いやすい形式に変換する。

stock-trading-system

注文発注やその判断は stock-trading-system の仕事としている。判断の材料として、歩み値をtime_and_sales_deliver から取得しながら行う。

参考

github.com

github.com

github.com

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.