Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

ऑप्शन closing mark कसा ठरवला जातो

Closing mark हा last sale, bid किंवा midpoint नसतो. दिवसअखेरीस तो कसा ठरतो, कमी व्यवहारात का बदलतो आणि त्याचा margin व datasetवर काय परिणाम होतो ते जाणून घ्या.

Option closing mark म्हणजे broker, clearing house किंवा data vendor एखाद्या contractला दिवसअखेरीस देत असलेले मूल्य. त्याच रात्री त्याच strikeसाठी हे तिन्ही स्रोत वेगवेगळे आकडे प्रसिद्ध करू शकतात. Mark म्हणजे शेवटचा विक्रीभाव नव्हे. कमी व्यवहार होणाऱ्या contractमध्ये त्या किमतीवर प्रत्यक्ष व्यवहार झालेला असेलच असे नाही. खालील स्तर एकेक करून स्पष्ट केले आहेत. सुरुवातीला daily options recordमधील आकडे दिले आहेत. त्यानंतर प्रत्येक स्तराचा margin, statement आणि datasetवर होणारा परिणाम सांगितला आहे.

ऑप्शनचा closing mark म्हणजे काय?

Mark म्हणजे मूल्यांकन. Trade म्हणजे व्यवहार. दिवसअखेरच्या option priceविषयीचा जवळजवळ प्रत्येक वाद या दोन गोष्टींना एकच संख्या मानण्यापासून सुरू होतो. तुम्ही पाहत असलेल्या price fieldमागे चार स्वतंत्र संकल्पना असतात.

  • Last sale. हा print असतो: प्रत्यक्ष व्यवहार, प्रत्यक्ष किंमतीवर, आणि तो कधी झाला याची वेळ नोंदवलेली. एखाद्या contractमध्ये सकाळी 10:14 वाजता एकदाच व्यवहार झाला आणि त्यानंतर पुन्हा व्यवहार झाला नाही, तर 4:00 वाजता price fieldमध्ये दिसणारी संख्या ही तरीही त्या 10:14च्या printचीच असते.
  • Closing quote. Bell वाजताना असलेला दोन बाजूंचा market: bid आणि offer, तसेच त्यांच्याशी संबंधित quantities. Thin strikeमध्ये या दोन्ही किंमतींमध्ये एक dollarचा फरक असू शकतो. त्यांचा midpoint हा दोन वेगवेगळ्या इच्छांचा सरासरी दर असतो.
  • Broker mark. तुमच्या statementवर दिसणारे मूल्यांकन. ते सामान्यतः closing quoteवर आधारित असते आणि नंतर modelच्या मर्यादांनुसार समायोजित केले जाते. Callला त्याच्या intrinsic valueपेक्षा कमी mark केले जात नाही. तसेच वेगवेगळ्या strikesवरील marksची क्रमवारी उलटी होऊ दिली जात नाही.
  • Clearing mark. संपूर्ण प्रणालीतील margin आणि settlementसाठी clearing house दिवसअखेर मोजते ते मूल्य. ते रचनेनुसार modelमधून मिळणारे output असते.

OCC आणि US options exchangesच्या प्रायोजकत्वाखालील शैक्षणिक विभाग असलेली Options Industry Council हीच भेदरेषा अधोरेखित करते: एखादा mark bid, offer, midpoint किंवा last saleवर येतो, ते केवळ योगायोगाने. या संकल्पनांना एकमेकांच्या जागी वापरल्यामुळे reconciliationचे काम चुकीचे ठरते.

शांत असलेला contract तरीही मूल्य का बदलतो

लक्षणापासून सुरुवात करूया. एखाद्या contractचे मूल्य आज वेगळे दिसते, जरी त्यात जवळजवळ कोणताही व्यवहार झालेला नसतो. शेवटच्या व्यवहारात काहीही बदललेले असण्याची गरज नाही. बदललेले असते ते त्या contractभोवतीचे quoted market आणि त्या quoteचे modelद्वारे केलेले मूल्यांकन.

