Polymarket Bot Tutorial · Hoofdstuk 11 van 32

Hoe NegRisk multi-outcome markten werken op Polymarket: sum-to-1 mechanics, de negRisk flag in CLOB orders, waarom YES legs over NegRisk niet uitwisselbaar zijn en best practices voor executie.

Wat dit hoofdstuk behandelt

NegRisk markten zijn Polymarkets mechanisme voor wederzijds exclusieve multi-outcome events — de 2024-verkiezingskandidaten, de Premier League-winnaar, toernooi-brackets. De meeste bots falen ze correct te hanteren bij de eerste poging omdat de order-plaatsing een flag vereist die stil wordt gedropt als hij ontbreekt. Dit hoofdstuk behandelt de mechanics en het productie-codepad.

Dit is hoofdstuk 11 van onze 32-delige serie over het bouwen van een Polymarket trading bot. We behandelen het onderwerp in detail in de secties hieronder. De body content voor elke sectie wordt geschreven en hoofdstuk-per-hoofdstuk uitgerold; FAQ-antwoorden en referenties zijn al compleet en weerspiegelen production-ervaring van het draaien van onze eigen trader.

  • Wat NegRisk betekent (wederzijds exclusieve Yes legs)
  • Waarom YES-totalen dichtbij 1 USD blijven
  • De neg_risk parameter in order-plaatsing
  • Hedgen over NegRisk legs
  • Wanneer NegRisk arb werkt (en wanneer niet)
  • Resolution edge cases
  • Code: plaats een NegRisk order

Wat NegRisk betekent (wederzijds exclusieve Yes legs)

NegRisk (kort voor "negative risk") is Polymarkets mechanisme voor events met meerdere wederzijds exclusieve uitkomsten — slechts één kan YES resolven. De Presidential Election 2024 was één event met NegRisk: een Trump-YES positie en een Harris-YES positie kunnen niet beide uitbetalen.

Onder de motorkap: een enkele NegRisk event heeft één parent question_id en N child markten, elk met eigen YES/NO. De exchange dwingt sum-to-1 af over de YES legs bij resolution — precies één resolved naar 1,0 en de rest naar 0,0.

Vanuit het perspectief van een bot trade de YES leg van elke outcome als eigen token, met eigen book en prijs. De negRisk flag in order-plaatsing (hieronder) routeert de trade naar het NegRisk-specifieke exchange contract; hem missen stuurt naar het standaard CTF exchange en faalt stil correct te settelen.

Waarom YES-totalen dichtbij 1 USD blijven

Arbitrageurs houden de som van YES-prijzen over alle NegRisk legs continu op ≈ 1,0. Als Trump-YES 0,55 is en Harris-YES 0,40 en er geen andere competitieve kandidaten zijn, is de ontbrekende 0,05 ongeveer de geïmpliceerde probability van "elke andere uitkomst." Wanneer de ontbrekende slice de geïmpliceerde tail-probability overstijgt, bestaat een arb-kans: koop alle YES legs proportioneel, sommeer tot minder dan 1,0, lock het verschil in.

In de praktijk is de arb competitief — de zichtbare discount is meestal 1-2 cent op liquide events, weg binnen minuten na opening. De arb is ook liquidity-bound: je kunt 1k $ aan discount inlocken maar geen 20k $.

De meeste bots doen geen NegRisk arb; ze traden individuele legs en moeten de negRisk flag respecteren voor executie-correctheid.

De neg_risk parameter in order-plaatsing

In CLOB v2 SDK's neemt order-plaatsing een flags-object met een boolean negRisk. De waarde moet matchen met het 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
);

De flag is ook een parameter in de daemon op-signature die de meeste productie-bots gebruiken:

{ op: 'buy', tokenID, price, size, neg_risk: true, order_type: 'FOK' }

Source of truth: market.negRisk uit de Gamma API. Lees hem altijd; hardcode nooit. Een BTC-up/down markt is negRisk: false (binary); een tournament-winner markt is negRisk: true (multi-outcome). De draden kruisen stuurt orders naar het verkeerde exchange en produceert transfer-failures bij settlement.

Hedgen over NegRisk legs

Als je Trump-YES op 0,50 houdt en wilt hedgen tegen een Trump-verlies, bestaan binnen NegRisk twee opties.

Koop een concurrerende NO leg (bijv. Harris-NO op 0,45). Dit betaalt uit als Harris verliest, wat Trump-winnen omvat. Asymmetrisch — payoff als Trump wint maar waardeloos als Trump verliest van een derde kandidaat.

Koop alle concurrerende YES legs in proportie. Als je portfolio volledig in balans is over de NegRisk legs, is je exposure gehedged: precies één zal uitbetalen. Dit is de synthetische-cash positie.

