Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Option closing mark کیسے طے ہوتا ہے

Option closing mark آخری sale، bid یا midpoint نہیں ہوتا۔ جانیں end-of-day marks کیسے طے ہوتے ہیں، کم volume میں کیوں بدلتے ہیں اور کیا متاثر کرتے ہیں۔

Option closing mark وہ end-of-day value ہے جو کوئی broker، clearing house یا data vendor کسی contract کو assign کرتا ہے۔ ایک ہی رات، ایک ہی strike کے لیے یہ تینوں ادارے تین مختلف numbers publish کر سکتے ہیں۔ Mark، last sale نہیں ہوتا۔ خاموش contract میں عموماً یہ ایسی price بھی نہیں ہوتی جس پر کسی نے trade کیا ہو۔ ذیل کی layers ایک ایک کرکے الگ ہوتی ہیں۔ پہلے daily options record کے numbers دیے گئے ہیں، پھر بتایا گیا ہے کہ ہر layer margin، statement اور dataset کو کیسے متاثر کرتی ہے۔

Option closing mark کیا ہے؟

Mark ایک valuation ہوتا ہے، جبکہ trade ایک transaction ہوتا ہے۔ End-of-day option price کے بارے میں تقریباً ہر اختلاف اسی وقت شروع ہوتا ہے جب ان دونوں کو ایک ہی number سمجھ لیا جائے۔ آپ جس price field کو دیکھ رہے ہیں، اس کے پیچھے چار الگ objects ہوتے ہیں۔

  • Last sale۔ یہ ایک print ہوتا ہے: حقیقی trade، حقیقی price پر، اور trade کے وقت کے ساتھ درج شدہ۔ اگر کسی contract میں صبح 10:14 بجے صرف ایک trade ہوا ہو اور اس کے بعد دوبارہ کوئی trade نہ ہوا ہو، تو شام 4:00 بجے price field میں موجود number پھر بھی وہی 10:14 کا print ہوگا۔
  • Closing quote۔ Bell کے وقت موجود two-sided market، جس میں bid اور offer کے ساتھ ان کے sizes بھی درج ہوتے ہیں۔ Thin strike میں یہ دونوں ایک dollar کے فرق پر ہو سکتے ہیں، اور ان کے درمیان midpoint دو مختلف intentions کا average ہوتا ہے۔
  • Broker mark۔ آپ کے statement پر درج valuation، جو عموماً closing quote سے تیار کی جاتی ہے اور پھر model کی پابندیوں کے تابع ہوتی ہے۔ Call کو اس کی intrinsic value سے کم mark نہیں کیا جاتا، اور مختلف strikes پر marks کی ترتیب کو الٹنے کی اجازت نہیں ہوتی۔
  • Clearing mark۔ End-of-day value جو clearing house پورے system میں margin اور settlement کے لیے calculate کرتا ہے۔ یہ بنیادی طور پر model output ہوتا ہے۔

Options Industry Council، جو OCC اور US options exchanges کی sponsored education arm ہے، بھی یہی فرق بیان کرتا ہے: Mark کا bid، offer، midpoint یا last sale پر آنا محض اتفاق ہوتا ہے۔ ایک کو دوسرے کے برابر سمجھنا ہی وہ مقام ہے جہاں reconciliation کا کام غلط سمت میں چلا جاتا ہے۔

خاموش contract کی قدر پھر بھی کیوں بدلتی ہے

علامت سے آغاز کریں۔ آج کسی contract کی value مختلف دکھائی دیتی ہے، جبکہ اس میں تقریباً کوئی trading نہیں ہوئی۔ ضروری نہیں کہ آخری sale میں کوئی تبدیلی آئی ہو۔ تبدیلی اس کے گرد موجود quoted market اور اس quote کو پڑھنے والے model میں آئی ہے۔

یہ panel جون 2026 تک پانچ معروف underlyings کے data کا جائزہ لیتا ہے۔ یہ daily options file میں ان تمام contract-days کو شمار کرتا ہے جن کی expiry میں 7 سے 120 دن باقی تھے، پھر انہیں اس بنیاد پر تقسیم کرتا ہے کہ ہر contract میں کتنی trading ہوئی۔ File کی ایک حد دائرہ کار طے کرتی ہے: یہ صرف اسی وقت contract-day شامل کرتی ہے جب اس contract میں کوئی print ہوا ہو۔ اس لیے یہ ان sessions کو شمار نہیں کر سکتی جن میں contract مکمل طور پر خاموش رہا۔ تاہم یہ دکھا سکتی ہے کہ اس closing value کے پیچھے trading کتنی کم تھی جو پھر بھی تبدیل ہوئی۔