या panelमध्ये जून 2026पर्यंतच्या पाच household underlyingsचा समावेश आहे. त्यात daily options fileमधील expiryला 7 ते 120 दिवस शिल्लक असलेल्या प्रत्येक contract-dayची मोजणी केली आहे आणि प्रत्येक contractमध्ये झालेल्या व्यवहाराच्या प्रमाणानुसार त्यांचे गट केले आहेत. या fileमधील एका मर्यादेमुळे चित्राची व्याप्ती ठरते: एखाद्या contractमध्ये print झालेला असेल, तरच तो contract-day fileमध्ये समाविष्ट केला जातो. त्यामुळे contract पूर्णपणे निष्क्रिय राहिलेली sessions मोजता येत नाहीत. मात्र, बदललेली closing value किती कमी tradingवर आधारित आहे, हे यातून दिसते.

क्वेरीकमी व्यवहार झालेल्या करार-दिवसांची संख्या आणि अंतिम मूल्य अजूनही किती वेळा बदलले
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    underlying,
    toUInt32(count())                               AS contract_day_count,
    round(100 * countIf(volume <= 10) / count(), 1) AS pct_thin_days,
    round(100 * countIf(volume <= 10 AND abs(mark - prior_mark) >= 0.01)
              / greatest(countIf(volume <= 10), 1), 1) AS pct_thin_marks_moved
FROM
(
    SELECT
        underlying,
        ticker,
        date,
        volume,
        mark,
        any(mark) OVER (PARTITION BY ticker ORDER BY date
                        ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_mark
    FROM
    (
        SELECT
            underlying_symbol            AS underlying,
            ticker,
            date,
            max(volume)                  AS volume,
            toFloat64(max(option_close)) AS mark
        FROM global_markets.options_greeks
        WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'SPY')
          AND date >= '2026-06-01'
          AND date <  '2026-07-01'
          AND days_to_expiry BETWEEN 7 AND 120
        GROUP BY underlying, ticker, date
    )
)
WHERE prior_mark > 0
GROUP BY underlying
ORDER BY pct_thin_days DESC
Run this yourself

या panelमधील सर्वात thin book KO आहे: त्या महिन्यातील त्याच्या contract-daysपैकी 38.2%मध्ये संपूर्ण sessionसाठी एकूण volume दहा contracts किंवा त्यापेक्षा कमी होते. या thin contract-daysपैकी 90.1%मध्ये त्या contractची closing value त्याच्या मागील नोंदवलेल्या sessionपेक्षा किमान एक pennyने वेगळी होती. सर्वात कमी thin days असलेले नाव NVDA आहे; तरीही त्याच्या contract-daysपैकी 21.8%मध्ये volume दहा contracts किंवा त्यापेक्षा कमी होते. मोजके lots खरेदी-विक्री झाल्यानंतर closing value बदलणे ही data error नाही. Mark म्हणजे हेच: contractमध्ये प्रत्यक्ष झालेलेल्या tradesवर नव्हे, तर त्या contractभोवती उपलब्ध असलेल्या marketवर आधारित ठरवलेले मूल्य.

समारोपाच्या वेळी शेवटचा व्यवहार किती जुना असतो?

समजा त्या contractमध्ये व्यवहार झाला. तरी price field समारोपाची किंमत दर्शवेलच असे नाही. पुढील panelमध्ये बुधवार, June 17, 2026 रोजी किमान एकदा व्यवहार झालेल्या AAPLच्या प्रत्येक contractचा त्या दिवसातील शेवटचा व्यवहार कोणत्या ET तासात झाला हे शोधले आहे आणि त्या तासानुसार contractsची संख्या मोजली आहे.

क्वेरीAAPL ऑप्शन करारांचा शेवटचा व्यवहार: 17 जून 2026
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    et_hour,
    toUInt32(contracts)                                     AS contract_count,
    round(100 * contracts / sum(contracts) OVER (), 1)      AS share_pct
FROM
(
    SELECT
        et_hour,
        count() AS contracts
    FROM
    (
        SELECT
            ticker,
            formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:00') AS et_hour
        FROM global_markets.options_trades
        WHERE underlying_symbol = 'AAPL'
          AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'America/New_York')
          AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'America/New_York')
        GROUP BY ticker
    )
    GROUP BY et_hour
)
ORDER BY et_hour
Run this yourself