Het hedging-instrument dat NIET werkt zoals verwacht: een NO leg op je bestaande markt. Trump-NO is gecorreleerd met de andere YES legs maar niet perfect — als de resolution "Other" is gaan je Trump-YES en je Trump-NO beide naar 0. NegRisk legs zijn geen pure binaries.

Wanneer NegRisk arb werkt (en wanneer niet)

De NegRisk arb van "som tot minder dan 1,0" werkt wanneer drie condities gelden.

  1. Alle legs liquide: elke leg die je moet kopen heeft minstens 1k $ aan depth op de prijs die je nodig hebt. Arb vereist meerdere books gelijktijdig raken; één illiquide leg breekt de hele trade.
  2. Spread strak genoeg: de cumulatieve spread-tax over alle legs moet minder zijn dan de discount. Vijf legs op 0,5c spread elk is 2,5c aan kosten; als de discount 1,5c is, is de arb negatief.
  3. Je kunt vasthouden tot resolution: NegRisk arb is settlement arb. Je ontvangt payout wanneer het parent event resolved; als dat 6 maanden weg is, is je kapitaal vast.

Voor 95% van de bots is NegRisk arb niet de strategie. De overige strategieën traden individuele legs en de negRisk flag bestaat alleen om ervoor te zorgen dat de order correct routeert.

Resolution edge cases

Twee edge cases om bewust van te zijn bij het houden van NegRisk-posities tot aan resolution.

"None of the above"-uitkomsten: sommige NegRisk-events bevatten een expliciete "Other"- of "None of the above"-leg. Als het werkelijke antwoord met geen genoemde leg matcht, is dit de winnaar. Bots die de expliciete Other-leg niet modelleren behandelen het soms als een degeneratie en missen de payout.

Disputed resolutions: NegRisk-resolution gaat door UMA zoals elke andere markt. Bij dispute kan de markt 24-72 uur onopgelost blijven. Tijdens dit venster kan de front-end "resolved" tonen terwijl de on-chain payouts nog niet zijn gezet. Het lezen van payoutNumerators op het CTF-contract is de enige veilige manier om te bevestigen.

Code: plaats een NegRisk order

Volledig Node-voorbeeld dat een NegRisk YES leg buy plaatst.

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);

De enkele meest voorkomende bug voor nieuwe builders: negRisk: true weglaten op een NegRisk-markt. De order wordt geaccepteerd door de CLOB maar settlement faalt. Lees altijd market.negRisk uit Gamma en geef hem door; vertrouw nooit op gokken vanuit de vraagtitel.

Veelgestelde vragen

Wat is een NegRisk-markt op Polymarket?
Een multi-outcome markt waar de YES legs wederzijds exclusief zijn (slechts één kan YES resolven). De som van alle YES-prijzen blijft dichtbij 1 USD omdat precies één outcome wint. Voorbeelden: "2026 NBA Champion" (één team wint), "Next Fed chair" (één persoon).
Moet ik een flag in de order zetten om NegRisk te traden?
Ja. Order-requests voor NegRisk-markten moeten neg_risk: true bevatten (Python: pass to OrderArgs; Node: pass in CreateOrderOptions). De flag vergeten resulteert in een afgewezen order of, erger, een order geplaatst op het verkeerde order book. We raakten deze exacte bug in productie — commit 06deaef in onze trader-historie.
Kan ik NegRisk legs arbitreren die optellen tot minder dan 1?
Ja — als alle YES legs samen minder dan 1,00 zijn netto van fees, lockt elke leg kopen een gegarandeerde winst in. De arbitrage is echt maar extreem zeldzaam en wordt binnen seconden opgepikt door snellere bots. Behandel het als curiositeit, geen strategie.
Hoe wordt een NegRisk-markt resolved?
Hetzelfde UMA optimistic oracle proces als elke andere Polymarket-markt. De winnende leg betaalt 1 USD per share, alle verliezende legs betalen 0. Resolution settled typisch het hele NegRisk-event in één keer.
Zijn NegRisk-fees anders dan binary markten?
Zelfde fee-schedule als binary — 0% maker, 0,75-1,80% taker per categorie. De maker rebate geldt ook. Het enige praktische verschil is dat je N order books hebt om te beheren in plaats van 1.
Kan ik een YES-positie hedgen door de andere NegRisk legs te kopen?
Ja — dit is de NegRisk-specifieke hedge. Als je long bent op één leg en huidige PnL wilt inlocken, koop de andere legs in proportie. Netto kost zou (1 - jouw YES leg-prijs) moeten zijn, modulo fees. We raden het niet aan als primaire strategie omdat de fees meestal de hedge-edge opeten.