メインコンテンツへ移動
AIチュートリアル

ターミナルでPolymarket予測ボットを構築・実行する

Polymarket予測ボットのインストール方法と使い方を学びましょう。キーボード操作に対応したターミナルダッシュボードで、市場の閲覧、注文板の確認、確率・流動性戦略の実行、シミュレーションポジションの追跡ができます。チュートリアルでは、安全なデモモードから始め、ライブ認証情報、操作方法、高度なワークフローのヒントまで解説します。

ターミナルでPolymarket予測ボットを構築・実行する

Polymarket予測ボットとは?

Polymarket予測ボットは、Polymarketの予測市場を探索するための、オープンソースでキーボード操作に対応したターミナルアプリケーションです。TextualとRichによるターミナルインターフェースに、市場ブラウザー、ライブの中央指値注文帳ビュー、戦略エンジン、ポジショントラッカー、約定ログを統合しています。

Polymarketの市場には通常、現実世界のイベントの結果に応じて$1または$0で決済されるYES・NOのシェアが含まれます。市場価格は暗黙の確率として解釈できるため、このボットは市場価格と公正確率の推定値を比較し、注文帳の状況を調べ、潜在的な優位性やアービトラージのシグナルを表示します。

重要: これは非公式の教育目的プロジェクトであり、Polymarketとは提携していません。金融アドバイスではなく、含まれている戦略が利益を保証することもありません。ウォレットに接続せず、同梱データセットとシミュレーション約定を使用する--demoから始めてください。

主な機能

  • 市場ブラウザー: 出来高、スプレッド、カテゴリー、決済までの残り時間で市場を絞り込めます。
  • CLOB注文帳: YES・NOの買い注文と売り注文、スプレッド、仲値、注文帳の需給不均衡を確認できます。
  • 戦略エンジン: 確率差益、注文帳の需給不均衡、流動性の各戦略を個別または同時に実行できます。
  • シグナル追跡: 推奨されるサイドと、0から1までの信頼度を確認できます。
  • ポジション監視: 保有中のYES・NO数量、平均取得コスト、USDC建ての未実現PnL、決済までのカウントダウンを追跡できます。
  • 約定ログ: シグナル、シミュレーション約定またはCLOB約定、キャンセルのローカル記録を保持します。
  • ダッシュボード: 値動きの大きい銘柄、広いスプレッド、決済が近い市場、キューに入ったシグナルを確認できます。
  • ペーパートレード: ライブアクセスを設定する前に、仮想USDC残高で操作をテストできます。
  • リスク管理: USDCの最大エクスポージャー、市場ごとの上限、1日の損失上限を適用できます。
  • クロスプラットフォーム対応: Windows、macOS、Linuxでアプリケーションを実行できます。

前提条件

標準インストールには、Git、Python 3.11以降、pipが必要です。リポジトリには、初回使用時に同梱のスタンドアロンインタープリターを展開するワンクリックランチャーも用意されています。そのため、これらのランチャーを使用する場合はシステムへのPythonインストールは不要です。

Pythonでボットをインストールする

  1. リポジトリをクローンします。

    git clone https://github.com/gulelmatthews/Polymarket-Perpetual-Bot.git
  2. プロジェクトディレクトリに移動します。

    cd Polymarket-Perpetual-Bot
  3. 必要なパッケージをインストールします。

    pip install -r requirements.txt
  4. 同梱のデモデータセットで起動します。

    python main.py --demo

このプロジェクトでは、python -m polymarket_botによるパッケージエントリーポイントも利用できます。コマンドラインの解析と起動処理はホストパッケージに実装されています。

ワンクリックランチャーを使用する

Windows

付属のバッチランチャーを実行します。

run.bat

LinuxとmacOS

シェルランチャーに実行権限を付与してから実行します。

chmod +x run.sh
./run.sh

初回使用時、これらのランチャーはアプリケーションに必要な同梱のスタンドアロンインタープリターを展開します。

ターミナルダッシュボードを操作する

インターフェースは6つの主要ビューで構成されています。数字キーを使って各ビューへ直接移動できます。

  • 1: ダッシュボード
  • 2: 市場
  • 3: 注文帳
  • 4: 戦略
  • 5: ポジション
  • 6: ログ

主な操作には、次のキーボードコントロールも利用できます。

  • /: 市場リストを絞り込みます。
  • Enterまたはb: 選択した市場のCLOB注文帳を開きます。
  • s: ウォッチリスト全体で戦略エンジンを実行します。
  • o: ペーパー注文を作成します。
  • t: 利用可能なテーマを切り替えます。
  • q: アプリケーションを終了します。

基本的なデモ手順

  1. python main.py --demoでアプリケーションを起動します。

  2. 2を押して市場ブラウザーを開きます。

  3. /を使い、利用可能なフィルターで表示する市場を絞り込みます。

  4. 市場を選択し、Enterまたはbを押してYES・NOの注文帳を確認します。

  5. 最良買い注文と最良売り注文、スプレッド、仲値、相対的な数量の需給不均衡を確認します。

  6. sを押して、有効な戦略でウォッチリストをスキャンします。

  7. 4で戦略ビューを開き、各シグナルの信頼度と推奨サイドを確認します。

  8. シグナルをテストする場合はoを押してペーパー注文を作成します。

  9. 5でポジションと未実現PnLを確認し、続いて6でシグナルとシミュレーション約定を確認します。

組み込み戦略を理解する

確率差益戦略