शेवटचे व्यवहार 7 तासांच्या bucketsमध्ये पसरलेले आहेत—09:00 ते 15:00 ETपर्यंत. त्या दिवशी व्यवहार झालेल्या एकूण contractsपैकी 52.6% शेवटच्या bucketमध्ये आहेत, तर 3.7% पहिल्या bucketमध्ये आहेत. ज्या contractचा शेवटचा व्यवहार सकाळच्या bucketमध्ये झाला आहे, त्याची 4:00 p.m. समारोपाच्या वेळी नोंदवलेली last sale आधीच अनेक तास जुनी असते; या काळात शेअरची किंमत सतत बदलत राहिलेली असते. The moneyपासून दूर असलेले contracts आधी निष्क्रिय होतात. liquid आणि volatile optionsमधील फरक या दुव्यात एक strike दिवसभर का trade होतो, तर त्याच्या शेजारचा strike स्थिर का राहतो, हे स्पष्ट केले आहे.

स्ट्राइक ladderमध्ये mark कसा दिसतो

Marks एकावेळी एक मोजले जात नाहीत. मॉडेल संपूर्ण ladderचे एकाच वेळी मूल्यांकन करते. त्यामुळे ज्या strikeवर कधीही व्यवहार झाला नाही, त्यालाही शेजारच्या strikesशी सुसंगत अशी किंमत मिळते. खालील panel हा एका दिवसातील एका expiryचा आहे: July 17, 2026 रोजी expiry होणारे AAPL calls, June 17, 2026च्या closeवर मूल्यांकित केलेले आहेत. यात शेअर ज्या किंमतीवर बंद झाला, तिच्या 10%च्या मर्यादेत असलेले strikes घेतले आहेत.

क्वेरीAAPL 17 जुलै 2026 कॉल्स: स्ट्राइकनुसार अंतिम मूल्य आणि व्यवहाराचे प्रमाण
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    round(toFloat64(strike_price), 2)      AS strike,
    round(avg(toFloat64(option_close)), 2) AS closing_mark,
    toUInt32(sum(volume))                  AS contract_volume,
    round(avg(delta), 3)                   AS avg_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
  AND date = '2026-06-17'
  AND expiration_date = '2026-07-17'
  AND lower(toString(option_type)) LIKE 'c%'
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.10
GROUP BY strike
ORDER BY strike
Run this yourself

12 strikesमध्ये closing value 270 strikeवरील $27.43 वरून 325 वरील $0.79 पर्यंत घसरते. त्यासोबत deltaदेखील 1 वरून 0.092 पर्यंत कमी होते. शेअरच्या किंमतीत one dollarची हालचाल झाल्यास contractच्या valueमध्ये किती बदल होईल, याचा मॉडेलने केलेला अंदाज म्हणजे delta. आता volume columnची curveशी तुलना करा. त्या दिवशी प्रत्येक contractमध्ये कितीही व्यवहार झाले असले, तरी त्याची closing value स्वतःच्या शेवटच्या printने ठरवलेल्या पातळीवर नसते; ती शेजारच्या contractsच्या मूल्यांशी सुसंगत असते. option chain वाचताना तुम्हाला दिसणारी हीच ladder आहे, आणि तिच्यातील बहुतांश भाग मॉडेलवर आधारित असतो.

ब्रोकरच्या स्टेटमेंटवरील आकडा शेवटच्या व्यवहाराशी का जुळत नाही

स्टेटमेंटवरील Unrealized P&Lची गणना फर्मने निश्चित केलेल्या marksवर केली जाते. समान spread असलेली दोन खाती दोन वेगवेगळ्या फर्मकडे असतील, तर त्यांच्यावर त्याच रात्री वेगवेगळे Unrealized P&L दिसू शकतात. यापैकी कोणताही आकडा चुकीचा असेलच असे नाही.

Marginमध्ये हा फरक अधिक स्पष्टपणे जाणवतो. Short optionवरील maintenance requirementची गणना mark आणि underlyingच्या मूल्याच्या ठरावीक टक्केवारीवर आधारित असते. त्यामुळे mark बदलला की requirementही बदलते. Portfolio marginमध्ये यापुढे जाऊन underlyingमध्ये संभाव्य वाढ-घट दाखवणाऱ्या काल्पनिक gridवर positionचे पुन्हा मूल्यांकन केले जाते. त्या gridवरील सर्वात मोठा तोटा म्हणजे requirement. Gridवरील प्रत्येक किंमत ही model output असते. शांत strikeवरील wide quoteमुळे inputची व्याप्ती वाढते. म्हणून contractमध्ये त्या दिवशी कोणताही व्यवहार झाला नसतानाही requirement बदलू शकते. naked options विकण्यासाठी Marginमध्ये standard formulaचे स्पष्टीकरण दिले आहे.

