Polymarket Bot Tutorial · Chapter 11 of 32

Polymarket-এ NegRisk multi-outcome market কীভাবে কাজ করে: sum-to-1 mechanics, CLOB orders-এ negRisk flag, কেন NegRisk জুড়ে YES legs একে অপরের সাথে interchangeable নয়, এবং execution-এর best practices।

এই chapter-এ কী covered আছে

NegRisk markets হলো Polymarket-এর mechanism, যা mutually exclusive multi-outcome events-এর জন্য ব্যবহৃত হয় - যেমন 2024 election candidates, Premier League winner, tournament brackets। বেশিরভাগ bots প্রথম চেষ্টায় এগুলো সঠিকভাবে handle করতে পারে না, কারণ order placement-এর জন্য একটি flag লাগে, যা missing থাকলে silently drop হয়ে যায়। এই chapter-এ mechanics এবং production code path covered আছে।

  • NegRisk কী বোঝায় (mutually exclusive Yes legs)
  • কেন YES totals 1 USD-এর কাছাকাছি থাকে
  • Order placement-এ neg_risk parameter
  • NegRisk legs জুড়ে hedging
  • কখন NegRisk arb কাজ করে (আর কখন করে না)
  • Resolution edge cases
  • Code: একটি NegRisk order place করা

NegRisk কী বোঝায় (mutually exclusive Yes legs)

NegRisk ("negative risk" এর সংক্ষিপ্ত রূপ) হলো এমন events-এর জন্য Polymarket-এর mechanism, যেখানে multiple mutually exclusive outcomes থাকে - শুধুমাত্র একটি outcome YES resolve করতে পারে। 2024 Presidential Election ছিল NegRisk-সহ একটি event: একটি Trump-YES position এবং একটি Harris-YES position উভয়ই payout করতে পারে না।

ভেতরে ভেতরে: একটি single NegRisk event-এর একটি parent question_id থাকে এবং Nটি child market থাকে, প্রতিটির নিজস্ব YES/NO থাকে। Exchange resolution-এ YES legs জুড়ে sum-to-1 enforce করে - ঠিক একটি 1.0-এ resolve হয় এবং বাকিগুলো 0.0-এ।

একটি bot-এর দৃষ্টিকোণ থেকে, প্রতিটি outcome-এর YES leg নিজস্ব token হিসেবে trade করে, নিজস্ব book ও price সহ। Order placement-এ negRisk flag (নিচে) trade-টিকে NegRisk-specific exchange contract-এ route করে; এটি missing থাকলে standard CTF exchange-এ যাবে এবং settlement-এ সঠিকভাবে resolve হবে না।

কেন YES totals 1 USD-এর কাছাকাছি থাকে

Arbitrageurs ধারাবাহিকভাবে সব NegRisk legs-এর YES prices-এর sum-কে ≈ 1.0-এর কাছাকাছি রাখে। যদি Trump-YES হয় 0.55, Harris-YES হয় 0.40, এবং অন্য কোনো competitive candidate না থাকে, তবে missing 0.05 আনুমানিক "any other outcome" এর implied probability। Missing slice যখন implied tail probability-কে ছাড়িয়ে যায়, তখন একটি arb opportunity তৈরি হয়: সব YES legs proportionally buy করুন, sum 1.0-এর কমে lock করুন, পার্থক্যটি নিশ্চিত করুন।

বাস্তবে arb খুবই competitive - liquid events-এ visible discount সাধারণত 1-2 cents, এবং opening-এর কয়েক মিনিটের মধ্যেই gone হয়ে যায়। Arb liquidity-boundও বটে: আপনি $1k discount lock করতে পারেন, কিন্তু $20k নয়।

বেশিরভাগ bots NegRisk arb করছে না; তারা individual legs trade করছে এবং execution correctness-এর জন্য শুধু negRisk flag respect করতে হয়।

Order placement-এ neg_risk parameter

CLOB v2 SDKs-এ order placement একটি flags object নেয়, যেখানে boolean negRisk থাকে। এর value market type-এর সাথে match করতে হবে:

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

এই flag daemon op signature-এও একটি parameter, যা বেশিরভাগ production bots ব্যবহার করে:

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

Source of truth: Gamma API থেকে market.negRisk। সবসময় এটি read করুন; কখনও hardcode করবেন না। BTC-up/down market হলো negRisk: false (binary); tournament-winner market হলো negRisk: true (multi-outcome)। wires cross করলে order ভুল exchange-এ যায় এবং settlement-এ transfer failure তৈরি করে।

NegRisk legs জুড়ে hedging

যদি আপনার কাছে 0.50-এ Trump-YES থাকে এবং আপনি Trump loss-এর বিরুদ্ধে hedge করতে চান, তাহলে NegRisk-এর মধ্যে দুটি option আছে।

একটি competing NO leg buy করুন (যেমন Harris-NO at 0.45)। এটি Harris হারলে payout করে, যার মধ্যে Trump জেতাও অন্তর্ভুক্ত। Asymmetric - Trump জিতলে payoff আছে, কিন্তু Trump কোনো third candidate-এর কাছে হারলে worthless।

সব competing YES legs buy করুন proportion অনুযায়ী। যদি আপনার portfolio NegRisk legs জুড়ে fully balanced থাকে, তাহলে আপনার exposure hedged: ঠিক একটি payout করবে। এটিই synthetic-cash position।

যে hedging instrumentটি expected মতো কাজ করে না: আপনার existing market-এর একটি NO leg। Trump-NO অন্য YES legs-এর সাথে correlated, কিন্তু perfectly নয় - যদি resolution হয় "Other", তাহলে আপনার Trump-YES এবং আপনার Trump-NO দুটোই 0-এ যাবে। NegRisk legs pure binaries নয়।

