Polymarket Bot Tutorial · Kapitel 11 von 32
Wie NegRisk-Multi-Outcome-Märkte auf Polymarket funktionieren: Sum-to-1-Mechanik, das negRisk-Flag in CLOB Orders, warum YES-Legs über NegRisk hinweg nicht austauschbar sind und Best Practices für die Ausführung.
Was dieses Kapitel abdeckt
NegRisk Markets sind der Mechanismus von Polymarket für sich gegenseitig ausschließende Multi-Outcome-Events - die Kandidaten der US-Wahl 2024, der Premier-League-Sieger, Turnierbäume. Die meisten Bots scheitern beim ersten Versuch daran, sie korrekt zu handeln, weil die Orderplatzierung ein Flag erfordert, das bei fehlender Angabe stillschweigend verworfen wird. Dieses Kapitel behandelt die Mechanik und den Production-Code-Pfad.
- Was NegRisk bedeutet (gegenseitig ausschließliche Yes-Legs)
- Warum YES-Summen nahe 1 USD bleiben
- Der Parameter neg_risk bei der Orderplatzierung
- Hedging über NegRisk-Legs hinweg
- Wann NegRisk-Arb funktioniert (und wann nicht)
- Resolution-Edge-Cases
- Code: eine NegRisk-Order platzieren
Was NegRisk bedeutet (gegenseitig ausschließliche Yes-Legs)
NegRisk (Kurzform für "negative risk") ist Polymarkets Mechanismus für Events mit mehreren sich gegenseitig ausschließenden Outcomes - nur eines kann als YES aufgelöst werden. Die US-Präsidentschaftswahl 2024 war ein Event mit NegRisk: Eine Trump-YES-Position und eine Harris-YES-Position können nicht beide ausgezahlt werden.
Unter der Haube: Ein einzelnes NegRisk-Event hat eine übergeordnete question_id und N Child Markets, jedes mit eigenem YES/NO. Die Exchange erzwingt bei der Auflösung die Sum-to-1-Regel über alle YES-Legs hinweg - genau eines wird zu 1.0 und der Rest zu 0.0 aufgelöst.
Aus Sicht eines Bots wird das YES-Leg jedes Outcomes als eigener Token mit eigenem Order Book und eigenem Preis gehandelt. Das negRisk-Flag in der Orderplatzierung (unten) leitet den Trade an den NegRisk-spezifischen Exchange-Contract weiter; fehlt es, geht die Order an die Standard-CTF-Exchange und wird beim Settlement stillschweigend nicht korrekt abgewickelt.
Warum YES-Summen nahe 1 USD bleiben
Arbitrageure halten die Summe der YES-Preise über alle NegRisk-Legs hinweg kontinuierlich bei ≈ 1.0. Wenn Trump-YES bei 0.55 liegt und Harris-YES bei 0.40 und es keine weiteren wettbewerbsfähigen Kandidaten gibt, dann entspricht die fehlende 0.05 ungefähr der impliziten Wahrscheinlichkeit für "ein anderes Ergebnis". Wenn der fehlende Anteil die implizite Tail-Probability übersteigt, besteht eine Arb-Gelegenheit: alle YES-Legs proportional kaufen, unter 1.0 summieren, die Differenz sichern.
In der Praxis ist das Arb hart umkämpft - der sichtbare Abschlag liegt bei liquiden Events meist bei 1-2 Cents und verschwindet innerhalb von Minuten nach Eröffnung. Das Arb ist außerdem durch Liquidität begrenzt: Du kannst 1k $ Abschlag sichern, aber nicht 20k $.
Die meisten Bots betreiben kein NegRisk-Arb; sie handeln einzelne Legs und müssen für die korrekte Ausführung das negRisk-Flag beachten.
Der Parameter neg_risk bei der Orderplatzierung
In CLOB v2 SDKs nimmt die Orderplatzierung ein Flags-Objekt mit einem booleschen negRisk entgegen. Der Wert muss zum Market-Typ passen:
// 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
);
Das Flag ist außerdem ein Parameter in der Daemon-Op-Signatur, die die meisten Production-Bots verwenden:
{ op: 'buy', tokenID, price, size, neg_risk: true, order_type: 'FOK' }
Source of truth: market.negRisk aus der Gamma API. Immer lesen, nie hardcoden. Ein BTC-up/down-Market ist negRisk: false (binary); ein Tournament-Winner-Market ist negRisk: true (multi-outcome). Wenn du die beiden verwechselst, gehen Orders an die falsche Exchange und verursachen Transfer-Fehler beim Settlement.
Hedging über NegRisk-Legs hinweg
Wenn du Trump-YES bei 0.50 hältst und dich gegen einen Trump-Verlust absichern willst, gibt es innerhalb von NegRisk zwei Optionen.
Ein konkurrierendes NO-Leg kaufen (z. B. Harris-NO bei 0.45). Das zahlt aus, wenn Harris verliert, was auch einen Trump-Sieg umfasst. Asymmetrisch - Auszahlung, wenn Trump gewinnt, aber wertlos, wenn Trump gegen einen dritten Kandidaten verliert.
Alle konkurrierenden YES-Legs kaufen in Proportion. Wenn dein Portfolio über alle NegRisk-Legs hinweg vollständig ausbalanciert ist, ist dein Exposure abgesichert: Genau eines wird auszahlen. Das ist die Synthetic-Cash-Position.
Das Hedging-Instrument, das nicht wie erwartet funktioniert: ein NO-Leg auf deinem bestehenden Market. Trump-NO ist mit den anderen YES-Legs korreliert, aber nicht perfekt - wenn die Auflösung "Other" ist, gehen sowohl dein Trump-YES als auch dein Trump-NO auf 0. NegRisk-Legs sind keine reinen Binaries.
Wann NegRisk-Arb funktioniert (und wann nicht)
Das NegRisk-Arb "Summe kleiner als 1.0" funktioniert, wenn drei Bedingungen erfüllt sind.
- Alle Legs liquide: Jedes Leg, das du kaufen musst, hat mindestens 1k $ Tiefe zum benötigten Preis. Arb erfordert das gleichzeitige Treffen mehrerer Order Books; ein illiquides Leg bricht den gesamten Trade.
- Spread eng genug: Die kumulierten Spread-Kosten über alle Legs hinweg müssen kleiner als der Abschlag sein. Fünf Legs mit je 0,5 Cent Spread sind 2,5 Cent Kosten; wenn der Abschlag 1,5 Cent beträgt, ist das Arb negativ.
- Du kannst bis zur Resolution halten: NegRisk-Arb ist Settlement-Arb. Die Auszahlung erhältst du, wenn das übergeordnete Event aufgelöst wird; wenn das 6 Monate dauert, ist dein Kapital gebunden.
Für 95% der Bots ist NegRisk-Arb nicht die Strategie. Die restlichen Strategien handeln einzelne Legs, und das negRisk-Flag existiert nur, um sicherzustellen, dass die Order korrekt geroutet wird.
Resolution-Edge-Cases
Zwei Edge-Cases, auf die du achten solltest, wenn du NegRisk-Positionen bis zur Resolution hältst.
"None of the above"-Outcomes: Manche NegRisk-Events enthalten ein explizites "Other"- oder "None of the above"-Leg. Wenn die tatsächliche Antwort mit keinem benannten Leg übereinstimmt, ist das der Gewinner. Bots, die das explizite Other-Leg nicht modellieren, behandeln es manchmal als Degenerate Case und verpassen die Auszahlung.
Strittige Resolutions: Die NegRisk-Resolution läuft wie jeder andere Market über UMA. Wenn sie angefochten wird, kann der Market 24-72 Stunden lang unaufgelöst bleiben. In diesem Zeitfenster kann das Frontend "resolved" anzeigen, während die On-Chain-Auszahlungen noch nicht festgelegt sind. Das Auslesen von payoutNumerators auf dem CTF-Contract ist der einzige sichere Weg zur Bestätigung.
Code: eine NegRisk-Order platzieren
Vollständiges Node-Beispiel für einen Buy eines NegRisk-YES-Legs.
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);
Der häufigste einzelne Bug für neue Builder: negRisk: true bei einem NegRisk-Market zu weglassen. Die Order wird vom CLOB akzeptiert, aber das Settlement schlägt fehl. Lies immer market.negRisk aus Gamma aus und reiche es weiter; verlasse dich nie auf das Erraten anhand des Fragetitels.
Häufig gestellte Fragen
neg_risk: true enthalten (Python: an OrderArgs übergeben; Node: in CreateOrderOptions übergeben). Das Vergessen des Flags führt zu einer abgelehnten Order oder, schlimmer noch, zu einer Order im falschen Order Book. Wir sind genau auf diesen Bug in Production gestoßen - Commit 06deaef in unserer Trader-Historie.