استفسار کریںکم ٹریڈ ہونے والے contract-days، اور اختتامی قدر کے پھر بھی حرکت کرنے کی شرح
ہر عدد کے پیچھے موجود درست 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 کا total volume دس contracts یا اس سے کم رہا، اور ان thin contract-days میں 90.1% پر closing value اس contract کے پچھلے recorded session سے کم از کم ایک penny دور رہی۔ سب سے کم thin days والے نام، NVDA، میں بھی 21.8% contract-days کا volume دس contracts یا اس سے کم رہا۔ جب صرف چند lots ہاتھ بدلیں اور closing value تبدیل ہو جائے تو یہ data error نہیں ہوتا۔ یہی mark کی حقیقت ہے: یہ contract کے اندر ہونے والی trades سے نہیں بلکہ اس کے گرد قائم market سے اخذ کی گئی value ہوتی ہے۔

اختتامی وقت پر آخری sale کتنی پرانی ہے؟

فرض کریں کہ contract میں واقعی trade ہوئی تھی۔ تب بھی price field لازماً closing price کو ظاہر نہیں کرتی۔ اگلا panel بدھ، 17 جون 2026 کو کم از کم ایک بار print ہونے والے ہر AAPL contract کو دیکھتا ہے، یہ معلوم کرتا ہے کہ دن کا آخری print کس ET hour میں ہوا، اور پھر contracts کو اس hour کے حساب سے شمار کرتا ہے۔

استفسار کریںAAPL option contracts کی آخری print کا وقت، 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

آخری prints 7 hourly buckets میں پھیلے ہوئے ہیں، جو 09:00 سے 15:00 ET تک ہیں۔ آخری bucket میں ان تمام contracts میں سے 52.6% شامل ہیں جن میں کوئی trade ہوئی، جبکہ پہلے bucket میں 3.7% شامل ہیں۔ جس contract کا آخری print صبح کے bucket میں ہو، اس کی last sale 4:00 p.m. close تک کئی گھنٹے پرانی ہو چکی ہوتی ہے، جبکہ اس دوران stock مسلسل حرکت کرتا رہا ہوتا ہے۔ Far-from-the-money contracts میں trading سب سے پہلے خاموش پڑتی ہے، اور liquid اور volatile options میں بتایا گیا ہے کہ ایک strike پورا دن trade کیوں کرتا رہتا ہے جبکہ اس کا پڑوسی strike ساکت رہتا ہے۔

ایک strike ladder میں mark کی شکل

Marks الگ الگ ایک ایک کر کے calculate نہیں کیے جاتے۔ ایک model پوری ladder کو بیک وقت value کرتا ہے۔ اسی لیے جو strike کبھی trade بھی نہ ہوا ہو، اسے بھی اپنے پڑوسی strikes سے مطابقت رکھنے والی value ملتی ہے۔ نیچے دیا گیا panel ایک ہی دن کی ایک expiry دکھاتا ہے: AAPL calls، جن کی expiry July 17, 2026 ہے، اور جن کی valuation June 17, 2026 کے close پر کی گئی ہے۔ اس میں صرف وہ strikes شامل ہیں جو stock کے close ہونے کی سطح سے 10% کے اندر ہیں۔

استفسار کریںAAPL کے 17 جولائی 2026 calls: اختتامی قدر اور volume، ہر strike کے لحاظ سے
ہر عدد کے پیچھے موجود درست 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 ہو جاتا ہے۔ Delta اس بات کا model estimate ہے کہ stock میں ایک dollar کی حرکت سے contract کی value کتنی تبدیل ہوگی۔ اب volume column کو curve کے مقابل پڑھیں۔ اس دن ہر contract نے چاہے جتنے بھی trades کیے ہوں، اس کی closing value اپنے پڑوسی contracts کے مطابق رہتی ہے، نہ کہ اس آخری print کے مطابق جس پر خود اس contract کی trading ختم ہوئی تھی۔ یہی وہ ladder ہے جس کا سامنا آپ option chain پڑھتے وقت کرتے ہیں، اور اس کا بیشتر حصہ model سے آتا ہے۔

بروکر statement میں last sale سے اختلاف کیوں ہوتا ہے