কখন NegRisk arb কাজ করে (আর কখন করে না)

"sum to less than 1.0" ধরনের NegRisk arb তখনই কাজ করে, যখন তিনটি শর্ত পূরণ হয়।

  1. সব legs liquid: আপনি যেসব leg buy করতে চান, প্রতিটির price-এ অন্তত $1k depth থাকতে হবে। Arb-এ একসাথে multiple books hit করতে হয়; একটি illiquid leg পুরো trade ভেঙে দেয়।
  2. Spread যথেষ্ট tight: সব legs জুড়ে cumulative spread-tax discount-এর চেয়ে কম হতে হবে। পাঁচটি leg-এ প্রত্যেকটিতে 0.5c spread হলে মোট cost 2.5c; discount যদি 1.5c হয়, তবে arb negative।
  3. আপনি resolution পর্যন্ত hold করতে পারবেন: NegRisk arb হলো settlement arb। Parent event resolve হলে আপনি payout পান; যদি তা 6 মাস পরে হয়, তাহলে আপনার capital locked থাকে।

95% bots-এর জন্য NegRisk arb strategy নয়। বাকি strategies individual legs trade করে, এবং negRisk flag শুধুমাত্র order সঠিকভাবে route হওয়া নিশ্চিত করার জন্য থাকে।

Resolution edge cases

Resolution-এর মাধ্যমে NegRisk positions hold করার সময় দুটি edge case মাথায় রাখতে হবে।

"None of the above" outcomes: কিছু NegRisk event-এ explicit "Other" বা "None of the above" leg থাকে। যদি actual answer কোনো named leg-এর সাথে না মেলে, তাহলে এটিই winner। যেসব bots explicit Other leg model করে না, তারা কখনও এটিকে degenerate case ধরে payout miss করে।

Disputed resolutions: অন্য যেকোনো market-এর মতো NegRisk resolution-ও UMA-এর মাধ্যমে যায়। Dispute হলে market 24-72 hours unresolved থাকতে পারে। এই window-তে front-end "resolved" দেখাতে পারে, অথচ on-chain payouts এখনো set হয়নি। নিশ্চিত হওয়ার safe way হলো CTF contract-এ payoutNumerators read করা।

Code: একটি NegRisk order place করা

একটি NegRisk YES leg buy করার full Node example।

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

নতুন builders-এর জন্য সবচেয়ে common bug: NegRisk market-এ negRisk: true বাদ দেওয়া। Order CLOB দ্বারা accepted হয়, কিন্তু settlement fail করে। সবসময় Gamma থেকে market.negRisk read করে সেটি pass করুন; question title দেখে আন্দাজের ওপর কখনও ভরসা করবেন না।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

Polymarket-এ NegRisk market কী?
এটি একটি multi-outcome market, যেখানে YES legs mutually exclusive (শুধু একটি YES resolve করতে পারে)। সব YES prices-এর sum 1 USD-এর কাছাকাছি থাকে, কারণ ঠিক একটি outcome জেতে। উদাহরণ: "2026 NBA Champion" (একটি team জেতে), "Next Fed chair" (একজন ব্যক্তি)।
NegRisk trade করতে order-এ একটি flag set করতে হবে?
হ্যাঁ। NegRisk markets-এর order requests-এ neg_risk: true থাকতে হবে (Python: OrderArgs-এ pass করুন; Node: CreateOrderOptions-এ pass করুন)। Flag ভুলে গেলে order rejected হবে অথবা, আরও খারাপ, ভুল order book-এ order বসে যাবে। আমরা production-এ এই exact bug-এ পড়েছিলাম - আমাদের trader history-তে commit 06deaef।
আমি কি 1-এর কম sum হওয়া NegRisk legs arbitrage করতে পারি?
হ্যাঁ - যদি fees বাদে সব YES legs-এর sum 1.00-এর কম হয়, তবে প্রতিটি leg buy করলে নিশ্চিত profit lock হয়। Arb বাস্তব, কিন্তু খুবই বিরল, এবং দ্রুততর bots কয়েক সেকেন্ডের মধ্যে এটি sniped করে ফেলে। এটিকে strategy নয়, বরং একটি curiosity হিসেবে দেখুন।
একটি NegRisk market কীভাবে resolve হয়?
অন্যান্য Polymarket market-এর মতোই UMA optimistic oracle process-এ। Winning leg প্রতি share-এ 1 USD payout করে, আর সব losing legs 0 payout করে। Resolution সাধারণত পুরো NegRisk event একসাথেই settle করে।
NegRisk fees কি binary markets-এর থেকে আলাদা?
Fee schedule binary-এর মতোই - 0% maker, category অনুযায়ী 0.75-1.80% taker। Maker rebate-ও প্রযোজ্য। Practical পার্থক্য শুধু এই যে, আপনাকে 1টির বদলে Nটি order book manage করতে হয়।
আমি কি অন্য NegRisk legs buy করে একটি YES position hedge করতে পারি?
হ্যাঁ - এটিই NegRisk-specific hedge। আপনি যদি একটি leg long করেন এবং current PnL lock করতে চান, তাহলে proportion অনুযায়ী অন্য legs buy করুন। Net cost হওয়া উচিত (1 - your YES leg price), fees সাপেক্ষে। আমরা এটিকে primary strategy হিসেবে recommend করি না, কারণ fees সাধারণত hedge edge খেয়ে ফেলে।