Strasmore Research
शिक्षण Matt Connorद्वारे Matt Connor

तुमची Options Order भरली का जात नाही?

तुमची Options Order का भरत नाही: exchange priority, pro-rata वाटप, पुन्हा किंमत ठरणारी resting size आणि spreadsसाठी net-price routing समजून घ्या.

तुमची options order भरली का नाही, याचे कारण सामान्यतः अशा यंत्रणेत असते जी retail screenवर दिसत नाही: exchangeच्या allocation queueमध्ये तुमची order कुठे आहे, तुम्ही ज्या sizeमध्ये सहभागी झाला तो अजून उपलब्ध आहे का, market प्रत्यक्षात किती रुंद आहे आणि multi-leg orderची net price मुळात executable आहे का. Displayed quote हा क्षणभरापूर्वी कोणीतरी ज्या किंमतीवर व्यवहार करण्यास तयार होता त्याचा snapshot असतो. त्या किंमतीशी जुळल्यावर तुमची order रांगेत येते. मात्र ती रांगेच्या पुढे जात नाही.

Options quote म्हणजे त्या किंमतीवर व्यवहार करता येईल याची हमी असते का?

नाही. Quote ही दोन बाजूंची offer असते. ती पोस्ट करणारा पक्ष ती कोणत्याही क्षणी रद्द किंवा पुन्हा किंमतबद्ध करू शकतो. त्यासोबत दाखवलेली sizeही केवळ त्या क्षणापुरती लागू असते. सक्रियपणे quote होणाऱ्या underlyingमध्ये एका contractची bid आणि offer दर सेकंदाला अनेक वेळा बदलू शकते. दोन्ही बाजू काय दर्शवतात, हे आमच्या options bid-ask spread मार्गदर्शकात स्पष्ट केले आहे. Fill ठरण्यासाठी त्या quoteची कोणती आवृत्ती किती काळ टिकते, हे महत्त्वाचे असते.

खालील panelमध्ये 17 जून 2026 रोजी ETनुसार दुपारी 2:00:00 वाजता सुरू झालेल्या, 30 सेकंदांच्या एका निश्चित windowमध्ये Apple options contractsसाठी feedने नोंदवलेल्या प्रत्येक quote updateची सेकंदागणिक मोजणी केली आहे.

क्वेरीApple ऑप्शन्सचे कोट अपडेट्स, सेकंदागणिक, 17 जून 2026 रोजी दुपारी 2:00 ET
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') AS et_time,
    round(count() / 1000, 1)                                                 AS quote_updates_k,
    round(count() / uniqExact(ticker), 1)                                    AS updates_per_contract
FROM global_markets.cache_options_quotes
WHERE ticker IN
(
    SELECT ticker
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date = '2026-06-17'
)
  AND sip_timestamp >= toDateTime('2026-06-17 18:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-17 18:00:30', 'UTC')
GROUP BY et_time
ORDER BY et_time
Run this yourself

पहिल्या सेकंदात त्या contractsसाठी feedमध्ये सुमारे 0.9 हजार quote updates आले. म्हणजे त्या एका सेकंदात प्रत्येक contractसाठी साधारण 1.9 quotes पुन्हा प्रकाशित झाल्या. Order ticket इतक्या वेगाने प्रवास करत नाही. Clickचे exchangeवर messageमध्ये रूपांतर होईपर्यंत ती ज्या order bookमध्ये पोहोचते, तो book आधीच अनेक वेळा बदललेला असतो.

सर्वोत्तम किंमतीवर असणे म्हणजे रांगेत प्रथम असणे का?

केवळ त्यावरून तसे होत नाही. Stock exchanges प्रामुख्याने price-time priorityवर चालतात: समान किंमतीवर आधी आलेला पक्ष आधी trade करतो. Options exchanges यावर आणखी दोन नियम लागू करतात. Resting orders अडकण्याचे कारण हेच नियम आहेत.

सार्वजनिक ग्राहकांच्या ordersना प्रथम प्राधान्य मिळते. जवळपास प्रत्येक US options exchangeवर समान किंमतीवर असलेल्या market maker आणि professional ordersपेक्षा public customerची order आधी भरली जाते. हा भाग retail traderच्या बाजूने असतो.

