ビットコイン裁定機会を可視化
GitHub Pagesにビットコイン裁定機会をビジュアライズするサイトを作成しました。
https://bitrinjani.github.io/cryptic-analysis/
このスクリーンショットの瞬間では、Bitflyerで1.75 BTCを471,109円で買い、Quoineで1.75 BTCを475,042円で売れば、裁定収益6,884円が得られることを示しています。
追記 (2017/10/04)
取引所を横断して表示する板画面を追加しました。100円より細かい価格帯はすべて100円台に集約して表示しています。
なぜこのWebページを作ったのか
前回の記事に書いたとおり、ビットコインの価格は取引所間で大きな差があります。
しかし、どの取引所で買いどの取引所で売るべきかは、各取引所のサイトを回って確認していると時間がかかり、チャンスを逃してしまいます。
そこで、各取引所価格をウォッチできるページを作成しました。
また、ビットコイン取引をしている方ならすぐにわかると思いますが、取引所は一見正常に動いているようにみえても、システム障害等で古い価格を配信し続けていることが多々あります。
この状態の取引所に注文を送信してもまったく約定しないか、最悪の場合は注文自体が作成されません。
システム障害中の取引所を避けるため、取引所の状態を色で即座に判別できるようにしました。
サイトの見かた
上部のボックスは次を表しています。
- 左: 最安買い価格(ベストアスク)
- 右: 最高売り価格(ベストビッド)
- 中間: ベストアスク、ビッドで裁定取引をしたときの期待収益
その下のグラフでは、各取引所の価格推移を表示しています。
赤色が売り価格(ビッド)、青色が買い価格です。
最下部は各取引所の稼働状況を表しています。
- 青: 正常に価格を配信中
- 黄: 価格の更新に遅れが見られる
- 赤: 1分以上価格が更新されていない、もしくはAPIで価格が受信できない。この状態の取引所は裁定取引対象から取り除かれ、上部ボックスやグラフに表示されない。
参考までに、アプリケーションの構成は以下です。
- クライアントサイド: TypeScript + React
- サーバーサイド: TypeScript + Node
- インフラ: GitHub Pages, AWS (EC2, API Gateway)