Polymarket Bot Tutorial · 32章中19章
Polymarketの流動性リワードをプログラムで収益化する方法:リベートプログラムの仕組み、適格スプレッド閾値、ROIの計算、利益が出やすい市場のランキング、そしてどの場面でfarmingが他の戦略に勝るのか。
この章で扱う内容
Polymarketは、対象市場で待機中の指値注文を提供するトレーダーに対して、maker-rewardsプログラムを通じて流動性提供の対価を支払います。これらのリワードをfarmingする戦略は明確ですが、利益率は薄く、在庫リスクは現実的です。この章では、適格となるスプレッド閾値、ROIの計算、そしてfarmingが機能する場面と損失が出る場面を解説します。
- Polymarketsの流動性リワードプログラムの仕組み
- 適格となるスプレッド閾値
- ROIの計算:リベート + 手数料節約 + スプレッド
- farmingに最適な市場
- リスク:inventory blowup
- コード:最小構成のLP-farming MM
Polymarketsの流動性リワードプログラムの仕組み
Polymarketは流動性リワードプログラムを実施しており、対象市場で待機中の指値注文を提供するトレーダーにmaker rebateを支払います。取引所は適格な気配値を日次で集計し、時間加重されたスプレッド改善型注文シェアに比例してリワードを分配します。
対象市場は週ごとに変わります。通常は、高優先度イベント(選挙年、主要スポーツ大会など)で、Polymarketがより厚い板を求めている市場です。対象リストはPolymarketのリワードページに公開されているので、特定の市場でfarming戦略を組む前に必ず確認してください。
リワードはpUSDで支払われ、定期的に入金されます(通常は日次または週次)。これは取引PnLとは別で、同じ市場、同じ期間内でも在庫でマイナス、リワードでプラスという状態になりえます。
適格となるスプレッド閾値
リワードの適格条件を満たすには、あなたの気配値がミッドの「qualifying spread」内に入っている必要があります。現在、binary marketではおおむねミッドの±3〜5%です。この帯域外の気配値も板には残りますが、リワードは発生しません。
より狭く値付けするほど、1ブロックあたりのリワードに対する競争力は上がりますが、逆選択を受ける頻度も増えます。広く値付けするほど安全ですが、リワードシェアは小さくなります。多くの市場での最適点は、各サイドでミッドから約1〜2c離した位置です。
適格条件には最小注文サイズもあります(通常は5株以上。GTCの最小値と同じです)。最小値未満の注文は板には残りますが、リワード対象にはなりません。
ROIの計算:リベート + 手数料節約 + スプレッド
完全なreward-farmingのROIは3つの要素で構成されます。
- リベート収入:約定1株あたりのリベート × 約定数。pUSDで支払われます。数値は変動しますが、現在の目安は約定1株あたり0.1〜0.5cです。
- スプレッド獲得:ミッドより1c上と1c下で気配を出し、両側が約定すれば、往復で2cの利益になります。実際の獲得率は約定の偏りに左右されます。
- 在庫PnL:積み上がったポジションには時価評価のエクスポージャーがあります。戦略が適切に設計されていれば、通常は小さなプラスまたはマイナスに収まります。
例:片側100株を提示し、24時間で各サイド60%が約定、リベートが1株あたり$0.30の場合。リワード:100 × 0.60 × $0.30 = $18/日。スプレッド獲得:同じ約定数で、1cスプレッド × 60往復 = $0.60。出来高が薄い市場ではリベートがスプレッドを上回り、出来高が厚い市場ではスプレッドが優勢になります。
farmingに最適な市場
farmingに向く経済的プロファイルは次のとおりです。
- 高い対象リワード率-市場ごとの現在の1株あたりリベートはリワードページで確認してください。
- 中程度の出来高-十分な約定数があり、かつ競合makerにシェアを食われすぎないこと。
- 安定したミッド-単一のニュースで暗黙確率が10cも動かない市場が理想です。ニュース前の選挙市場は良く、決着間近の市場は不向きです。
- 自然なスプレッドが狭い-すでに板がタイトな市場では、市場を広げるよりもリベート配分で競争する形になります。
避けるべき市場:決着24時間前の市場(価格変動で在庫が壊れます)、一方向のフローが継続する市場(大きな方向性エクスポージャーが積み上がります)。
リスク:inventory blowup
farmingの最大のリスクは、価格変動中に方向性エクスポージャーが蓄積することです。もしミッドが1時間で0.55から0.42に下落すると、あなたのbidは繰り返し約定する一方でaskは約定せず、結果として現在のミッドより高い平均取得単価でN株のロングを抱えることになります。
対策:
- Inventory cap:すでにロング過多のサイドでは気配を出さない。
- Skew:ロング時はbidを広げ、askをタイトにする。ショート時は逆にする。
- Kill switch:在庫が通常レンジの2倍を超える、またはミッドが開始時点からX%以上動いたら停止してポジションをフラットにする。
farmingのPnLは、リワード + スプレッド − inventory MTM の合計です。大きな損失は、ニュース起因の急変で3つ目の項目が一気に大きくマイナスになることで起こります。
コード:最小構成のLP-farming MM
参考:最もシンプルに成立する流動性リワードfarming maker。
QUOTE_OFFSET = 0.01 # 1c off mid each side
INV_CAP = 50 # max long or short
SIZE = 5 # GTC minimum
def farm_loop(token_id):
while True:
book = fetch_book(token_id)
mid = (book.best_bid + book.best_ask) / 2
inv = chain_balance(token_id)
cancel_my_quotes(token_id)
if inv < INV_CAP:
post_gtc(token_id, "BUY", mid - QUOTE_OFFSET, SIZE)
if inv > -INV_CAP:
post_gtc(token_id, "SELL", mid + QUOTE_OFFSET, min(SIZE, abs(inv)))
time.sleep(30) # re-quote every 30s
本番向けの追加要素:在庫に応じたskew、ニュースイベント中の停止、リベート流を含めた日次PnL照合。





