Tutorial de Bot de Polymarket · Capítulo 11 de 32

Cómo funcionan los mercados multiresultado NegRisk en Polymarket: mecánica de suman-1, el flag negRisk en órdenes CLOB, por qué los tramos YES entre mercados NegRisk no son intercambiables y mejores prácticas de ejecución.

Qué cubre este capítulo

Los mercados NegRisk son el mecanismo de Polymarket para eventos multiresultado mutuamente excluyentes - los candidatos de la elección de 2024, el ganador de la Premier League, llaves de torneos. La mayoría de los bots fallan al manejarlos correctamente en el primer intento porque la colocación de órdenes requiere un flag que se omite silenciosamente si falta. Este capítulo cubre la mecánica y la ruta de código de producción.

  • Qué significa NegRisk (tramos Yes mutuamente excluyentes)
  • Por qué los totales YES se mantienen cerca de 1 USD
  • El parámetro neg_risk en la colocación de órdenes
  • Cobertura entre tramos NegRisk
  • Cuándo funciona el arb de NegRisk (y cuándo no)
  • Casos límite de resolución
  • Código: colocar una orden NegRisk

Qué significa NegRisk (tramos Yes mutuamente excluyentes)

NegRisk (abreviatura de "negative risk") es el mecanismo de Polymarket para eventos con múltiples resultados mutuamente excluyentes - solo uno puede resolver YES. La Elección Presidencial de 2024 fue un evento con NegRisk: una posición Trump-YES y una posición Harris-YES no pueden ambas pagar.

Por debajo: un solo evento NegRisk tiene un question_id padre y N mercados hijos, cada uno con su propio YES/NO. El exchange impone suman-1 entre los tramos YES al resolver - exactamente uno resuelve 1.0 y los demás 0.0.

Desde la perspectiva de un bot, el tramo YES de cada resultado se negocia como su propio token, con su propio libro y precio. El flag negRisk en la colocación de órdenes (abajo) enruta la operación al contrato de exchange específico de NegRisk; si falta, se envía al exchange CTF estándar y la liquidación falla silenciosamente.

Por qué los totales YES se mantienen cerca de 1 USD

Los arbitrajistas mantienen de forma continua la suma de los precios YES en todos los tramos NegRisk en ≈ 1.0. Si Trump-YES está en 0.55 y Harris-YES en 0.40 y no hay otros candidatos competitivos, el 0.05 faltante es aproximadamente la probabilidad implícita de "cualquier otro resultado". Cuando el tramo faltante excede la probabilidad implícita de la cola, existe una oportunidad de arb: comprar todos los tramos YES proporcionalmente, sumar menos de 1.0 y asegurar la diferencia.

En la práctica, el arb es competitivo - el descuento visible suele ser de 1-2 centavos en eventos líquidos y desaparece en minutos desde la apertura. El arb también está limitado por liquidez: puedes asegurar $1k de descuento, pero no $20k.

La mayoría de los bots no están haciendo arb de NegRisk; operan tramos individuales y solo necesitan respetar el flag negRisk para que la ejecución sea correcta.

El parámetro neg_risk en la colocación de órdenes

En los SDKs CLOB v2, la colocación de órdenes toma un objeto de flags con un booleano negRisk. El valor debe coincidir con el tipo de mercado:

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

El flag también es un parámetro en la firma de la op daemon que usan la mayoría de los bots de producción:

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

Fuente de verdad: market.negRisk desde la Gamma API. Léelo siempre; nunca lo hardcodees. Un mercado BTC-up/down es negRisk: false (binario); un mercado ganador de torneo es negRisk: true (multiresultado). Cruzar los cables envía órdenes al exchange equivocado y produce fallas de transferencia al momento del settlement.

Cobertura entre tramos NegRisk

Si tienes Trump-YES a 0.50 y quieres cubrirte contra una caída de Trump, existen dos opciones dentro de NegRisk.

Comprar un tramo NO competidor (por ejemplo Harris-NO a 0.45). Esto paga si Harris pierde, lo que incluye que Trump gane. Es asimétrico - paga si Trump gana, pero no vale nada si Trump pierde contra un tercer candidato.

Comprar todos los tramos YES competidores en proporción. Si tu portafolio está completamente balanceado entre los tramos NegRisk, tu exposición queda cubierta: exactamente uno pagará. Esta es la posición de efectivo sintético.

El instrumento de cobertura que NO funciona como se espera: un tramo NO de tu mercado existente. Trump-NO está correlacionado con los otros tramos YES pero no perfectamente - si la resolución es "Other", tanto tu Trump-YES como tu Trump-NO van a 0. Los tramos NegRisk no son binarios puros.