Statement پر Unrealized P&L کا حساب فرم کے استعمال کردہ marks کی بنیاد پر کیا جاتا ہے۔ ایک ہی spread رکھنے والے دو accounts، اگر دو مختلف firms میں ہوں، تو ایک ہی رات کو مختلف Unrealized P&L دکھا سکتے ہیں، اور دونوں میں سے کوئی بھی عدد غلط نہیں ہوتا۔

اصل مسئلہ margin کا ہے۔ Short option پر maintenance requirement کا حساب mark اور underlying value کے ایک فیصد کی بنیاد پر کیا جاتا ہے، اس لیے mark کے ساتھ requirement بھی بدلتی رہتی ہے۔ Portfolio margin میں یہ عمل مزید آگے بڑھ جاتا ہے۔ Position کو underlying میں ممکنہ اوپر اور نیچے کی تبدیلیوں کے ایک grid پر دوبارہ value کیا جاتا ہے، اور requirement اس grid میں ہونے والے بدترین loss کے برابر ہوتی ہے۔ اس grid پر موجود ہر price model کا output ہوتی ہے، جبکہ کسی کم traded strike پر وسیع quote input کو مزید پھیلا دیتا ہے۔ یہی وجہ ہے کہ contract میں کوئی trade نہ ہونے کے باوجود بھی requirement تبدیل ہو سکتی ہے۔ Naked options فروخت کرنے کے لیے Margin standard formula کی وضاحت کرتا ہے۔

Reconciliation بھی اسی نکتے سے واضح ہوتی ہے۔ اس mark کو بنیاد بنائیں جسے فرم نے حقیقتاً استعمال کیا تھا، اور اسی فرم کے time stamp کے مطابق، نہ کہ chain سے حاصل کردہ last sale کے مطابق۔ جب دو اعداد میں اختلاف ہو تو مفید سوال یہ ہے کہ ہر فریق کس layer کا data شائع کر رہا ہے۔

4:00 اور 4:15 کا اختتام

ہر option ایک ہی منٹ پر trading بند نہیں کرتا۔ US single-stock options، 4:00 p.m. ET پر equity market کے اختتام کے ساتھ بند ہو جاتے ہیں، جبکہ کئی broad-market products اس کے بعد بھی trading جاری رکھتے ہیں۔ یادداشت میں محفوظ کسی cut-off پر بھروسا کرنے کے بجائے panel ایک session کی بنیاد پر اس رویے کی تاریخ متعین کرتا ہے۔

استفسار کریںunderlying کے لحاظ سے دن کی آخری option print، 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 دینا جاری رکھا، جبکہ دن کے prints میں سے 1.69%، 4:00 p.m. کے بعد ہوئے۔ دوسری جانب، NVDA میں 0% دکھائی دیتے ہیں اور آخری print 16:00 پر ہوا۔ panel کو کسی بعد کے session پر چلانے سے اس وقت نافذ cut-offs رپورٹ ہو جاتے ہیں۔

Hedged pair میں یہ فرق اہم ہوتا ہے۔ کسی stock position کے مقابل late-closing option رکھیں تو دونوں legs کی marking مختلف اوقات کی عکاسی کرتی ہے: stock leg کو 4:00 p.m. پر closing auction سے باہر طے کر دیا جاتا ہے، جبکہ option leg مزید پندرہ منٹ کی trading کو شامل کرتا ہے۔ زیادہ تر دنوں میں یہ معمولی noise ہوتی ہے۔ لیکن 4:05 p.m. کی headline والے session میں دونوں marks مختلف لمحات بیان کرتے ہیں، اور ایسا hedge جو کبھی حرکت نہیں کرتا، statement میں P&L swing دکھا سکتا ہے۔ Expiration میں بھی اس تقسیم کی ایک صورت ہوتی ہے، جہاں cash-settled index option کسی بھی mark کے بجائے calculated value پر settle ہوتا ہے: AM اور PM settled options اس کی وضاحت کرتا ہے۔

Options dataset میں mark کا مطلب

Mark، fill نہیں ہوتا۔ ایسے strike پر mark پر execution فرض کرنے والا backtest، جہاں volume صفر ہو، ایک ایسے counterparty کو فرض کرتا ہے جو کبھی موجود ہی نہیں تھا۔ Dataset کو قابلِ اعتماد رکھنے کے لیے چار عادات ضروری ہیں۔

  • Last sale، quote اور mark کو الگ الگ columns میں محفوظ کریں، اور کبھی ایک close column کو تینوں کا نمائندہ نہ بنائیں۔ ایک ہی strike کی closing value پر دو vendors کا اختلاف عموماً اس بات کی علامت ہوتا ہے کہ وہ data کی مختلف layers شائع کر رہے ہیں۔
  • Bid، offer اور sizes کو mark کے ساتھ محفوظ کریں۔ Bid-ask width بتاتی ہے کہ mark میں model کی بنیاد کتنی ہے۔
  • صرف اس کی price نہیں، بلکہ آخری print کا timestamp بھی محفوظ کریں۔ جس price کے ساتھ اس کی عمر معلوم نہ ہو، اس کا audit نہیں کیا جا سکتا۔
  • Implied volatility اور greeks کے ساتھ بھی یہی اصول اپنائیں۔ جس contract میں کسی نے trade ہی نہ کیا ہو، اس کی model value صرف model value ہے۔
