polymarket-toolkit について
polymarket-toolkitは、Polymarketの公開データを調査するためのコマンドラインツール、AIエージェントスキル、MCPサーバーを提供します。MCPツールは読み取り専用で、注文機能は公開しません。
主な機能
- 01ウォレットのPnLとポジション分析
- 02市場と価格のスキャン
- 03取引履歴と約定品質の確認
- 04CLIとAIエージェントスキル
- 0512種類の読み取り専用MCPツール
活用シーン
- 01アドレスのPnLとポジションの調査
- 02トレーダーの約定品質の比較
- 03活発な市場と価格の検索
- 04AIエージェントへの読み取り専用市場データ提供
MCP 対応
MCPサーバーは、ウォレット、取引履歴、市場データを扱う12種類の読み取り専用ツールをAIエージェントに提供します。注文機能は公開しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | string | はい | 0x プロキシウォレットアドレスまたはランキングのユーザー名 |
詳細
Polymarket Toolkit
Polymarket を自分で調査したい方へ — CLI を自分で実行するか、Claude / Cursor / OpenClaw 用のスキルをインストールして、AI にツールを実行させましょう。読み取り専用の公開 API を使用します。API キーも署名も不要です。
インストールするものがありませんか? probpocket.com/lookup では、ブラウザーから同じ疑問を最初に解決できます。アドレスを貼り付けると、通算 PnL、ウォレットが実際にどのように収益を得ているか、リーダーボード上の日数と実際に決済済みの合計額との比較を確認できます。無料で、登録も不要です。この CLI と同じ公開 API を使用しています。
機械可読な製品情報: ai-info.json · llms.txt。どちらも content/ai-identity.json から生成されます。ツール、パッケージのバージョン、出力に差異がある場合、npm run check:ai-discovery は失敗します。
プラグインとしてインストール
- Claude Code(2.1.275 以降):
/plugin install polymarket-toolkit --marketplace runesleo/x-reader - Codex:
codex plugin marketplace add runesleo/x-readerを実行し、続けてcodex plugin add polymarket-toolkit@runesleoを実行します。
runesleo マーケットプレイスには、Leo のほかのツールも掲載されています。runesleo/x-reader をご覧ください。
ツールボックス · 目的に合った項目を選ぶ
| やりたいこと… | ここから始める |
|---|---|
| アドレスを調査する | pm profile <addr> · スキル polymarket-profile / polymarket-pnl / polymarket-brier |
| 実際に現金化しているか確認する | pm cashflow <addr> — オンチェーンの pUSD 出金を、取引の決済とは分けて表示します |
| 執行品質を確認する | pm markout <addr> — 市場ベースラインに対するマークアウト(逆選択) |
| トレーダーを分類する | pm mix <addr> — パッシブなマーケットメイカーか、アグレッシブなテイカーかを確認します |
| 市場と価格をスキャンする | pm markets · examples/01,09,11 · docs/cookbook.md |
| 独自のデータパイプラインを構築する | src/index.ts · クックブック · examples/14 |
| 検証チェックリスト | docs/templates/ — 引き継ぎ · バックテスト · ペーパー取引 · ライブ稼働ゲート · ランブック |
| PnL を照合する(LB スナップショット) | pm pnl-check · docs/fee-inclusive-pnl.md |
| リーダーボード / 償還 / アクティビティを追跡する | pm lb · pm redeem · pm activity · examples/05–08,15–20 |
| AI エージェントにツールを提供する | skills/ — Claude / OpenClaw / Cursor にコピーします |
全項目の一覧:docs/toolbox.md
30 秒で試す
git clone https://github.com/runesleo/polymarket-toolkit.git && cd polymarket-toolkit
./bin/pm profile 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
取得できる内容: LB PnL スナップショットと最初のページのポジション。監査レベルの PnL を確認するには、polymarket-pnl スキルを使用してください。
V2 のマージ / 分割が機能しませんか? → docs/v2-ctf-ops-faq.md + ./bin/pm v2-check 0x…
CLI(pm)
Node 22+(--experimental-strip-types を使用)。リポジトリのルートから実行します。
./bin/pm help
./bin/pm profile 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
./bin/pm profile Theo4 --json
./bin/pm brier 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
./bin/pm redeem 0x63ce342161250d705dc0b16df89036c8e5f9ba9a 25
./bin/pm markets --limit 5 --active
./bin/pm activity 0x63ce342161250d705dc0b16df89036c8e5f9ba9a --type TRADE --max-pages 5
リポジトリのルートから ./bin/pm を使うことをおすすめします(インストール手順は不要です)。または、npm run pm -- profile … を実行します。グローバルに pm を使う場合は、任意で npm link を実行してください。
| コマンド | 機能 |
|---|---|
pm profile | LB PnL + オープンポジションのサンプル + Brier スコアのヒント |
pm activity | アクティビティのページネーション + 約 4000 行の上限に関する警告 |
pm scan | 24 時間の出来高 + スプレッドに基づく上位市場 |
pm updown | 暗号資産の updown イベントのフィールド / 解決元 |
pm v2-check | V2 CTF の分割 / マージのチェックリスト + アクティビティのサンプル |
pm lb | リーダーボードのスナップショット + 前日比 |
pm pnl-check | LB スナップショット + ヒント — 監査レベルの PnL ではありません |
pm limits | 公式 API のレート制限に合わせた実行間隔 |
pm brier | 決済済みポジションから算出した Brier スコア(サンプル) |
pm markout | 執行品質 — 市場ベースラインに対するマークアウト |
pm mix | 執行スタイル — メイカー / テイカーの内訳。手数料と照合 |
pm fees | /activity に基づく通算テイカー手数料 · 手数料適用前 → 純 PnL |
pm redeem | 読み取り専用の償還ウォッチドッグ JSON |
pm markets | Gamma の市場一覧を素早く確認 |
監査レベルの PnL(Python):python3 skills/polymarket-pnl/compute_precise_pnl.py --address …
pm fees — プロフィールの数値といつまでも一致しない理由
./bin/pm fees 0xYourProxy
Polymarket 公式の損益(プロフィール、
lb-api、user-pnl曲線)は 手数料控除前 です。 キャッシュフローの再現値は 手数料控除後 です。差 ≈ 生涯テイカー手数料 − メーカーリベート。
手数料はすでに /activity に含まれています。usdcSize は size × price ではなく、その残差が課された手数料です。つまり、生涯手数料、約定ごとのテイカー判定、手数料控除前から手取りへの換算は、REST 呼び出し 1 回で得られます。RPC もレシートのデコードも認証情報も不要です。
4 つのウォレットで、比較前に差を予測して検証しました。テイカー比率の高いウォレットでは、予測した $1,308.87 に対して残差は $0.84 となり、メーカーのみのウォレットでは公式数値との差は $0.40 でした。
⚠️ テイカー判定は一方向です。fee > 0 はテイカーだったことを示します。メーカーに手数料が課されることはありません。fee == 0 はメーカー または 手数料免除カテゴリを意味するため、メーカー数ではなく、パッシブ比率の上限として報告されます。
⚠️ 手数料の履歴は最近のものです。ここで記録されている最も古いものは 2026 年 6 月下旬で、料率は 0.03 → 0.05 → 0.07 と変化しています。それより前に照合が成功していても、現在については何も証明しません。
pm markout — このアドレスは不利な価格で約定させられているか?
./bin/pm markout 0x9a18f10966262d9be5d662754256380583fabb54 --fills 200
マークアウトとは、約定から数秒後の価格との差です。1 株あたりのセント単位で (基準価格 − 約定価格) × 方向 として表します。マイナスは価格が不利な方向に動いたことを示し、逆選択を意味します。
このコマンドが、手作業で実装すると通常間違えやすい 3 つの点に対処します。
- パッシブ約定も含まれます。
/trades?user=はデフォルトでtakerOnly=trueのように動作するため、指定しないとマーケットメーカーのパッシブ側の取引がすべて抜け落ちます。 - 基準価格には次の約定価格ではなく、時間窓内の VWAP を使います。 約定価格はビッドとアスクの間を交互に動き、この反動だけで SELL はすべて有利に、BUY はすべて不利に見えてしまいます。
- すべてをベースラインと比較します。 同じ期間の同じトークンについて、このウォレットを除いた値と比較します。水準は変動するため、意味があるのは超過分です。
超過分の列とカバレッジの列を併せて確認してください。短期市場では tau が大きいと、価格比較に使える後続データのない約定が大半を占めます。その場合、平均値はトレーダー全体ではなく、データが残った一握りの約定を示すことになります。
この 3 つがデフォルトになっている理由。 Polymarket で半年間に 15 の戦略を試しました。最も大きな損失を招いたのは戦略ではなく測定の失敗でした。同じロジックが机上では +77% だったのに実運用では −74% の損失を出し、自分の取引記録の 18.3% が気づかれないまま誤っていて、その 3 分の 2 が偽の勝ちでした。マーケットメイキングは 10 戦全敗し、プラットフォームは一晩で 3 つの手数料計算式を導入しました。上記の各フラグは、こうした間違いの 1 つをデフォルト設定にしたもので、同じ代償を二度払わずに済みます。
詳しい記事(15 の戦略、5 つの深い落とし穴、14,000 語)は leolabs.me/pm-quant($49)で読めます。毎月の補足ノートが付属します。最新のノートでは、テイカー注文にサーバー側で約 300ms の下限があることを計測しています。コロケーションや専用回線でも短縮できず、メーカーの 56ms と対照的です。
TypeScript ライブラリ
依存関係のないヘルパーを src/index.ts に用意しています。Node 22 以降でデモを実行できます。
npx tsx examples/01-fetch-gamma-markets.ts
node --experimental-strip-types examples/01-fetch-gamma-markets.ts
- 例:
examples/— API パターンごとに番号を付けたスクリプト - クックブック:
docs/cookbook.md— 2 言語対応のレシピ
スキル(AI エージェント)
| スキル | 内容 |
|---|---|
polymarket-profile | 詳細なプロフィール — 損益、勝率、ポジション、カテゴリ、戦略の検出 |
polymarket-brier | 予測精度のスコアリング、キャリブレーション分析 |
polymarket-pnl | キャッシュフローの再構築による監査品質の損益(公式値との MAPE は約 0.2%) |
インストール:選択したスキルを、エージェントのクライアントで設定されているスキルディレクトリにコピーしてください。
polymarket-pnl には、さらに pip install httpx が必要です。
スキルの詳細:skills/*/SKILL.md · 以下のセクションに詳細なドキュメントがあります。
このリポジトリに含まれるもの
| 含まれるもの | 含まれないもの |
|---|---|
| 読み取り専用 API、CLI、スキル、ドキュメント、テンプレート | 秘密鍵、署名、取引の実行 |
V2 FAQ と pm v2-check 診断機能 | 実行可能なマージ/分割/償還モジュール |
polymarket-pnl 監査スクリプト | カストディアルウォレットまたはワンクリック取引 |
| 将来の CLOB エグゼキューター向けビルダー帰属ヘルパー | Builder API の認証情報または報酬の保証 |
オプトインの executor/ サブパッケージ(依存関係を分離、デフォルトはドライラン) | カストディ、戦略ロジック、またはワンクリック取引 |
mcp/ MCP サーバー — AI エージェント向けの読み取り専用ツール(ドキュメント) | MCP 経由で公開される注文発注 |
コア(src/、CLI、スキル)は鍵を保持せず、トランザクションも送信しません。注文の実行はオプトインの executor/ サブパッケージ内でのみ行われ、お客様の環境変数で指定された鍵を使って署名します。デフォルトはドライランで、コアからインポートされることはありません。通常の償還には、Polymarket の公式アプリをご利用ください。
Polymarketを初めてご利用になりますか?上記のリンクから登録できます(**アフィリエイトに関する開示:**作者は紹介報酬を受け取る場合があります。お客様に追加費用はかかりません)。
ご自身の注文エグゼキューターを構築していますか?オプトインの executor/ サブパッケージ(docs/executor.md)から始めてください。CLOB V2 指値注文に対応し、デフォルトはドライラン、想定元本の上限を設けています。また、src/builder.ts によるビルダー帰属がデフォルトで設定されています(環境変数で上書き/無効化できます)。開示事項と FAQ については、ビルダー帰属をご覧ください。読み取り専用の CLI/スキルは、引き続き注文を送信しません。
リリースノート
v0.7 — AI エージェント向け MCP サーバー
mcp/— 12 個の読み取り専用ツール(pm_profile、pm_activity、pm_brier、pm_mix、pm_markout、pm_pnl_check、pm_scan、pm_updown、pm_leaderboard、pm_redeem_watchdog、pm_v2_check、pm_rate_limits)を公開するModel Context Protocol サーバー — docs/mcp.md- CLI が契約となります。各ツールは
pmをシェルから呼び出すため、サーバーは CLI と同様に完全な読み取り専用です。入力は argv に渡す前に許可リストで検証されます - MCP 経由の注文発注は意図的に公開していません。エグゼキューターは分離され、人が接続するオプトイン方式です
v0.6 — オプトインのエグゼキューターサブパッケージ
executor/— 分離された CLOB V2 注文実行モジュール(docs/executor.md)。独自の依存関係を持ち、依存関係ゼロのコアからインポートされることはありません- 安全性の段階的設計 — デフォルトはドライラン(投稿するには
EXECUTOR_LIVE=1)、想定元本の上限はEXECUTOR_MAX_USD(デフォルトは $10)、認証情報の検証に失敗した場合は処理を拒否 - ビルダー帰属をエンドツーエンドで接続 — コアの
src/builder.tsによるデフォルト設定/上書き/無効化に対応。ドキュメントに詳細な開示事項を記載 - コアの CLI/スキルは引き続き読み取り専用で、鍵を扱いません — 上記の範囲表を更新
v0.5 — ツールボックス CLI とロードマップの主要機能
pmCLI — プロフィール · アクティビティ · スキャン · updown · v2-check · brier · 償還 · マーケット- アクティビティ上限の検出 — 約 4000 行に近づくと重複ページの警告を表示
- V2 CTF FAQ —
docs/v2-ctf-ops-faq.md(分割/マージ/変換 · インフラとの連携) - ビルダー帰属ヘルパー — 将来の CLOB エグゼキューター向けの
src/builder.tsとdocs/builder-attribution.md。デフォルト設定/上書き/無効化に対応 - マーケットスキャナー · 暗号資産の updown フィールド · 引き継ぎテンプレート — toolbox.md
v0.4 — 引き換えウォッチドッグ
新しい公開ヘルパー:引き換えウォッチドッグ — 秘密鍵を使わずに引き換え可能なポジションを確認します。
Polymarket の pUSD 時代の引き換えフローでは、通常のユーザーによる引き換えを公式アプリ内で処理します。このリリースは、そのフローに取って代わるものでも、回避するものでもありません。エージェントやダッシュボード向けに、読み取り専用のステータス確認機能を追加します。公開 Data API によって redeemable=true として表示されている行がどのウォレットに残っているか、その currentValue はいくらか(勝ち行は払い戻され、負け行は $0 を支払います)、また、戦略アカウントの現金残高が設定済みの基準値を下回っているかどうかを確認できます。v0.4 では、このワークフロー用に fetchRedeemablePositionsPage、summarizeRedeemablePositions、resolveRedeemMode を追加しました。トランザクションへの署名や送信は一切行いません。
import {
fetchRedeemablePositionsPage,
summarizeRedeemablePositions,
} from "./src/index.ts";
const positions = await fetchRedeemablePositionsPage("0x...");
console.log(summarizeRedeemablePositions(positions as never[]));
また、pm CLI(ツールボックスの引き出し)も追加しました。docs/toolbox.md をご覧ください。
v0.3 — polymarket-pnl スキル
新しいスキル:polymarket-pnl — Data API のキャッシュフロー再構成による監査品質の PnL。
polymarket-profile を含むほとんどのプロファイラーは、近似値であるポジション単位の cashPnL を使用します。polymarket-pnl はすべての BUY/SELL/REDEEM/MERGE/SPLIT/REBATE イベントを再現し、現在の未実現ポジション価値と照合します。公開リーダーボード上の Polymarket 公式 /profit エンドポイントと照合済みで、MAPE は約 0.2%、上位アカウントはすべて誤差 1%以内です。数値の厳密さが求められる場合に使用してください。
引き換えウォッチドッグヘルパー
キー、許可設定、リレイヤー、トランザクションに触れることなく、公開プロキシウォレットの引き換え可能なポジションを確認します。
利用できる機能
- 引き換え可能なポジションのスキャン —
fetchRedeemablePositionsPage(user)は Data API の/positions?redeemable=trueを呼び出します - 条件ごとの集計 —
summarizeRedeemablePositions(rows)はconditionIdごとに行をグループ化し、currentValueを合計します(負け行は$0として計上されます。これは支払われる正しい金額であり、sizeではありません) - ポリシーラベル —
resolveRedeemMode({ lowWatermark })は"watchdog"または"low_watermark"を返します。意図的に"active"はありません。このツールキットは引き換えを実行しないため、active ラベルはここではなく、独自のウォレットシステムに設定してください。
例
npx tsx examples/15-redeem-watchdog.ts 0x63ce342161250d705dc0b16df89036c8e5f9ba9a 25
{
"mode": "low_watermark",
"redeemableCount": 3,
"conditionCount": 3,
"estimatedRedeemableValue": 0,
"topConditions": [
{ "conditionId": "0x...", "slug": "btc-updown-5m-1771773600", "count": 1, "estimatedCurrentValue": 0 }
]
}
3 行が
redeemable=trueとして表示されていますが、すべてのcurrentValueは0です。これらは$0で引き換えられる負けトークンです。Data API は解決後もこれらを表示しますが、このヘルパーは支払額を水増しすることなく、正確に報告します。
安全性の境界
このツールキットは公開 API の読み取りのみを行います。トークンの引き換え、Safe トランザクションへの署名、リレイヤーの呼び出し、資金の移動は行わず、秘密鍵も必要ありません。通常のユーザーによる引き換えには、引き続き Polymarket の公式アプリを使用してください。このヘルパーはダッシュボード/エージェント向けの基本機能として扱い、実行処理は独自のウォレットシステムで行ってください。
polymarket-profile
あらゆる Polymarket アドレスを、包括的な取引プロファイルに変換します。
利用できる機能
- PnL の概要 — 総損益、7 日間/30 日間の推移
- 勝率 — 精度の高い決済ベースの計算(ポジション単位の近似ではありません)
- オープンポジション — 未実現 PnL と有効期限を含む現在の保有状況
- アクティビティの内訳 — ページネーションに完全対応した TRADE/SPLIT/MERGE/REDEEM の取引量
- カテゴリー別分布 — 資金の投資先:暗号資産、政治、スポーツ、天気など
- 大きな利益と損失 — 決済済みポジションの最良・最悪の結果
- 戦略パターン — マーケットメーカー、SPLIT 裁定取引、分散投資、クジラなどを自動検出
仕組み
このスキルは AI エージェントに、Polymarket の公開 API(lb-api、data-api、gamma-api)を呼び出してデータを処理し、構造化されたプロファイルを出力するよう指示します。API キーもローカルデータベースもセットアップも必要ありません。
You: Profile this Polymarket address: 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
AI: Fetching data... (paginating 12 pages of activity)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Polymarket Profile: 0x8dxd
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Overview
Total PnL: $2,382,780.64
Win Rate: 6/11 (54.5%)
...
🎯 Strategy: Market Maker (high-frequency, concentrated in Crypto)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
セットアップ
Claude Code:
# Replace the placeholder with the skills directory configured by your client
export AGENT_SKILLS_DIR=/path/to/your/agent/skills
cp -R skills/polymarket-profile "$AGENT_SKILLS_DIR/"
OpenClaw:
cp -R skills/polymarket-profile ~/.openclaw/skills/
その他の AI エージェント:
skills/polymarket-profile/SKILL.md の内容を会話に貼り付けて、指示に従うよう AI に依頼するだけです。
要件
curlコマンドを実行できる AI エージェント- Polymarket API へのインターネットアクセス(一部のエンドポイントでは、地域によってプロキシが必要な場合があります)
- 以上です。API キー、データベース、依存関係は不要です。
Polymarket を初めて利用しますか?こちらからアカウントを作成。
サポートされる入力
| 入力 | 例 | 解決方法 |
|---|---|---|
| 0x アドレス | 0x63ce342161250d705dc0b16df89036c8e5f9ba9a | 直接指定 |
| プロフィール URL | polymarket.com/profile/Theo4 | リーダーボード経由で自動解決 |
| ユーザー名 | Theo4 | リーダーボード経由で自動解決 |
ユーザー名の検索は、リーダーボードにランクインしているすべてのユーザーに対応しています(lb-api 経由で自動解決)。ランク外のアカウント(取引履歴がないアカウント)では、0x アドレスを直接指定する必要があります。
データソース
すべて公開されており、認証は不要です。
| API | 提供データ |
|---|---|
lb-api.polymarket.com | 損益、リーダーボードの順位 |
data-api.polymarket.com | ポジション、アクティビティ履歴 |
gamma-api.polymarket.com | マーケットのメタデータ、カテゴリ、タグ |
既知の制限事項
- ユーザー名からアドレスへの自動解決は、リーダーボードにランクインしているユーザーのみ対応しています(ランク外のアカウントでは 0x アドレスが必要です)
- カテゴリのマッピングには Gamma API のタグとキーワードによるフォールバックを使用します(完全には正確ではありません)
- Top Wins/Losses ではポジション単位の cashPnl を使用します(概算であり、取引単位ではありません)
- 大規模なアカウント(取引数 10K 件以上)では、ページネーションに 30 秒以上かかる場合があります
- lb-api の 7d/30d 損益は、非アクティブなアカウントでは空になる場合があります
- Activity API の上限は約 4000 行です: ページネーションを続けても同一の JSON が返される場合があります —
pm activity/fetchActivityPagesまたはpagination_incompleteを指定したpolymarket-pnlを使用してください
polymarket-brier
Metaculus、Good Judgment Project、予測研究で使用される標準的な指標である Brier スコアを使って、トレーダーの予測精度を評価します。
PnL だけを見ればよいのでは?
| トレーダーのタイプ | PnL | Brier スコア | シグナルの価値 |
|---|---|---|---|
| 熟練した予測者 | 高い | 良好(低い) | 最良のシグナルソース |
| マーケットメーカー | 高い | 低い(高い) | 予測ではなく、スプレッドで利益を得る |
| SPLIT 裁定取引者 | 高い | 該当なし | マーケットニュートラルで、方向性の見解はない |
| 正確だが慎重 | 低い | 良好(低い) | 優れたシグナルだが、投資額は小さい |
例
You: What's the Brier Score for Theo4?
AI: Fetching settled positions...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Brier Score: Theo4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Prediction Accuracy
Brier Score: 0.12 (Good)
Settled Markets: 36
Correct: 29/36 (81%)
📐 Calibration
| Confidence | Positions | Forecast | Actual | Gap |
|------------|-----------|----------|--------|------|
| High | 12 | 87% | 83% | -4% |
| Moderate | 15 | 68% | 67% | -1% |
| Coin flip | 6 | 52% | 50% | -2% |
| Contrarian | 3 | 28% | 33% | +5% |
セットアップ
# Claude Code
export AGENT_SKILLS_DIR=/path/to/your/agent/skills
cp -R skills/polymarket-brier "$AGENT_SKILLS_DIR/"
# OpenClaw
cp -R skills/polymarket-brier ~/.openclaw/skills/
インストール後:「0x63ce... の Brier スコアは?」または「Theo4 の予測精度はどれくらいですか?」と尋ねてください。
Polymarket を初めて利用しますか?こちらからアカウントを作成。
polymarket-pnl
Data API のキャッシュフローを再構成して、あらゆる Polymarket アドレスの監査品質の損益を算出します。すべての BUY / SELL / REDEEM / MERGE / SPLIT / REBATE イベントを再生し、現在の未実現ポジション価値と照合します。
ポジション単位の cashPnL だけを使えばよいのでは?
ポジション単位の cashPnL(多くのプロファイラーが表示するもの)は、ポジション単位で丸められ、部分約定も除外されるため、概算になります。polymarket-pnl はアクティビティログ全体(すべての取引イベント、すべての REDEEM、すべての MERGE)をたどり、次のキャッシュフロー恒等式から損益を算出します。
PnL = SUM(SELL + REDEEM + MERGE + REBATE) - SUM(BUY + SPLIT) + unrealized_position_value
Polymarket 自身のリーダーボードで検証済みです。precise_pnl は、上位トレーダーを対象に公式の /profit エンドポイントと 0.2% MAPE 以内で一致します。
例
You: Compute precise PnL for the top 10 leaderboard addresses.
AI: Fetching leaderboard... (10 addresses)
Processing 0x56687bf447... (15,993 trades)
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benchmark: Precise PnL vs Leaderboard (official /profit)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 0x56687bf447... precise=$22,032,643.17 official=$22,053,933.75 err=0.1%
✅ 0x1f2dd6d473... precise=$16,580,235.20 official=$16,619,506.63 err=0.2%
...
MAPE: 0.2% | <10%: 10/10 | <30%: 10/10
セットアップ
# Claude Code
export AGENT_SKILLS_DIR=/path/to/your/agent/skills
cp -R skills/polymarket-pnl "$AGENT_SKILLS_DIR/"
pip install httpx # the only runtime dependency
# OpenClaw
cp -R skills/polymarket-pnl ~/.openclaw/skills/
pip install httpx
CLI の使い方
# Single address
python3 compute_precise_pnl.py --address 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
# Bulk over the leaderboard
python3 compute_precise_pnl.py --leaderboard 50 -o top50.jsonl
# Benchmark a local PnL dataset vs. recomputed precise PnL
python3 compute_precise_pnl.py --leaderboard 100 \
--benchmark local_pnl.jsonl \
-o benchmark.jsonl
出力は、アドレスごとに 1 レコードを含む JSONL です。出力スキーマの詳細は skills/polymarket-pnl/SKILL.md を参照してください。
polymarket-profile と polymarket-pnl の使い分け
polymarket-profile— curl のみで使える、定性的なプロフィール(勝率、ポジション、カテゴリ)です。「このアドレスの持ち主は誰か」を知るのに最適です。polymarket-pnl— Python を使った、監査品質のキャッシュフロー再構成です。調査の執筆、モデルのベンチマーク、データセットの構築など、「実際の損益はいくらか」を知るのに最適です。
Polymarket を初めて利用しますか?こちらからアカウントを作成。
検証テンプレート
仮説から tiny-live までの戦略検証ドキュメント(MIT テンプレート):
| テンプレート | 目的 | パス |
|---|---|---|
| AI 引き継ぎ | セッションをまたぐタスクの引き継ぎ(7 項目) | handoff-template.md |
| バックテストレポート | 結論と中止基準 | backtest-report-template.md |
| ペーパーチェックリスト | ペーパートレードの偽装防止・約定ルールとログ記録 | paper-checklist.md |
| ライブ移行ゲート(12 ステップ) | tiny-live の技術面・運用面のゲート | live-gate-checklist.md |
| プラットフォーム変更対応手順書 | V2 / API 移行への対応 | platform-change-runbook.md |
あわせて:fee-inclusive-pnl.md · 全インデックス:toolbox.md
テンプレートはドキュメントのひな形です。実行可能なペーパー/ライブ取引コードは、ご自身のリポジトリに置いてください。
ロードマップ
分析ツール
- PnL 計算ツール — キャッシュフローから再構成した PnL、公式リーダーボードとの MAPE は約 0.2%
- Brier スコア評価 — アドレスごとの予測品質をスコア化
-
pm profileCLI — アドレスの概要をすばやく確認 - トレーディングスタイルのタグ — 保守的/積極的/イベント主導/マーケットメイカーのラベル
市場インテリジェンス
- マーケットスキャナー Lite —
pm scan(24 時間の出来高+スプレッド) - 暗号資産の上昇・下降フィールド —
pm updown+ docs/crypto-updown-price-source.md - 市場流動性ゲージ — 板の厚み/メイカーの集中度(より詳細)
- LP 報酬スキャナー — インセンティブプログラム/APY の推定
プラットフォーム/V2
- V2 CTF の分割/統合 FAQ +
pm v2-check(読み取り専用) - Activity API の上限に関する警告
検証テンプレート
- 戦略の引き継ぎ — docs/templates/handoff-template.md
- バックテストレポート — docs/templates/backtest-report-template.md
- ペーパーチェックリスト — docs/templates/paper-checklist.md
- ライブ移行ゲート 12 ステップ — docs/templates/live-gate-checklist.md
- プラットフォーム変更対応手順書 — docs/templates/platform-change-runbook.md
追跡とアラート
- リーダーボードトラッカー Lite —
pm lb+スナップショットの差分 - 手数料込み PnL ガイド — docs/fee-inclusive-pnl.md +
pm pnl-check - クジラアラート — トップトレーダーの大口ポジションの変化
- 償還ウォッチドッグ — エージェントのダッシュボード向けに、公開情報から償還可能なポジションの状況を確認
API(予定)
- 上記すべてのツール向け REST API — Polymarket のインテリジェンスを独自アプリに統合
このワークショップのその他のプロジェクト
全体像:runesleo — すべてのオープンソースプロジェクトと稼働中のシステム。
- x-reader — 10 以上のプラットフォームに対応する汎用コンテンツリーダー MCP
- claude-code-workflow — QuietHarness:Claude Code / Codex / Cursor 向けの共有 AI 作業システム
- ai-health-vault — AI + Obsidian による健康管理システム
- claude-video-kit — エージェントスキル + Remotion 動画パイプライン
著者について
Leo(@runes_leo)— AI × 暗号資産分野の独立系ビルダー。Polymarketで取引し、Claude Code と Codex を使ってデータシステムや取引システムを構築しています。
leolabs.me — 執筆 · コミュニティ · オープンソースツール · インディープロジェクト · 各種プラットフォーム。
X Subscription — 毎週の有料コンテンツ、またはコーヒーをおごってください 😁
学びを公開し、構築を公開する。
アフィリエイトに関する開示:このリポジトリにある Polymarket の登録リンクから紹介報酬を得る場合があります。MIT ツールキットの機能とは無関係です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。