Cuándo funciona el arb de NegRisk (y cuándo no)

El arb de NegRisk de "sumar menos de 1.0" funciona cuando se cumplen tres condiciones.

  1. Todos los tramos son líquidos: cada tramo que necesitas comprar tiene al menos $1k de profundidad al precio que necesitas. El arb requiere golpear múltiples libros simultáneamente; un tramo ilíquido rompe toda la operación.
  2. Spread lo suficientemente ajustado: el spread-tax acumulado en todos los tramos debe ser menor que el descuento. Cinco tramos con spread de 0.5c cada uno cuestan 2.5c; si el descuento es 1.5c, el arb es negativo.
  3. Puedes mantener hasta la resolución: el arb de NegRisk es arb de settlement. Recibes el payout cuando se resuelve el evento padre; si eso es dentro de 6 meses, tu capital queda bloqueado.

Para el 95% de los bots, el arb de NegRisk no es la estrategia. Las estrategias restantes operan tramos individuales y el flag negRisk existe solo para asegurar que la orden se enrute correctamente.

Casos límite de resolución

Dos casos límite a tener en cuenta al mantener posiciones NegRisk hasta la resolución.

Resultados "ninguna de las anteriores": algunos eventos NegRisk incluyen un tramo explícito "Other" o "None of the above". Si la respuesta real no coincide con ningún tramo nombrado, este es el ganador. Los bots que no modelan el tramo Other explícito a veces lo tratan como un caso degenerado y pierden el payout.

Resoluciones disputadas: la resolución de NegRisk pasa por UMA como cualquier otro mercado. Si se disputa, el mercado puede quedar sin resolver durante 24-72 horas. Durante esta ventana, el front-end puede mostrar "resolved" mientras los payouts on-chain todavía no están definidos. Leer payoutNumerators en el contrato CTF es la única forma segura de confirmarlo.

Código: colocar una orden NegRisk

Ejemplo completo en Node colocando una compra de un tramo YES de NegRisk.

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

El bug más común para los builders nuevos: omitir negRisk: true en un mercado NegRisk. La orden es aceptada por el CLOB pero el settlement falla. Siempre lee market.negRisk desde Gamma y pásalo; nunca dependas de adivinarlo por el título de la pregunta.

Preguntas frecuentes

¿Qué es un mercado NegRisk en Polymarket?
Un mercado multiresultado donde los tramos YES son mutuamente excluyentes (solo uno puede resolver YES). La suma de todos los precios YES se mantiene cerca de 1 USD porque exactamente un resultado gana. Ejemplos: "2026 NBA Champion" (gana un equipo), "Next Fed chair" (una persona).
¿Necesito configurar un flag en la orden para operar NegRisk?
Sí. Las solicitudes de orden para mercados NegRisk deben incluir neg_risk: true (Python: pasarlo a OrderArgs; Node: incluirlo en CreateOrderOptions). Olvidar el flag genera una orden rechazada o, peor, una orden colocada en el libro equivocado. Nos topamos con este bug exacto en producción - commit 06deaef en el historial de nuestro trader.
¿Puedo arbitrar tramos NegRisk que suman menos de 1?
Sí - si todos los tramos YES suman menos de 1.00 neto de fees, comprar cada tramo bloquea una ganancia garantizada. El arbitraje es real pero extremadamente raro y bots más rápidos lo barren en segundos. Trátalo como una curiosidad, no como estrategia.
¿Cómo se resuelve un mercado NegRisk?
Mismo proceso de oracle optimista de UMA que cualquier otro mercado de Polymarket. El tramo ganador paga 1 USD por share y todos los tramos perdedores pagan 0. La resolución normalmente liquida todo el evento NegRisk de una sola vez.
¿Las fees de NegRisk son diferentes a las de los mercados binarios?
Misma estructura de fees que en binarios - 0% maker, 0.75-1.80% taker según la categoría. El maker rebate también aplica. La única diferencia práctica es que tienes N libros de órdenes para gestionar en lugar de 1.
¿Puedo cubrir una posición YES comprando los otros tramos NegRisk?
Sí - esta es la cobertura específica de NegRisk. Si estás largo en un tramo y quieres fijar el PnL actual, compra los otros tramos en proporción. El costo neto debería ser (1 - el precio de tu tramo YES), menos fees. No lo recomendamos como estrategia principal porque las fees normalmente se comen la ventaja de la cobertura.