Reconciliationही याच मुद्द्यावर आधारित असते. Chainमधून घेतलेल्या last saleऐवजी फर्मने प्रत्यक्ष वापरलेल्या markशी, त्या फर्मच्या स्वतःच्या time stampनुसार, तुलना करा. दोन आकडे जुळत नसतील, तर प्रत्येक बाजू कोणता data layer प्रकाशित करत आहे, हा उपयुक्त प्रश्न आहे.

4:00 आणि 4:15 वाजताचा क्लोज

प्रत्येक option एकाच वेळी थांबत नाही. US single-stock optionsचा व्यवहार 4:00 p.m. ETच्या equity closeसोबत संपतो, तर काही broad-market products त्यानंतरही ट्रेडिंग सुरू ठेवतात. लक्षात राहिलेल्या cut-offवर विसंबून राहण्याऐवजी, हा panel एका सत्रातील वर्तनाची तारीखवार नोंद करतो.

क्वेरीअंतर्निहित साधनानुसार दिवसातील शेवटचा ऑप्शन व्यवहार, 17 जून 2026
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    underlying_symbol AS underlying,
    formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i') AS last_print_et,
    round(100 * countIf(toTimeZone(sip_timestamp, 'America/New_York')
                        >= toDateTime('2026-06-17 16:00:00', 'America/New_York')) / count(), 2) AS pct_after_4pm
FROM global_markets.options_trades
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'SPY', 'QQQ', 'IWM')
  AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'America/New_York')
  AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'America/New_York')
GROUP BY underlying
ORDER BY pct_after_4pm DESC
Run this yourself

QQQ options 16:14 ETपर्यंत prints देत राहिले आणि दिवसातील 1.69% prints 4:00 p.m.नंतर झाले. दुसरीकडे, NVDA मध्ये 0% दिसते आणि अंतिम print 16:00ला झाला. हा panel नंतरच्या कोणत्याही सत्रावर चालवल्यास, त्या वेळी लागू असलेले cut-offs तो दाखवतो.

Hedged pairमध्ये हा फरक महत्त्वाचा ठरतो. उशिरा बंद होणारा option stock positionविरुद्ध धरल्यास, दोन्ही legsचे मूल्यांकन वेगवेगळ्या क्षणांवर होते: stock leg 4:00 p.m.ला closing auctionमधून निश्चित होते, तर option legला आणखी पंधरा मिनिटांच्या ट्रेडिंगचा समावेश होतो. बहुतेक दिवस हा फरक किरकोळ असतो. मात्र 4:05 p.m.ला एखादी महत्त्वाची बातमी आल्यास, दोन्ही marks वेगवेगळे क्षण दर्शवतात आणि प्रत्यक्षात hedgeमध्ये कोणताही बदल झाला नसतानाही statementवर P&Lमध्ये चढ-उतार दिसतो. Expirationमध्येही याच विभाजनाचे एक रूप दिसते. त्यात cash-settled index option कोणत्याही markवर नव्हे, तर गणना केलेल्या मूल्यावर settle होतो: AM विरुद्ध PM settled options याचे स्पष्टीकरण देते.

ऑप्शन्स डेटासेटमधील markचा अर्थ

mark म्हणजे fill नव्हे. शून्य volume असलेल्या strikeवर markच्या किमतीला व्यवहार झाला असे गृहीत धरणारा backtest अशा counterpartyची कल्पना करतो, जी प्रत्यक्षात अस्तित्वातच नव्हती. डेटासेट अचूक ठेवण्यासाठी चार सवयी उपयुक्त ठरतात.

  • last sale, quote आणि mark हे स्वतंत्र columnsमध्ये ठेवा आणि एकाच close columnला तिन्हींसाठी वापरू नका. एकाच strikeच्या closeबाबत दोन vendorsमध्ये मतभेद असल्यास, ते सहसा ते वेगवेगळे data layers प्रकाशित करत असल्याचे दर्शवते.
  • bid, offer आणि त्यांचे sizes markच्या शेजारी साठवा. bid-ask widthमुळे markमधील किती भाग modelवर आधारित आहे हे समजते.
  • केवळ last printची price नव्हे, तर त्याचा timestampही नोंदवा. price किती जुनी आहे हे कळत नसेल तर तिचे audit करता येत नाही.
  • implied volatility आणि greeksकडेही याच पद्धतीने पाहा. ज्या contractमध्ये कोणी व्यवहारच केलेला नाही, त्याची model value ही केवळ model value असते.
