پولی مارکیٹ بوٹ ٹیوٹوریل · باب 13 از 32

پولی مارکیٹ پر مارکیٹ میکنگ: bid اور ask کو کیسے کوٹ کریں، اسپریڈ کیپچر کریں، میکر ریبیٹس کمائیں (ٹیکر فیس کا 20-25%)، انوینٹری رسک ریاضی، اور پیشگوئی مارکیٹس پر MM کب کام کرتا ہے۔

اس باب میں کیا شامل ہے

پولی مارکیٹ پر مارکیٹ میکنگ کا مطلب ہے مارکیٹ کی آرڈر بُک کے دونوں سائیڈز کو مسلسل کوٹ کرنا اور ہر راؤنڈ ٹرپ پر اسپریڈ کمانا۔ یہ حکمتِ عملی روایتی فنانس میں اچھی طرح سمجھی جاتی ہے؛ پولی مارکیٹ کے مخصوص فرق میکر-ریبیٹ پروگرام اور پیشگوئی مارکیٹس کی adverse-selection پروفائل ہیں، جو CFD مقامات سے زیادہ ہوتی ہے۔ یہ باب خالص ریاضی ہے۔

  • سادہ زبان میں مارکیٹ میکنگ
  • اسپریڈ + ریبیٹ ایج
  • انوینٹری رسک اور جھکاؤ
  • پولی مارکیٹ پر MM کب کام کرتا ہے (اور کب نہیں)
  • کوڈ ڈھانچہ: دونوں سائیڈز کو +/- N سینٹس پر کوٹ کرنا
  • خبروں کے بہاؤ کے مطابق کوٹس ایڈجسٹ کرنا
  • Adverse selection میں اچانک اضافہ ہونے پر بوٹ بند کرنا

سادہ زبان میں مارکیٹ میکنگ

ایک مارکیٹ میکر مسلسل دونوں سائیڈز کوٹ کرتا ہے: خریداری قیمت (bid) اور فروخت قیمت (ask)، جو mid سے ایک مقررہ اسپریڈ کے ساتھ چوڑے ہوتے ہیں۔ جب کوئی bid کو hit کرتا ہے تو میکر سستا خریدتا ہے؛ جب کوئی ask کو lift کرتا ہے تو میکر مہنگا بیچتا ہے؛ bid اور ask کے درمیان فرق میکر کی راؤنڈ ٹرپ آمدنی ہوتی ہے۔

یہ حکمتِ عملی آرڈر-فلو پر مبنی ہوتی ہے، سمتی نہیں۔ میکر اس بارے میں کوئی رائے نہیں رکھتا کہ YES جیتے گا یا نہیں؛ وہ یہ پوزیشن لیتا ہے کہ فلو آتا رہے گا اور اسپریڈ ادا ہوتا رہے گا۔

رسک adverse selection ہے: جو لوگ آپ کی bid hit کر رہے ہیں ان کے پاس وہ معلومات ہو سکتی ہیں جو آپ کے پاس نہیں۔ وقت کے ساتھ MM منافع اس بات پر منحصر ہوتے ہیں کہ اسپریڈ باخبر تاجروں کی سلپیج کو پورا کرنے کے لیے کافی چوڑا ہے یا نہیں۔

اسپریڈ + ریبیٹ ایج

پولی مارکیٹ میکر کے لیے آمدنی کے دو ذرائع ہیں۔

اسپریڈ کیپچر: 0.46 mid کے ارد گرد bid 0.45 اور ask 0.47 کوٹ کریں۔ bid پر ہر فِل جسے آپ بعد میں ask پر exit کر سکیں، 2 سینٹس کماتا ہے۔ خالص ایج فِل عدم توازن اور قیمت drift پر منحصر ہوتا ہے۔

میکر ریبیٹ: پولی مارکیٹ کا لیکویڈیٹی-rewards پروگرام اہل مارکیٹس میں میکر فِلز پر per-share ریبیٹ دیتا ہے۔ اعداد بدلتے رہتے ہیں؛ موجودہ اقدار کے لیے سرکاری rewards صفحہ چیک کریں۔ ریبیٹ ٹریڈ سے الگ، وقفے وقفے سے pUSD میں ادا کیا جاتا ہے۔