Data notes

تینوں panels کو جان بوجھ کر Wednesday June 17, 2026 پر مقرر کیا گیا ہے: ایک مقررہ سابقہ session دوبارہ generation کے دوران numbers کو مستحکم رکھتا ہے، اور یہ history roll off نہیں ہوتی۔ Daily options file میں ہر ایسے session کے لیے ہر contract کی ایک row ہوتی ہے جس میں اس contract کا print ہوا ہو۔ اس لیے پہلا panel ایسے contract-days شمار کرتا ہے جن کا total volume ten contracts یا اس سے کم تھا، نہ کہ ایسے sessions جن میں volume بالکل نہیں تھا۔ Strike ladder میں closing values اسی file کی daily closes ہیں، اور ان میں سے کوئی بھی ایسی price نہیں جس پر آپ trade کر سکتے تھے۔

اکثر پوچھے جانے والے سوالات

کیا option closing mark، last sale price کے برابر ہوتا ہے؟

نہیں۔ Last sale ایک حقیقی وقت پر ہونے والی حقیقی trade ہوتی ہے، جو market close سے کئی گھنٹے پہلے بھی ہو سکتی ہے۔ Closing mark، close کے وقت مقرر کی جانے والی valuation ہوتی ہے۔ جو contract trade نہ ہوا ہو، اس میں دونوں قیمتوں کے درمیان خاصا فرق ہو سکتا ہے۔

جب میرے option میں تقریباً کوئی trading نہیں ہوئی تو اس کی value کیوں بدل گئی؟

Mark، quoted market اور اس کے پیچھے موجود model کو track کرتا ہے، اور دونوں پورے session کے دوران underlying کے ساتھ حرکت کرتے ہیں۔ اوپر موجود panel میں سب سے کم traded نام کے contract-days میں سے 38.2% کا total volume دس contracts یا اس سے کم تھا۔ اس کے باوجود ان میں سے 90.1% اپنے پچھلے recorded session سے مختلف value پر ختم ہوئے۔

میرا broker margin کے لیے کون سی price استعمال کرتا ہے؟

Firm کا اپنا mark، نہ کہ last sale۔ Short option پر maintenance requirement اسی mark اور underlying value کے ایک فیصد کی بنیاد پر calculate کی جاتی ہے۔ Portfolio margin فرضی price movements کی ایک grid کے تحت position کی دوبارہ valuation کرتا ہے۔ اس calculation میں شامل ہر input ایک valuation ہوتا ہے۔

ایک ہی option کی closing prices دو data vendors مختلف کیوں دکھاتے ہیں؟

وہ عموماً مختلف layers publish کر رہے ہوتے ہیں۔ ایک vendor کی close last sale ہو سکتی ہے، دوسرے کی closing midpoint، اور تیسرے کی model mark۔ اگر کسی contract میں صبح صرف ایک بار trade ہوئی ہو تو تینوں prices مختلف ہو سکتی ہیں۔

کیا option marks، 4:00 p.m. کے equity close کے بعد کی trading کو بھی شامل کرتے ہیں؟

کچھ marks ایسا کرتے ہیں۔ اوپر موجود panel کے session میں QQQ options نے 16:14 ET تک prints دیے، جبکہ single-stock names کی trading پہلے ہی رک چکی تھی۔ ان products کے end-of-day marks میں یہ اضافی window بھی شامل ہوتی ہے۔


یہاں موجود ہر panel اس کے لیے استعمال ہونے والی SQL کے ساتھ فراہم کیا جاتا ہے، اس لیے query خود واضح کرتی ہے کہ کون سی layer measure کی جا رہی ہے۔ یہی سوالات — mark کو last sale کے مقابل رکھ کر، یا final print کے وقت کا جائزہ لے کر — Strasmore terminal پر plain English میں بھی پوچھے جا سکتے ہیں۔