この戦略は、市場価格と公正確率モデルを比較します。差が設定したしきい値を超えるとシグナルを生成します。たとえば、モデルの公正確率が現在のYES価格を大きく上回る場合、YESサイドを推奨するシグナルが生成されることがあります。

このシグナルの品質は、戦略に提供された公正確率モデルに左右されます。信頼度は保証ではなく、分析結果として扱ってください。

注文帳の需給不均衡戦略

板の不均衡戦略は、YES側とNO側で利用可能な注文量の相対的な大きさを分析します。注文量の大きな偏りは、方向性を示す手掛かりとして扱えます。ただし、これは注文板の情報であり、市場がその方向に動いたり、決着したりすることの証明ではありません。

流動性戦略

流動性戦略は、広いスプレッドと、ミッドポイントへの平均回帰の可能性を探します。広いスプレッドは機会をもたらす場合がありますが、流動性の低さや約定リスクの高さを示している可能性もあります。

市場横断シグナル

ボットは、YESとNOの合計価格のスプレッドや、複数結果間の裁定取引シグナルを提示できます。これらは自動的な利益と見なすのではなく、利用可能な流動性、注文板の厚み、リスク制限と併せて評価してください。

ライブモードの設定

ライブモードには、ご自身のPolymarket API認証情報が必要です。次の構成で~/.polymarket-bot/config.tomlに設定ファイルを作成してください。

[auth]
private_key    = "0x…"
proxy_address  = "0x…"
api_key        = "…"
api_secret     = "…"
api_passphrase = "…"
endpoint       = "https://clob.polymarket.com"

private_keyはPolygonのEOA秘密鍵で、proxy_addressはPolymarketのプロキシまたは署名者アドレスです。アプリケーションは、このローカル設定ファイルからのみ認証情報を読み取ります。

Unixのファイル権限に対応しているシステムでは、ファイルへのアクセスを制限してください。

chmod 0600 ~/.polymarket-bot/config.toml

セキュリティ警告: 設定ファイル、秘密鍵、APIシークレット、パスフレーズをソース管理に絶対にコミットしないでください。プロジェクトでは、鍵はローカルに保持され、ログには記録されないと説明されています。

認証情報の設定後、次のコマンドでライブモードを開始できます。

python main.py

ライブ注文の発注は、明示的な設定によって制御されています。まずデモモードで設定を検証し、エクスポージャー管理を確認してから、Polymarketがご自身の管轄区域で利用可能かどうかを確認してください。プロジェクトはジオフェンシングを回避しません。

高度な利用のヒント

戦略のコンテキストを組み合わせる

組み込みの戦略は選択および組み合わせが可能です。1つの指標だけで判断するのではなく、確率エッジ、注文板の不均衡、スプレッド幅、シグナルの信頼度を比較してください。複数の指標が一致すれば、より多くの判断材料を得られますが、それでも取引リスクがなくなるわけではありません。

シグナルを検討する前に流動性を確認する

表示された市場価格からは、その価格で約定できる注文量は分かりません。エッジや裁定取引シグナルを評価する前に、板を開いて買い注文と売り注文の厚み、スプレッド、ミッドポイント、不均衡を確認してください。

ログを取引記録として活用する

ボットはシグナル、約定、キャンセルをログに記録します。ログを確認すると、戦略の出力とその後のシミュレーション結果を比較し、高信頼度のシグナルが期待どおりに機能しなかったケースを特定するのに役立ちます。

決済時刻を監視する

マーケットブラウザとダッシュボードを使って、まもなく決済される市場を特定してください。決済時刻は資金がエクスポージャーにさらされ続ける期間に影響します。Positionsビューでは、オープン中の市場のカウントダウンを確認できます。

ライブ利用前にリスク管理を適用する

利用可能なUSDCの最大エクスポージャー、1市場あたりの上限、1日の損失上限を設定し、遵守してください。これらの管理機能は、戦略をライブ注文テンプレートに接続する場合に特に重要です。

デモとライブのワークフローを分ける

キーバインドの習得、戦略の組み合わせのテスト、シミュレーション約定の確認には--demoを使用してください。インターフェース、シグナルの解釈、リスク設定が期待どおりに動作することを確認してから、認証情報を使うライブモードに移行してください。

プロジェクト構成

リポジトリでは、コマンドラインの起動、設定、戦略ロジック、データモデル、ターミナルインターフェースを分離しています。

polymarket-prediction-bot/
├── main.py
├── polymarket_bot/
│   ├── __main__.py
│   ├── cli.py
│   ├── config.py
│   ├── core/
│   └── tui/
├── support/
├── requirements.txt
├── run.bat
├── run.sh
└── release/

main.pyは主なエントリーポイントで、polymarket_bot/core/にはモデル、戦略エンジン、モックデータが含まれています。polymarket_bot/tui/ディレクトリには、Textualの画面、ウィジェット、スタイルが含まれています。release/ディレクトリは、計画中のコンパイル済みバイナリ用に確保されています。

まとめ

Polymarket Prediction Botは、予測市場の閲覧、CLOBの流動性確認、戦略シグナルの生成、ポジションと約定の追跡を一体化したターミナルワークフローを提供します。まずpython main.py --demoを実行し、キーボード操作のインターフェースを習得して、シグナルを状況に照らして評価してください。そのうえで、認証情報を使うライブモードを検討する前に、厳格なエクスポージャー管理を適用してください。

このプロジェクトはMITライセンスの下で配布されており、金融助言ではなく、独立した教育用ツールキットとして提供されています。