زیادہ تر مارکیٹس میں اسپریڈ کیپچر بڑی آمدنی کا ذریعہ ہوتی ہے۔ ریبیٹ اس وقت بامعنی ہوتا ہے جب آپ چوڑی مارکیٹس کوٹ کر سکیں (انتخابی سال، بڑے اسپورٹس playoffs) جہاں پولی مارکیٹ لیکویڈیٹی متوجہ کرنے کے لیے ریبیٹس بڑھاتا ہے۔

انوینٹری رسک اور جھکاؤ

ایک MM جو بار بار bid پر hit ہوتا ہے، long پوزیشن جمع کرتا ہے۔ رسک یہ ہے کہ mid نیچے آ جائے جبکہ انوینٹری long ہو؛ میکر اسپریڈ آمدنی کے باوجود پوزیشن پر نقصان اٹھاتا ہے۔

دفاع: کوٹ جھکاؤ (جب انوینٹری long ہو تو bid کو نیچے کریں، short ہو تو ask کو اوپر کریں، تاکہ یک طرفہ فِلز کی حوصلہ شکنی ہو); انوینٹری حد (اس سائیڈ پر کوٹنگ روک دیں جہاں آپ پہلے ہی بہت زیادہ long ہیں); فعال ری بیلنسنگ (جب انوینٹری حد پر ہو تو پوزیشن کم کرنے کے لیے کبھی کبھار اسپریڈ پار کریں)۔

ریاضی: اگر bid پر ہونے والے 60% فِلز قیمت کے 2 سینٹس منفی حرکت کرنے سے پہلے exit ہی نہیں کرتے، تو حکمتِ عملی صرف انہی فِلز پر نقصان میں ہے۔ جب فِل عدم توازن > 65/35 ہو تو جارحانہ طور پر جھکاؤ دیں۔

پولی مارکیٹ پر MM کب کام کرتا ہے (اور کب نہیں)

MM پولی مارکیٹ پر تب کام کرتا ہے جب تین شرائط پوری ہوں۔

  • لیکویڈ book: اتنی کوٹ مسابقت کہ آپ کا اسپریڈ مسابقتی ہو مگر صفر نہ ہو۔ 2024 انتخابی مارکیٹس، بڑے NFL/NBA میچز، BTC up/down 5m سب اہل قرار پاتے ہیں۔
  • دو طرفہ فلو: خریدار اور فروخت کنندہ دونوں فعال ہوں۔ یک طرفہ مارکیٹس (0.95+ کے قریب تقریباً resolved) میں میکر کے لیے کیپچر کرنے کو کچھ نہیں ہوتا۔
  • محدود قیمت حرکات: اسپریڈ کیپچرز کو 5-سینٹ اچھال کھا جائیں۔ مستحکم درمیانی حد کی مارکیٹس (0.40-0.60) سب سے موزوں ہوتی ہیں۔

MM ان صورتوں میں ناکام ہوتا ہے: خبروں سے چلنے والی مارکیٹس جہاں mid آپ کے دوبارہ کوٹ کرنے سے پہلے ہی اچھل جائے؛ غیر لیکویڈ books جہاں آپ ہی واحد کوٹ ہوں اور اگلی ٹریڈ 5 سطحوں تک چلی جائے؛ ریزولوشن-قریب مارکیٹس جہاں ایک سائیڈ 0 یا 1 کی طرف بڑھ رہی ہو۔

کوڈ ڈھانچہ: دونوں سائیڈز کو +/- N سینٹس پر کوٹ کرنا

سب سے سادہ قابلِ عمل میکر کے لیے سیوڈوکوڈ۔

SPREAD_CENTS = 2
INVENTORY_CAP_SHARES = 50

def make_loop(token_id):
    while True:
        book = fetch_book(token_id)
        mid = (book.best_bid + book.best_ask) / 2
        inv = chain_balance(token_id)

        # Skew: pull the side we are too long on
        bid_px = mid - SPREAD_CENTS/200 - (0.005 if inv > INVENTORY_CAP_SHARES * 0.6 else 0)
        ask_px = mid + SPREAD_CENTS/200 + (0.005 if inv < -INVENTORY_CAP_SHARES * 0.6 else 0)

        cancel_my_existing_quotes(token_id)
        if inv < INVENTORY_CAP_SHARES:
            place_gtc(token_id, side="BUY", price=bid_px, size=5)
        if inv > -INVENTORY_CAP_SHARES:
            place_gtc(token_id, side="SELL", price=ask_px, size=min(5, inv))
        time.sleep(2)