Customer priorityनंतर allocation ही time orderने नव्हे, तर pro-rata पद्धतीने होते. येणारी order resting ordersमध्ये त्यांच्या sizeच्या प्रमाणात विभागली जाते. किंमत प्रथम पोस्ट करणाऱ्या पक्षासाठी काही exchanges लहान priority overlayही देतात. हिस्सा arrival time नव्हे, तर size ठरवते.

हे दोन्ही नियम एकत्र पाहिल्यास, 500 lotच्या शेजारी ठेवलेला 1 lot हा दोन ordersपैकी एक नसतो. तो एकूण 501 contractsपैकी एक contract असतो. येणारी 100 lotची order त्या किंमतीवर व्यवहार करूनही छोट्या orderला केवळ एक contract देऊ शकते.

खालील panelमध्ये 17 जून 2026 रोजी झालेल्या प्रत्येक Apple options tradeचे trade sizeनुसार वर्गीकरण केले आहे. त्यानंतर प्रत्येक वर्गातील दिवसाच्या printsचा हिस्सा आणि त्या वर्गातील दिवसाच्या contractsचा हिस्सा यांची तुलना केली आहे.

क्वेरी17 जून 2026 रोजी Apple ऑप्शन्सचे व्यवहार: ट्रेडच्या आकारानुसार प्रिंट्समधील वाटा विरुद्ध कॉन्ट्रॅक्ट्समधील वाटा
प्रत्येक आकड्यामागील अचूक SQL
WITH
    (
        SELECT count()
        FROM global_markets.options_trades
        WHERE underlying_symbol = 'AAPL'
          AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
          AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
    ) AS day_prints,
    (
        SELECT sum(size)
        FROM global_markets.options_trades
        WHERE underlying_symbol = 'AAPL'
          AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
          AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
    ) AS day_contracts
SELECT
    multiIf(size = 1,    '1 contract',
            size <= 5,   '2 to 5',
            size <= 20,  '6 to 20',
            size <= 100, '21 to 100',
                         'over 100')       AS size_bucket,
    round(100 * count()   / day_prints, 2) AS share_of_trades_pct,
    round(100 * sum(size) / day_contracts, 2) AS share_of_volume_pct
FROM global_markets.options_trades
WHERE underlying_symbol = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
GROUP BY size_bucket
ORDER BY min(size)
Run this yourself

एक-contract tradesनी दिवसातील 48.48% prints आणि बदललेल्या contractsपैकी 7.83% हिस्सा व्यापला. over 100 bucketमध्ये चित्र उलटे आहे: 0.44% printsमध्ये 16.67% volume होता. Pro-rata allocationमध्ये दुसरी संख्या महत्त्वाची असते, कारण आलेल्या orderपैकी किती हिस्सा एखाद्या resting orderपर्यंत पोहोचेल, हे ती ठरवते. Market makers सतत bid आणि offer दोन्ही quote करतात आणि त्याच वेळी inventory व्यवस्थापित करतात. हे आमच्या market makers पैसे कसे कमावतात या मार्गदर्शकात सविस्तर स्पष्ट केले आहे.

Midवर माझी options order का भरत नाही?

Mid ही अंकगणितीय किंमत आहे: bid अधिक ask, भागिले दोन. त्या किंमतीवर व्यवहार करणे कोणावरही बंधनकारक नसते. नेहमी उपलब्ध असलेल्या दोन किंमती म्हणजे naturals: तुम्ही खरेदी करत असाल तर ask आणि विक्री करत असाल तर bid. Natural आणि mid यांमधील प्रत्येक किंमत ही negotiation असते. दुसऱ्या बाजूच्या modelने contractची किंमत तुमच्या midpointच्या बाजूने ठरवली किंवा विरुद्ध व्यवहार करू इच्छिणारी दुसरी public order आली, तरच ती पूर्ण होते.

