Polymarket BTC 15分 vs 5分 アービトラージボット

Tool

概要

PolymarketのBTC予測市場における「15分」市場と「5分」市場の重なりを狙ったアービトラージ・ボットです。Rustで実装され、WebSocketでリアルタイムのオーダーブックを監視し、Polymarket APIから取得した”price-to-beat”(既存最良価格等)と照合して、二つの市場の合成Ask(買いコスト合計)が設定閾値(例:<$0.99)より低くなった場合に指値注文を出す仕組みを採っています。低レイテンシかつ型の堅いRustを選定することで、高速な意思決定と注文発注を目指しており、少ないファイル数でコア機能に重点を置いた設計になっています。

GitHub

リポジトリの統計情報

  • スター数: 32
  • フォーク数: 34
  • ウォッチャー数: 32
  • コミット数: 2
  • ファイル数: 5
  • メインの言語: Rust

主な特徴

  • Rustによる低レイテンシ/高性能な実装
  • WebSocketでのリアルタイム板情報購読とPolymarket APIの併用
  • 合成Askが閾値を下回ったときに指値発注して利益を固定化
  • 軽量な構成(Cargo.toml、src、デプロイ設定ファイルを含む)

技術的なポイント

このプロジェクトの核は「リアルタイム性」と「合成価格判定ロジック」です。Polymarketの各市場からWebSocketでオーダーブック更新を受け取り、最新のBest Ask/Bidを常に保持します。一方でPolymarketのREST API等から取得する”price-to-beat”情報(既存オーダーを抜くための目標価格や市場状態)を組み合わせ、短時間差で変動する板情報に対して合理的な指値を算出します。アービトラージ判定は単純な閾値比較に基づき、例として「15分市場のAsk価格 + 5分市場のAsk価格 < 0.99ドル」のような条件が成立した場合に発注処理をキックします。Rustを採用しているため、非同期I/O(tokio等)で複数のWebSocket接続やHTTPリクエストを効率的に捌け、かつメモリ安全性によりレースコンディションやメモリ不具合のリスクを下げられる点が強みです。

コードベース自体はファイル数・コミット数が少なくプロトタイプ寄りですが、Cargo.tomlによる依存管理、srcディレクトリにロジックがまとまっている構成は読みやすく拡張がしやすい設計です。さらにecosystem.config.jsが含まれている点は、運用時にpm2等でプロセス管理やデプロイを想定していることを示唆します(Node周りのサポートスクリプトや監視用エントリを想定)。ただし、実運用ではAPIキー管理、注文失敗時のリトライ、手数料・スリッページ計算、注文部分の原子性(片方だけ約定してしまうリスク)などの安全装置が必須です。またバックテストやシミュレーション機能、詳細なログ・監視ダッシュボードがあると実用性が高まります。

改善点・想定拡張としては、戦略パラメタの外部設定化、注文サイズの最適化アルゴリズム、マルチマーケット・マルチアセット対応、ペイアウト構造や決済遅延を考慮したリスク評価モジュール、分散/冗長化のためのコンテナ化(Docker)とCI/CDの整備などが挙げられます。安全性を確保するための取引前のプレチェック(残高・注文ブロック条件)、外部監視(アラート/メトリクス)も実装推奨です。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • Cargo.toml: file
  • README.md: file
  • ecosystem.config.js: file
  • src: dir

ディレクトリ構成からは、Rustのワンバイナリ型プロジェクトでコアロジックがsrcにあり、デプロイやプロセスマネージメントのための設定(ecosystem.config.js)が同梱されていることが分かります。テストやドキュメント、CI定義は現状少なめなので、実運用向けには追加整備が必要です。

まとめ

低レイテンシなRust実装でコア戦略をシンプルにまとめたプロトタイプ的アービトラージボット。実運用には安全対策と監視・テストの強化が必要です。(50字程度)

リポジトリ情報:

READMEの抜粋:

Polymarket BTC 15m vs 5m Arbitrage Bot

A high-performance Rust arbitrage bot for Polymarket that trades the overlap between Bitcoin 15-minute and 5-minute Up/Down prediction markets. It uses real-time order book data over WebSocket, fetches price-to-beat from Polymarket’s API, and places limit orders when the combined ask across both markets is below a configurable threshold (e.g. < $0.99) for a locked-in profit.