پروڈکشن میکرز یہ شامل کرتے ہیں: فی-سائیڈ انوینٹری ٹریکنگ، cancel-before-place ترتیب، دوبارہ-کوٹ وقفے پر جٹر تاکہ آپ قابلِ پیش گوئی نہ بنیں، adverse selection کے لیے kill-switch (اگلا حصہ)۔

خبروں کے بہاؤ کے مطابق کوٹس ایڈجسٹ کرنا

جب کوئی خبر کا واقعہ رونما ہوتا ہے، منصفانہ قیمت آپ کے کوٹس سے پہلے بدل جاتی ہے۔ جو MM خبروں کے بہاؤ کے دوران کوٹس واپس نہیں لیتا وہ چن لیا جاتا ہے۔

سگنل: آنے والی فِلز کی منسوخی کی شرح 30 سیکنڈز میں بنیادی سطح کے مقابلے میں تقریباً 3x سے اوپر اچھلنا، یا ایک وسیع تر event-stream کراس-چیک (پولی مارکیٹ Twitter/Discord، Bloomberg سرخی feed)۔ جب پتا چل جائے تو میکر 60-120 سیکنڈز کے لیے تمام کوٹس واپس لیتا ہے، نئے mid کو مستحکم ہونے دیتا ہے، پھر نئے مرکز کے گرد دوبارہ کوٹ کرتا ہے۔

سب سے سادہ عمل درآمد token کے لیے last-ٹریڈ-price stream دیکھتی ہے۔ rolling-window mean سے 2 standard deviations سے زیادہ اچھال ایک وقفہ متحرک کرتا ہے۔ بوٹ تب دوبارہ فعال ہوتا ہے جب قیمت 30+ سیکنڈز تک مستحکم ہو جائے۔

Adverse selection میں اچانک اضافہ ہونے پر بوٹ بند کرنا

سخت exit۔ اگر بوٹ کا آخری 50 فِلز کا فِل PnL اچانک منفی ہو جائے، تو کچھ نہ کچھ غلط ہے: یا تو مارکیٹ اب خبروں سے چلنے والی ہے اور آپ کو مارکیٹ میکنگ نہیں کرنی چاہیے، یا آپ کا اسپریڈ موجودہ adverse-selection سطح کے لیے بہت تنگ ہے۔

جو بند کرنے کی شرائط کوڈ میں شامل کرنی چاہئیں:

  • 5 مسلسل bid فِلز مگر کوئی ask فِل نہیں، اور پہلی فِل کے بعد mid > 1c نیچے ہو۔
  • آخری 25 راؤنڈ-ٹرپ فِلز پر حاصل شدہ PnL متوقع کے -25% سے نیچے ہو۔
  • WebSocket منقطع ہو یا باسی book کا پتا چلے۔
  • کسی بھی سائیڈ پر انوینٹری حد پر > 5 منٹ رہے۔

متحرک ہونے پر سب کچھ منسوخ کریں، انوینٹری کو مارکیٹ پر صاف کریں، 15+ منٹ کے لیے روک دیں۔ جس مارکیٹ میکر کے پاس kill switch نہیں ہوتا وہ اتار چڑھاؤ کے ادوار میں دستی اطلاع آنے تک نقصان کرتا رہے گا - اور یہ ہمیشہ آپ کے اندازے سے زیادہ وقت لیتا ہے۔

اکثر پوچھے گئے سوالات