ही negotiation किती अंतर व्यापते, हे market किती रुंद आहे यावर अवलंबून असते. Contractच्या किंमतीनुसार ही रुंदी मोठ्या प्रमाणात बदलते. खालील panelमध्ये त्याच 30 सेकंदांच्या windowमधील प्रत्येक Apple options quote contractच्या किंमतीनुसार गटबद्ध केली आहे. त्यात centsमधील median quoted spread आणि midच्या टक्केवारीतील तोच spread दाखवला आहे.

क्वेरीApple ऑप्शन्सवरील कॉन्ट्रॅक्ट किमतीनुसार मध्यक कोटेड स्प्रेड, 17 जून 2026 रोजी 30 सेकंदांची विंडो
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    price_bucket,
    round(quantileExact(0.5)(spread) * 100, 1)       AS median_spread_cents,
    round(quantileExact(0.5)(100 * spread / mid), 1) AS spread_pct_of_mid
FROM
(
    SELECT
        toFloat64(ask_price) - toFloat64(bid_price)       AS spread,
        (toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
        multiIf(mid < 0.50,  'under $0.50',
                mid < 2.00,  '$0.50 to $2',
                mid < 5.00,  '$2 to $5',
                mid < 15.00, '$5 to $15',
                             '$15 and up')                AS price_bucket,
        multiIf(mid < 0.50, 1, mid < 2.00, 2, mid < 5.00, 3, mid < 15.00, 4, 5) AS bucket_order
    FROM global_markets.cache_options_quotes
    WHERE ticker IN
    (
        SELECT ticker
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'AAPL'
          AND date = '2026-06-17'
    )
      AND sip_timestamp >= toDateTime('2026-06-17 18:00:00', 'UTC')
      AND sip_timestamp <  toDateTime('2026-06-17 18:00:30', 'UTC')
      AND bid_price > 0
      AND ask_price > bid_price
)
GROUP BY price_bucket
ORDER BY min(bucket_order)
Run this yourself

under $0.50 bucketमधील contractsचा median spread 17 cents होता. तो midच्या 75% इतका ठरतो. $15 and up bucketमधील contractsचा spread 170 cents होता, म्हणजे midच्या 3.8%. Centsमध्ये महाग contractचा quote अधिक रुंद दिसतो. मात्र टक्केवारीत स्वस्त contractचा market मोठ्या फरकाने अधिक रुंद आहे. त्याच्या midpointवर resting order ठेवणे म्हणजे counterpartyने त्या spreadचा मोठा हिस्सा सोडावा, अशी अपेक्षा करणे होय. Liquidity आणि volatility या रुंदीवर वेगवेगळ्या दिशेने परिणाम करतात. एकाच underlyingवरील दोन contractsची हालचाल पूर्णपणे वेगळी असू शकते.

Market order विरुद्ध limit order निवडल्यावर pricingचा प्रश्न दूर होतो; मात्र त्याऐवजी वेगळा प्रश्न निर्माण होतो. Market order त्या क्षणी order bookमध्ये उपलब्ध असलेल्या कोणत्याही किंमतीवर trade करते. Thin options seriesमध्ये ही किंमत तुमच्या screenवर दिसलेल्या शेवटच्या quoteपासून अनेक ticks दूर असू शकते.

दोन्ही legs executable दिसत असतानाही spread का भरत नाही?

Multi-leg order दोन single-leg booksमध्ये बसत नाही. ती complex order bookकडे पाठवली जाते आणि तिच्या net priceवर package म्हणून match केली जाते. Exchange ती दुसऱ्या complex orderविरुद्ध भरते किंवा single-leg booksमधील एकत्रित किंमत तुमच्या net priceपेक्षा चांगली असल्यास त्या booksविरुद्ध भरते. संपूर्ण packageची किंमत ठरेपर्यंत दोन्हीपैकी काहीही होत नाही.

दोन legsच्या call spreadचे काल्पनिक उदाहरण घ्या. Long legची quote $1.20 bid आणि $1.35 ask आहे. Short legची quote $0.60 bid आणि $0.72 ask आहे. Naturalsवर package खरेदी करण्याची किंमत $1.35 वजा $0.60, म्हणजे $0.75 debit आहे. Naturalsवर विक्री केल्यास $1.20 वजा $0.72, म्हणजे $0.48 credit मिळतो. Packageवरील net market $0.48 bid आणि $0.75 ask आहे. त्याचा midpoint $0.615 आहे. Legs स्वतंत्रपणे पाहिल्याने $0.62 executable आहे की नाही, हे कळत नाही. Combined bookची स्वतःची दोन बाजूंची market आणि स्वतःच्या resting orders असतात.

यातून दोन गोष्टी स्पष्ट होतात. Single-leg screenवर एखादा leg तुमच्या किंमतीवर trade झाला, तरी तुमचा spread भरला जाईलच असे नाही. तुमची order सुरुवातीपासून त्या bookमध्ये resting नव्हती. Legच्या किंमतींवर, net termsऐवजी, spreadची किंमत ठरवणे म्हणजे अस्तित्वात नसलेल्या bookविरुद्ध किंमत ठरवणे होय.

Zero volume असलेल्या strikeवर order का भरत नाही?

काहीही बिघडलेले नसते. बहुतेक listed strikesवर बहुतेक दिवस व्यवहार होत नाहीत. Exchangeने उघडलेला प्रत्येक strike chainमध्ये दिसतो. त्यापैकी बहुतांश strikesवर quote असते, पण प्रत्यक्ष trade होत नाही; कधी कधी अनेक आठवडेही तसेच राहते. Volume म्हणजे आज हात बदललेल्या contractsची संख्या. Open interest म्हणजे अजून outstanding असलेल्या positionsची संख्या. या दोन्हीतील फरक आमच्या options volume विरुद्ध open interest स्पष्टीकरणात दिला आहे.

खालील panelमध्ये बाहेरील strikesवरील कमी liquidity मोजली आहे. मे आणि जून 2026मध्ये expiryला 20 ते 45 दिवस शिल्लक असलेले प्रत्येक Apple contract घेतले आहे. त्या दिवशी strike underlying priceपासून किती दूर होता, यानुसार त्यांचे गट केले आहेत. त्यानंतर median daily volume आणि 10पेक्षा कमी contractsचे prints झालेल्या contract daysचा हिस्सा दाखवला आहे.

क्वेरीस्ट्राइकपासूनच्या अंतरानुसार Apple ऑप्शन्समधील हालचाल, एक्सपायरीस 20 ते 45 दिवस, मे आणि जून 2026
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    moneyness_bucket,
    round(quantileExact(0.5)(toFloat64(volume)), 0) AS median_daily_volume,
    round(100 * countIf(volume < 10) / count(), 1)  AS share_under_10_lots_pct
FROM
(
    SELECT
        abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS gap,
        multiIf(gap < 0.02, '0% to 2% from spot',
                gap < 0.05, '2% to 5% from spot',
                gap < 0.10, '5% to 10% from spot',
                gap < 0.20, '10% to 20% from spot',
                            'more than 20% from spot') AS moneyness_bucket,
        multiIf(gap < 0.02, 1, gap < 0.05, 2, gap < 0.10, 3, gap < 0.20, 4, 5) AS bucket_order,
        volume
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date >= '2026-05-01'
      AND date <  '2026-07-01'
      AND days_to_expiry BETWEEN 20 AND 45
      AND underlying_close > 0
)
GROUP BY moneyness_bucket
ORDER BY min(bucket_order)
Run this yourself

0% to 2% from spot contractsचा median daily volume 354 contracts होता. त्यापैकी 2% contract daysमध्ये 10पेक्षा कमी contractsचे prints झाले. more than 20% from spot contractsमध्ये median daily volume दररोज 6 contracts होता. त्या गटातील 55.4% contract daysमध्ये 10पेक्षा कमी contractsचे prints झाले. अशा strikeवर resting order ठेवली तर येत नसलेल्या flowची वाट पाहावी लागते. एकमेव standing counterparty बहुधा सुरुवातीला तो strike quote करणारा market maker असतो.

Order ticketबाबत या यंत्रणेचा अर्थ

  • Spreadची किंमत netवर ठरते. Complex book packagesना match करते. Single-leg priceला त्या bookमध्ये स्वतंत्र standing अर्थ नसतो.
  • Mid हा anchor म्हणून उपयोगी असतो. रुंद marketमध्ये नेहमी उपलब्ध असलेल्या दोन किंमती naturals असतात: खरेदीसाठी ask आणि विक्रीसाठी bid.
  • Pro-rata fillमध्ये मिळणारा हिस्सा size ठरवते. मोठ्या ordersच्या शेजारी ठेवलेल्या 1 lotला आलेल्या व्यवहारातील प्रमाणानुसार हिस्सा मिळतो.
  • शांत strike हा orderचा प्रश्न होण्यापूर्वी quoteचा प्रश्न असतो. त्याच्याशी match होण्यासाठी कोणताही flow येत नसतो.

वारंवार विचारले जाणारे प्रश्न

Bidवर असतानाही माझी options limit order का भरत नाही?

Bidमध्ये सहभागी झाल्यावर तुमची order त्या किंमतीच्या queueमध्ये येते. Options exchanges fillsचे allocation customer status आणि sizeनुसार करतात; केवळ arrival timeनुसार नाही. तुमच्या orderच्या शेजारी खूप मोठ्या orders असतील, तर व्यवहार झाल्यावर तुम्हाला त्यातील प्रमाणानुसार हिस्सा मिळतो. छोट्या printमध्ये हा हिस्सा roundingमुळे शून्यही होऊ शकतो.

Options exchanges orders आल्याच्या क्रमाने भरतात का?

बहुतेक वेळा नाही. समान किंमतीवर public customer ordersना market maker आणि professional ordersपेक्षा प्राधान्य मिळते. उरलेली size साधारणतः प्रत्येक resting orderच्या sizeच्या प्रमाणात pro-rata पद्धतीने वाटली जाते. किंमत प्रथम पोस्ट करणाऱ्या पक्षासाठी काही exchanges priority overlay देतात.

Options orderमध्ये naturalला पैसे देणे म्हणजे काय?

Natural म्हणजे marketच्या तुमच्या बाजूला आधीच दाखवलेली किंमत. तुम्ही खरेदी करत असाल तर ask आणि विक्री करत असाल तर bid. Naturalवरची order सध्याच्या quoteविरुद्ध executable असते. Midवरची order मात्र दुसऱ्या बाजूने किंमत सुधारण्याची वाट पाहते.

Zero volume असलेला option कधीही fill न होणे सामान्य आहे का?

होय. बहुतेक listed strikesवर बहुतेक दिवस व्यवहार होत नाही. अशा strikeवरची resting order येत नसलेल्या flowसाठी स्पर्धा करते. तेथे दिसणारी quote साधारणतः market makerची obligation असते. ती किंमत त्या क्षणी market makerला स्वीकारायची आहे की नाही, यावर fill अवलंबून असते.

हे panels कसे तयार केले

दोन्ही quote panelsमध्ये 17 जून 2026 रोजी ETनुसार दुपारी 2:00:00 ते 2:00:30 या एका निश्चित 30 सेकंदांच्या windowचा डेटा वापरला आहे. त्या तारखेला daily greeks record असलेल्या Apple option contractsपुरताच डेटा मर्यादित ठेवला आहे. Window निश्चित ठेवल्याने post प्रत्येक वेळी पुन्हा तयार झाल्यावर हे आकडे स्थिर राहतात. Strike censusमध्ये मे आणि जून 2026चा डेटा घेतला आहे. अजिबात volume नोंदवलेले नसलेले contractsही जाणीवपूर्वक ठेवले आहेत. Listed strikeवर किती वेळा व्यवहार होत नाही, हेच त्या panelमध्ये मोजले आहे. Stored timestamps UTCमध्ये आहेत. प्रत्येक queryमध्ये त्यांचे Eastern timeमध्ये रूपांतर केले जाते.


वरील प्रत्येक panelखाली त्याच measurementसाठी अचूक SQL दिलेले आहे. तुम्ही follow करत असलेल्या contractवर हीच मोजमापे चालवण्यासाठी Strasmore terminalवर प्रश्न साध्या इंग्रजीत विचारा.

#options#order fills#market makers#liquidity#priority