डेटा नोंदी

हे तीन panels बुधवार, June 17, 2026 रोजी जाणीवपूर्वक स्थिर केले आहेत: भूतकाळातील एक निश्चित session वापरल्यामुळे पुनर्निर्मिती करताना आकडे स्थिर राहतात आणि हा इतिहास roll off होत नाही. दैनिक options fileमध्ये ज्या प्रत्येक sessionमध्ये contractचा print झाला, त्या प्रत्येक contract-sessionसाठी एक row असते. त्यामुळे पहिला panel अजिबात volume नसलेल्या sessionsची संख्या मोजत नाही; तो एकूण volume ten contracts किंवा त्यापेक्षा कमी असलेले contract-days मोजतो. Strike ladderमधील closing values ही त्या fileमधील दैनिक closes आहेत. त्यापैकी कोणतीही price तुम्हाला प्रत्यक्षात ज्या किमतीला व्यवहार करता आला असता अशी समजू नका.

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

Option closing mark हा last sale priceसारखाच असतो का?

नाही. Last sale म्हणजे प्रत्यक्ष वेळेला झालेला प्रत्यक्ष व्यवहार. हा व्यवहार बाजार बंद होण्याच्या काही तास आधी झालेला असू शकतो. Closing mark म्हणजे बाजार बंद होताना निश्चित केलेले मूल्यांकन. ज्या contractमध्ये व्यवहार झाला नाही, त्यात हे दोन्ही भाव मोठ्या प्रमाणात वेगळे असू शकतात.

Optionमध्ये जवळजवळ कोणताही व्यवहार झाला नसताना त्याचे मूल्य का बदलले?

Mark हा quoted market आणि त्यामागील modelचा मागोवा घेतो. हे दोन्ही संपूर्ण सत्रात underlyingच्या हालचालीसोबत बदलतात. वरील panelमध्ये, सर्वात कमी व्यवहार असलेल्या nameच्या contract-daysपैकी 38.2% मध्ये एकूण volume दहा contracts किंवा त्याहून कमी होता. तरीही त्यापैकी 90.1% contract-daysचा शेवटचा मूल्यांकनभाव त्या contractच्या मागील नोंदवलेल्या सत्रापेक्षा वेगळा होता.

Marginसाठी माझा broker कोणता भाव वापरतो?

Last sale नव्हे, तर firmचा स्वतःचा mark वापरला जातो. Short optionवरील maintenance requirementची गणना त्या markवर आणि underlyingच्या मूल्याच्या एका टक्केवारीवर आधारित असते. Portfolio marginमध्ये काल्पनिक हालचालींच्या gridवर positionचे पुनर्मूल्यांकन केले जाते. या गणनेतील प्रत्येक input हे एक मूल्यांकन असते.

एकाच optionसाठी दोन data vendors वेगवेगळे closing prices का दाखवतात?

ते सामान्यतः वेगवेगळे स्तर प्रकाशित करत असतात. एका vendorचा close हा last sale असू शकतो, दुसऱ्याचा closing midpoint, तर तिसऱ्याचा model mark असू शकतो. सकाळी एखाद्या contractमध्ये एकदाच व्यवहार झाला असेल, तरी हे तिन्ही भाव वेगळे असू शकतात.

Option marksमध्ये 4:00 p.m.चा equity close झाल्यानंतरचे व्यवहार समाविष्ट असतात का?

काही marksमध्ये असतात. वरील panelमधील सत्रात, single-stock namesचे व्यवहार थांबलेले असतानाही QQQ optionsमध्ये 16:14 ETपर्यंत prints झाले. त्यामुळे त्या productsच्या end-of-day marksमध्ये हा अतिरिक्त कालावधी समाविष्ट होतो.


येथील प्रत्येक panel तयार करणारी SQL queryसोबत दिली जाते. त्यामुळे मोजला जाणारा स्तर queryमध्येच स्पष्ट दिसतो. Last saleच्या तुलनेत mark किंवा अंतिम printची वेळ यांसारखे तेच प्रश्न Strasmore terminalवर साध्या इंग्रजीत विचारता येतात.