Polymarket Bot Tutorial · Kabanata 11 ng 32
Paano gumagana ang NegRisk multi-outcome markets sa Polymarket: sum-to-1 mechanics, ang negRisk flag sa CLOB orders, kung bakit ang YES legs sa NegRisk ay hindi interchangeable, at execution best practices.
Ano ang sinasaklaw ng kabanatang ito
Ang NegRisk markets ay ang mekanismo ng Polymarket para sa mutually exclusive multi-outcome events - ang 2024 election candidates, ang Premier League winner, tournament brackets. Karamihan ng bots ay hindi nag-handle ng tama sa unang pagsubok dahil ang order placement ay nangangailangan ng flag na tahimik na dropped kung nawawala. Sinasaklaw ng kabanatang ito ang mechanics at production code path.
- Ano ang ibig sabihin ng NegRisk (mutually exclusive Yes legs)
- Kung bakit ang YES totals ay nananatiling malapit sa 1 USD
- Ang neg_risk parameter sa order placement
- Hedging sa NegRisk legs
- Kapag gumagana ang NegRisk arb (at kapag hindi)
- Resolution edge cases
- Code: maglagay ng NegRisk order
Ano ang ibig sabihin ng NegRisk (mutually exclusive Yes legs)
Ang NegRisk (kasong para sa "negative risk") ay ang mekanismo ng Polymarket para sa events na may maramihang mutually exclusive outcomes - isa lamang ang maaaring mag-resolve YES. Ang 2024 Presidential Election ay isang event na may NegRisk: ang Trump-YES position at Harris-YES position ay hindi pwedeng parehong magbayad.
Sa ilalim ng hood: ang isang NegRisk event ay may isang parent question_id at N child markets, bawat isa na may sariling YES/NO. Ang exchange ay nag-enforce ng sum-to-1 sa YES legs sa resolution - isa lamang ang nag-resolve sa 1.0 at ang iba ay sa 0.0.
Mula sa perspective ng bot, ang YES leg ng bawat outcome ay nag-trade bilang sariling token, na may sariling book at price. Ang negRisk flag sa order placement (sa ibaba) ay nag-route sa trade sa NegRisk-specific exchange contract; ang nawawala dito ay nagpapadala sa standard CTF exchange at tahimik na nabigo na mag-settle nang tama.
Kung bakit ang YES totals ay nananatiling malapit sa 1 USD
Ang mga arbitrageur ay patuloy na pinapanatili ang sum ng YES prices sa lahat ng NegRisk legs sa ≈ 1.0. Kung ang Trump-YES ay 0.55 at ang Harris-YES ay 0.40 at walang ibang competitive candidates, ang nawawalang 0.05 ay halos ang implied probability ng "anumang ibang outcome." Kapag lumampas ang nawawalang slice sa implied tail probability, may arb opportunity: bilhin ang lahat ng YES legs proportionately, sum sa wala pang 1.0, i-lock ang pagkakaiba.
Sa practice ang arb ay competitive - ang visible discount ay karaniwang 1-2 cents sa liquid events, nawala sa loob ng ilang minuto ng pagbubukas. Ang arb ay liquidity-bound din: maaari kang mag-lock ng $1k ng discount pero hindi $20k.
Ang karamihan ng bots ay hindi gumagawa ng NegRisk arb; sila ay nag-trade ng individual legs at kailangang igalang ang negRisk flag para sa execution correctness.
Ang neg_risk parameter sa order placement
Sa CLOB v2 SDKs, ang order placement ay kumukuha ng flags object na may boolean negRisk. Ang value ay dapat tumugma sa market type:
// Node (CLOB v2)
await client.createAndPostOrder(
{ tokenID, price: 0.45, size: 10, side: Side.BUY },
{ tickSize: '0.01', negRisk: true }, // <-- TRUE for NegRisk
OrderType.FOK
);
Ang flag ay parameter din sa daemon op signature na ginagamit ng karamihan ng production bots:
{ op: 'buy', tokenID, price, size, neg_risk: true, order_type: 'FOK' }
Source of truth: market.negRisk mula sa Gamma API. Palaging basahin; huwag kailanman hardcode. Ang BTC-up/down market ay negRisk: false (binary); ang tournament-winner market ay negRisk: true (multi-outcome). Ang pagtawid ng wires ay nagpapadala ng orders sa maling exchange at gumagawa ng transfer failures sa settlement.
Hedging sa NegRisk legs
Kung mayroon kang Trump-YES sa 0.50 at gusto mong mag-hedge laban sa Trump loss, dalawang options ang umiiral sa loob ng NegRisk.
Bumili ng competing NO leg (e.g. Harris-NO sa 0.45). Nagbabayad ito kung natalo si Harris, na kasama ang panalo ni Trump. Asymmetric - payoff kung manalo si Trump pero walang halaga kung matalo si Trump sa third candidate.
Bumili ng lahat ng competing YES legs sa proportion. Kung ang iyong portfolio ay fully balanced sa NegRisk legs, ang iyong exposure ay hedged: isa lamang ang magbabayad. Ito ang synthetic-cash position.
Ang hedging instrument na HINDI gumagana tulad ng inaasahan: ang NO leg sa iyong existing market. Ang Trump-NO ay correlated sa ibang YES legs pero hindi perfectly - kung ang resolution ay "Other" ang iyong Trump-YES at Trump-NO ay parehong pupunta sa 0. Ang NegRisk legs ay hindi pure binaries.
Kapag gumagana ang NegRisk arb (at kapag hindi)
Ang NegRisk arb ng "sum sa wala pang 1.0" ay gumagana kapag ang tatlong conditions ay umiiral.
- Lahat ng legs ay liquid: bawat leg na kailangan mong bilhin ay may hindi bababa sa $1k ng depth sa kinakailangang price. Ang arb ay nangangailangan ng pagtama sa maraming books simultaneously; isang illiquid leg ay sumisira sa buong trade.
- Ang spread ay tight enough: ang cumulative spread-tax sa lahat ng legs ay dapat mas mababa sa discount. Limang legs sa 0.5c spread bawat isa ay 2.5c ng cost; kung ang discount ay 1.5c, ang arb ay negative.
- Maaari kang mag-hold hanggang sa resolution: ang NegRisk arb ay settlement arb. Nakakatanggap ka ng payout kapag nag-resolve ang parent event; kung iyon ay 6 na buwan ang layo, ang iyong capital ay locked.
Para sa 95% ng bots, ang NegRisk arb ay hindi ang strategy. Ang natitirang strategies ay nag-trade ng individual legs at ang negRisk flag ay umiiral lamang para matiyak na nag-route ang order nang tama.
Resolution edge cases
Dalawang edge cases na dapat malaman kapag may hawak na NegRisk positions sa resolution.
"None of the above" outcomes: ang ilang NegRisk events ay kasama ang explicit "Other" o "None of the above" leg. Kung ang aktwal na sagot ay hindi tumutugma sa anumang named leg, ito ang panalo. Ang bots na hindi nag-model ng explicit Other leg ay paminsan-minsan tinatrato ito bilang degenerate case at nawawala ang payout.
Disputed resolutions: ang NegRisk resolution ay dumaan sa UMA tulad ng anumang ibang market. Kung disputed, ang market ay maaaring manatiling unresolved sa loob ng 24-72 oras. Sa loob ng window na ito, maaaring magpakita ang front-end ng "resolved" habang ang on-chain payouts ay hindi pa nakatakda. Ang pagbabasa ng payoutNumerators sa CTF contract ay ang tanging ligtas na paraan upang kumpirmahin.
Code: maglagay ng NegRisk order
Full Node example na naglalagay ng NegRisk YES leg buy.
import { ClobClient, Side, OrderType } from "@polymarket/clob-client-v2";
import { Wallet } from "ethers";
const c = new ClobClient({
host: "https://clob.polymarket.com", chain: 137,
signer: new Wallet(process.env.PRIVATE_KEY),
creds: { key: K, secret: S, passphrase: P },
signatureType: 2,
funderAddress: process.env.POLY_FUNDER,
});
// market.negRisk === true (verified via Gamma earlier)
const resp = await c.createAndPostOrder(
{ tokenID: "<YES_TOKEN_ID>", price: 0.42, size: 25, side: Side.BUY },
{ tickSize: "0.01", negRisk: true },
OrderType.FOK
);
console.log(resp.status, resp.orderID);
Ang isang pinaka-karaniwang bug para sa bagong builders: pag-iwan ng negRisk: true sa NegRisk market. Ang order ay tinatanggap ng CLOB pero nabigo ang settlement. Palaging basahin ang market.negRisk mula sa Gamma at ipasa; huwag kailanman umasa sa paghula mula sa question title.