کیا ایک خوردہ بوٹ واقعی پولی مارکیٹ پر market-making سے پیسہ کما سکتا ہے؟
کبھی کبھی، منتخب مارکیٹس میں۔ میکر ریبیٹ (ٹیکر فیس کا 20-25%) کے ساتھ 1-3 سینٹ اسپریڈ فی راؤنڈ ٹرپ حقیقی منافع میں مرکب ہو سکتا ہے۔ لیکن پولی مارکیٹ پر خبروں کا بہاؤ مارکیٹ کو سیکنڈز میں 20+ سینٹس منتقل کر سکتا ہے - تیز خبریں feed کے بغیر مارکیٹ میکر adversely selected ہو جاتا ہے۔ بہترین استعمال: لیکویڈ اسپورٹس مارکیٹس pre-game اور کم-خبر ادوار میں۔
پولی مارکیٹ پر مجھے کتنی چوڑی کوٹس دینی چاہئیں؟
کم از کم اتنی اسپریڈ جتنی بدترین متوقع adverse-selection کو پورا کرے۔ لیکویڈ اسپورٹس/سیاست کے لیے: mid سے فی سائیڈ 1-3 سینٹس۔ پتلی مارکیٹس کے لیے: 5+ سینٹس۔ اگر آپ اتنا تنگ کوٹ نہیں کر سکتے کہ دوسرے میکرز سے مقابلہ ہو سکے، مگر اتنا چوڑا بھی نہیں کہ حرکات کو برداشت کر سکیں، تو یہ مارکیٹ آپ کے لیے market-makeable نہیں ہے۔
مجھے کون سے انوینٹری limits set کرنے چاہئیں؟
جب تک آپ نے مہینوں تک منافع بخشی ثابت نہ کر لی ہو، ہر مارکیٹ پر سخت حد 50-200 USD رکھیں۔ انوینٹری کو غیر جانبدار کی طرف لانے کے لیے کوٹس جھکائیں - اگر آپ Yes جمع کر لیں، تو اپنا Yes bid کم کریں اور اپنا No ask کم کریں تاکہ No کی خریداری کی واپس حوصلہ افزائی ہو۔ ایک واحد مارکیٹ کو کبھی بھی آپ کے bankroll کے 20%+ تک نہ جانے دیں۔
کیا پولی مارکیٹ market-make کرنے کے لیے تیز VPS ضروری ہے؟
جی ہاں۔ مارکیٹ میکنگ، پولی مارکیٹ کی سب سے لیٹنسی-حساس حکمتِ عملی ہے۔ جٹر والی VPS باسی کوٹس پیدا کرتی ہے جو چن لی جاتی ہیں۔ ہم اپنے MM بوٹس کے لیے خاص طور پر TradingVPS استعمال کرتے ہیں کیونکہ جٹر مسلسل کم رہتی ہے۔ عام کلاؤڈ (DO/Vultr) پیپر ٹریڈنگ MM کے لیے تو ٹھیک ہے، لائیو کے لیے نہیں۔
پولی مارکیٹ MM کرپٹو MM سے کیسے مختلف ہے؟
دو بڑے فرق: (1) پولی مارکیٹ میں سخت نتیجہ ایونٹس (خبر، اسپورٹس اختتامیے) ہوتے ہیں جو قیمت کو فوری طور پر 30-100 سینٹس تک منتقل کر سکتے ہیں - کرپٹو سے کہیں زیادہ تیکھا۔ (2) پولی مارکیٹ مارکیٹس آخرکار طے ہوتے ہیں، اس لیے کرپٹو جوڑوں کے برعکس MM پوزیشنز کی سخت انقضا ہوتی ہے۔ یہ دونوں آپ کو مختصر مدت کے holds اور سخت تر رسک حدود کی طرف دھکیلتے ہیں۔
کیا میں پولی مارکیٹ پر 5-منٹ کرپٹو مارکیٹس market-make کر سکتا ہوں؟
ممکن ہے مگر بہت مشکل۔ 5-منٹ مارکیٹس میں فی جوڑا فی دن تقریباً 288 انقضا دیکھنے کو ملتی ہیں، تیز رفتار بوٹس غالب رہتے ہیں، اور اسپریڈز بھی تنگ تر ہوتے ہیں۔ زیادہ تر خوردہ MM بوٹس وہاں adverse selection کی وجہ سے پیسہ کھو دیتے ہیں۔ 5-منٹ کرپٹو حکمتِ عملی کو اس سیریز کے باب 23 میں درست طریقے سے احاطہ کیا جائے گا۔