Polymarket二項アービトラージボット

Tool

概要

Polymarket上のバイナリ(Yes/No)マーケットおよび複数マーケットを対象に、アービトラージ(裁定)機会を自動で探すPythonベースのボット/スキャナーです。READMEではまず単一マーケット内の簡単な例(Yes価格とNo価格の合計が100%以上で理論上確定利益が取れるケース)を示し、さらに複数マーケットを組み合わせた相関裁定の概念にも触れています。本リポジトリは解析ロジックの実装、探索アルゴリズム、結果のログ出力やアラート機能を提供する設計になっており、取引実行の自動化は利用者側のリスク判断に委ねる形が想定されています。

GitHub

リポジトリの統計情報

  • スター数: 9
  • フォーク数: 3
  • ウォッチャー数: 9
  • コミット数: 30
  • ファイル数: 20
  • メインの言語: Python

主な特徴

  • 単一マーケット内の二項(Yes/No)アービトラージ検出ロジックを実装
  • 複数マーケットを組み合わせたマルチマーケット裁定の検索機能
  • 検出結果のログ・アラート出力(実行は利用者判断)
  • Pythonベースで解析アルゴリズムが読みやすく実装されている

技術的なポイント

本リポジトリは「価格の和が100%以上になると理論上の裁定が存在する」という二項マーケットの基本概念をコード化している点が肝です。価格はセント単位で扱われる場合が多く(例:72¢と35¢の合計=107¢)、オフチェーンでの単純な算術比較により発見できます。一方で実運用では取引手数料、スリッページ(板の厚さ)、オーダーサイズに応じた価格変動、ブロックチェーン上のトランザクション実行遅延と失敗リスクがあるため、検出ロジックは「検出=実際に無リスク利得」という意味にはならない点をREADMEで警告しています。マルチマーケット裁定では相互に関連するイベント(例えば同一事象に対する異なるマーケットやアウトカムの組合せ)を組み合わせて、理論価格からの乖離を算定します。実装上は外部APIからマーケットデータを取得し、組合せ列挙と評価を行うスキャナー部分、条件に合致する場合にアラートやログを出す出力部分、設定ファイルで閾値や照会間隔を調整する構成になっていることが推察されます。並列取得やレート制限対策、結果のフィルタリング(最小期待利得、最大必要資金など)といった実用上の配慮も設計可能です。最終的な自動売買を組み込む場合は、ガス代・決済の確実性・フロントランニング対策を別途実装する必要があります。

プロジェクトの構成

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

  • .gitignore: file
  • CODE_OF_CONDUCT.md: file
  • CONTRIBUTING.md: file
  • LICENSE: file
  • README.md: file

…他 15 ファイル

READMEの抜粋:

Polymarket’s Binary Arbitrage Bot

images

How does binary arbitrage work?

Let’s consider this market about Kamala winning Vermont by 32 points. We would classify this as Binary because there is 1 yes and 1 no option to place a bet on. Now, the first instance of arbitrage could be within the same market. If we add the 72c yes and the 35c no, we get a total of 107, indicating that there is no a…

まとめ

Polymarket上の二項アービトラージを探索する実用的なPythonスキャナーで、解析ロジック理解に適する。実運用は手数料・スリッページ等の検討が必須。

リポジトリ情報: