Polymarket Bot Tutorial · 第32章中の16章
Polymarketにおける統計的裁定取引:クロスマーケットのペア(相関イベント)、PolymarketとKalshiのスプレッド、平均回帰、そして最終的に市場が決着する際のstat-arbポジションのサイズの決め方。
この章で扱う内容
Polymarketでの統計的裁定取引は、相関する市場間の一時的な価格の歪みを利用します。たとえば、PolymarketとKalshiで同じイベントを扱う場合や、Polymarket内の関連市場どうしです。利幅は小さく(通常1〜3セント)、運用上も脆弱です。この章では、何が機能し、何が機能せず、そしてほとんどの試みを潰す複数レッグ執行リスクについて率直に説明します。
クロスマーケットの統計的裁定取引は、PolymarketとKalshi、PolymarketとManifold、またはPolymarket内の相関市場のあいだにある一時的な価格の不整合を利用します。利幅は小さく(通常1〜3セント)、両レッグでの迅速な執行が必要です。この章は、ほとんどの試みを潰す運用の複雑さも含めた、正直なプレイブックです。
- 予測市場におけるstat-arbの意味
- Polymarket対Kalshiのスプレッド例
- Polymarket内のペア(相関イベント)
- 平均回帰 vs トレンド継続
- 決着する市場(永続ではない市場)でのサイズ調整
- リスク:決着をまたぐ乖離
- コード:ペア監視と閾値トリガー
予測市場におけるstat-arbの意味
予測市場での統計的裁定取引とは、本来は一貫した価格になるはずの2つの市場のスプレッドを取引することを意味します。Polymarketでは主に3つの形があります。
- クロスベニュー: PolymarketとKalshi(またはManifold、PredictIt)で同じイベントを扱うケース。価格は収束すべきですが、実際には2〜5セントずれることがあります。
- 同一イベントペア: NegRiskの複数結果市場における、親市場と各レッグの合計。合計が1になるという不変条件を利用し、レッグ合計が1.0未満なら裁定できます。
- 相関イベントペア: 関連する結果に関する2つの市場(例:「1月1日時点でトランプが大統領」対「3月1日時点でトランプが大統領」)。互いに2〜3セント以内で価格がつくはずです。
利幅は小さいです。運用の複雑さは現実にあります。ほとんどの試みは理論ではなく、執行で失敗します。
Polymarket対Kalshiのスプレッド例
2025〜26年の観察では、PolymarketとKalshiは同じ主要な米国イベントを扱っているものの、価格には安定して1〜4セントの差があります。この差は構造的な理由によるもので、裁定取引では必ずモデル化する必要があります。
構造要因:
- 手数料の非対称性: Kalshiは勝ちトレードに対して4〜7%を取ります(市場により異なる)。Polymarketはテイカー手数料0です。裁定計算ではKalshiの取り分を差し引く必要があります。
- 決済リスクプレミアム: 市場の決着が曖昧な場合、ある取引所のUMAは別の取引所の判定と異なる形で決着することがあります。市場はこれを織り込みます。
- トレーダー層: Polymarketは若く、より暗号資産ネイティブな層が多い傾向があり、Kalshiはプロ/ヘッジファンド寄りです。同じイベントでも、系統的に見方が異なります。
この裁定は、ギャップが構造的プレミアムと手数料の合計を上回るときに成立します。構造的プレミアムが1c、合算手数料が1cの市場で5セントのギャップがあれば、実質的な利幅は3cです。
Polymarket内のペア(相関イベント)
Polymarket内では、相関イベントペアはクロスベニューよりも裁定しやすいです。手数料体系が同じで、ウォレットも同じ、原子的な執行も可能です。
一貫して不整合に価格がつく例:
- 特定日A時点でトランプが大統領か vs 特定日B時点でトランプが大統領か(BがAより90日未満後の場合)。
- 7月31日までにビットコインが10万ドルに到達するか vs 8月31日までに10万ドルに到達するか。
- 同じバイナリー市場のYesレッグとNoレッグ(合計は1.0になるはずだが、薄い板では1.04までずれることもある)。
Yes+No=1の裁定が最もきれいです。同じ市場から両レッグを読み取り、合計が0.97を下回ったら両方にFOKを出します(スプレッド税を考慮)。必要資本は各レッグでほぼ同額で、両方の約定が同じ応答で返ってくれば執行は原子的です。
平均回帰 vs トレンド継続
stat-arbには2つの局面があります。平均回帰は、ペアがノイズで離れたので収束することに賭ける取引です。トレンド継続は、新しい情報が入ってペアが乖離し始めたので、さらに乖離すると賭ける取引です。
見分けるのが難所です。経験則として、乖離が可視的な出来高で起きた場合(大型参加者が片方の板を食った場合)は、それはニュースです。モデルを持っている場合に限って逆張りしてください。低出来高でゆっくりずれたなら、それはノイズです。自信を持って回帰を取引できます。
新規ビルダー向けには、平均回帰のみを取引してください。過去の乖離の標準偏差の1未満に収まるペアに限定します。トレンド継続には、ニュースを捉えるモデルが必要です。それがなければ、情報優位なフローに逆らっているだけです。
決着する市場(永続ではない市場)でのサイズ調整
予測市場は決着します。暗号資産のペア取引はそうではありません。この違いが数学を変えます。
Polymarketでのペア裁定ポジションは、支払いスケジュールが固定です。両方の市場が決着すると、予想スプレッドと実際のスプレッドの差が確定します。ロールもなければ、無限保有もありません。
サイズ調整の含意:保有できる最大量は決着までの時間で上限が決まります。6か月で決着するペアは1シェアあたり3cを稼げるかもしれませんが、両市場がフルサイズなら、その間に追加で資本を回すことはできません。
正しい見方は、Polymarketでのstat-arbは境界時間付きの取引の連続であり、継続戦略ではないということです。総PnLではなく、拘束資本1単位あたり1日あたりのPnLで比較してください。
リスク:決着をまたぐ乖離
最悪のstat-arbの結果は、収束予測の前提自体が誤っていたために、あなたの収束予想が外れることです。例:
- 「4月1日時点でトランプが大統領」を、3月1日時点の「トランプが大統領」へ収束すると見込んでショートした。しかし3月の弾劾により、日付1の市場はYES、日付2の市場はNOで決着した。あなたの「スプレッドはフラットになるはず」という仮説が間違っていた。
- 同じNBAファイナル勝者についてPolymarketとKalshiを裁定した。Polymarketは公式シリーズの勝者で決着したが、Kalshiは延長戦タイブレークの扱いが少し違う定義で決着した。どちらも各自の規定ではYESだが、方向は逆になった。
各市場の決着条件を注意深く読んでください。クロスベニュー裁定は、決着不一致が1つあるだけで両レッグ全損になり得ます。
コード:ペア監視と閾値トリガー
参考例:2つの相関トークンを監視し、スプレッドが閾値を超えたら裁定を発動します。
def pairs_monitor(token_a, token_b, threshold_cents=3, size=10):
"""Buy A and Sell B when (1 - ask_A) + bid_B > 1 + threshold."""
while True:
book_a = fetch_book(token_a)
book_b = fetch_book(token_b)
if not (book_a.best_ask and book_b.best_bid):
time.sleep(2); continue
# implied: cost of buying A at ask + value of selling B at bid
edge = (1 - book_a.best_ask) + book_b.best_bid - 1
if edge > threshold_cents / 100:
print(f"ARB edge={edge:.3f}; firing")
r_a = fok_buy(token_a, price=book_a.best_ask, size=size)
if r_a.status != "matched": continue
r_b = fok_sell(token_b, price=book_b.best_bid, size=size)
if r_b.status != "matched":
# leg A filled, B failed -- unhedged, exit A
fok_sell(token_a, price=book_a.best_bid, size=size)
time.sleep(3)
部分約定時のクリーンアップは重要です。これがないと、部分執行によってボットは方向リスクを抱えたままになり、stat-arbの本来の目的と真逆になります。





