کیا زیادہ تر options بے قیمت expire ہوتے ہیں؟
90% کا دعویٰ تین مختلف نتائج ملاتا ہے: اکثر positions پہلے close ہو جاتی ہیں، جبکہ آخری bell تک پہنچنے والے contracts ITM یا OTM ختم ہوتے ہیں۔ اصل اعداد سمجھیں
کیا زیادہ تر options بے قیمت expire ہوتے ہیں؟ نہیں۔ زیادہ تر listed option contracts اس account میں اپنی expiration date تک نہیں پہنچتے جس نے انہیں کھولا تھا: position کئی دن یا ہفتے پہلے tape پر close ہو جاتی ہے۔ جو contracts آخری bell تک پہنچتے ہیں، وہ in the money اور out of the money ختم ہونے والوں میں تقسیم ہو جاتے ہیں۔ Retail options content میں گردش کرنے والا 90% کا figure کئی الگ outcomes کو ایک number میں ملا دیتا ہے، اور کسی published exchange statistic میں یہ figure درج نہیں۔
90% کے دعوے کی بنیاد کہاں ہے
Options Clearing Corporation، یا OCC، ہر listed US equity option کے buyer اور seller کے درمیان clearinghouse کا کردار ادا کرتی ہے۔ اس کے public statistics contract volume اور open interest کا احاطہ کرتے ہیں۔ OCC کی کوئی table یہ نہیں بتاتی کہ کسی بھی سال 90% options بے قیمت expire ہوئے، اور کسی exchange release میں بھی ایسا نہیں کہا گیا۔
یہ دعویٰ denominator کے بغیر بھی پھیلتا ہے۔ بے قیمت expirations کو کس چیز کے مقابلے میں ناپا جائے؟ آخری bell پر کھلے رہ جانے والے contracts کے مقابلے میں، یا پورے سال کھولے گئے ہر contract کے مقابلے میں؟ ان دونوں سوالوں کے جواب بہت مختلف ہوں گے، مگر مقبول version میں کسی کا نام نہیں لیا جاتا۔ جب کسی figure کو published clearinghouse یا exchange table تک trace نہ کیا جا سکے، تو درست طریقہ یہ ہے کہ صاف کہا جائے: اس سطح کی تفصیل میں data موجود نہیں۔ پھر اس چیز کو measure کیا جائے جو دستیاب ہے۔
Option contract کے ساتھ پیش آنے والی تین صورتیں
ہر contract تین میں سے کسی ایک طریقے سے ختم ہوتا ہے، اور صرف آخری صورت کو “expired worthless” کہا جاتا ہے۔
- یہ expiration سے پہلے close ہو جاتا ہے۔ Holder خریدا ہوا contract فروخت کر دیتا ہے، یا جو contract اس نے فروخت کیا تھا اسے واپس خرید لیتا ہے، اس دن market کی پیش کردہ قیمت پر۔ Expirations سے متعلق کسی statistic میں یہ انجام نظر نہیں آتا۔
- یہ exercise ہو جاتا ہے۔ In the money contract strike price پر stock میں تبدیل ہو جاتا ہے۔ جو contract کم از کم ایک penny in the money ختم ہو، اسے OCC کے exercise by exception rule کے تحت خودکار طور پر exercise کیا جاتا ہے، جب تک holder اس کے برخلاف ہدایات جمع نہ کرائے۔ اس طریقۂ کار کے لیے ہماری guide جب option ITM expire ہو تو کیا ہوتا ہے دیکھیں۔
- یہ expiration تک رکھا جاتا ہے اور exercise نہیں کیا جاتا۔ Contract out of the money ختم ہوتا ہے، کوئی اسے exercise نہیں کرتا، اور یہ وجود سے ختم ہو جاتا ہے۔ “Expired worthless” کی اصطلاح صرف اسی bucket پر لاگو ہوتی ہے۔
ان تینوں صورتوں کو ایک percentage میں سمیٹنے سے یہ myth پیدا ہوتا ہے۔
تو واقعی کتنے options بے قیمت expire ہوتے ہیں؟
یہ ایک ایسا count ہے جسے کوئی بھی چلا سکتا ہے: ہر وہ listed contract لیں جو expiration سے پہلے اپنے آخری دنوں میں بھی trade ہو رہا تھا، پھر آخری session میں underlying کی closing price کا strike کے ساتھ موازنہ کریں۔ ذیل کا panel July 2026 تک کے بارہ ماہ میں چھ معروف names کے لیے یہی کرتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH final_print AS
(
SELECT
underlying_symbol AS symbol,
ticker,
argMax(option_type, date) AS contract_type,
toFloat64(argMax(strike_price, date)) AS strike,
toFloat64(argMax(underlying_close, date)) AS spot_last,
min(days_to_expiry) AS final_dte
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND (lower(toString(option_type)) LIKE 'c%' OR lower(toString(option_type)) LIKE 'p%')
AND volume > 0
AND expiration_date >= '2025-08-01'
AND expiration_date < '2026-08-01'
AND date >= '2025-06-01'
AND date < '2026-08-01'
GROUP BY symbol, ticker
HAVING final_dte <= 3
)
SELECT
symbol,
round(100 * countIf(
(lower(toString(contract_type)) LIKE 'c%' AND spot_last <= strike)
OR (lower(toString(contract_type)) LIKE 'p%' AND spot_last >= strike)
) / count(), 1) AS pct_expired_otm,
round(100 * countIf(
(lower(toString(contract_type)) LIKE 'c%' AND spot_last > strike)
OR (lower(toString(contract_type)) LIKE 'p%' AND spot_last < strike)
) / count(), 1) AS pct_expired_itm,
count() AS expiring_contracts
FROM final_print
GROUP BY symbol
ORDER BY pct_expired_otm DESCMSFT سب سے اوپر رہا، جہاں آخری print پر اس کے expire ہونے والے contracts میں سے 57.6% out of the money تھے۔ KO سب سے نیچے رہا، جہاں یہ شرح 47.3% تھی۔ اسے کہیں بھی دہرانے سے پہلے اس نکتے کو غور سے سمجھیں۔ یہ contracts گنتا ہے، positions یا dollars نہیں۔ ہر expiration میں strikes کی ایک ladder ہوتی ہے جو share price سے بہت اوپر اور بہت نیچے تک پھیلی ہوتی ہے، اور اس ladder کا بڑا حصہ ساختی طور پر out of the money ہوتا ہے۔ یہاں بلند number صرف یہ بتاتا ہے کہ strikes کس طرح list ہوتے ہیں۔ یہ نہیں بتاتا کہ کتنی رقم risk پر تھی، یا ان contracts میں سے کتنے اس شخص کے پاس اب بھی موجود تھے جس نے انہیں خریدا تھا۔
Buyer کے لیے بے قیمت، seller کے لیے محفوظ premium
ان میں سے ہر expiration کے دو sides تھے۔ Buyer نے ایک premium ادا کیا جو اب ختم ہو چکا ہے۔ Seller نے وہی premium وصول کیا اور اسے برقرار رکھا۔ ایک event، دو ledgers۔ اس statistic کو buyers کے لیے warning اور sellers کے لیے edge کے طور پر پیش کیا جاتا ہے، مگر دونوں versions میں وصول کیے گئے premium یا اسے حاصل کرنے کے لیے اٹھائے گئے risk کا ذکر نہیں ہوتا۔ ایک ایسے seller کا تصور کریں جو فی contract $40 وصول کرتا ہے، مگر اپنے خلاف جانے والے ایک contract پر $900 واپس کرتا ہے۔ اس کی worthless rate بہترین ہے، مگر اس کی quarter اچھی نہیں۔
Early closes صورتِ حال کو مزید پیچیدہ بناتے ہیں۔ $2.00 پر call خریدیں، پھر تین ہفتے بعد اسے $6.00 پر فروخت کریں، تو آپ کی trade gain پر بند ہو گئی۔ یہ contract کسی اور account میں trade ہوتا رہتا ہے اور ممکن ہے out of the money ختم ہو۔ Contract کے حساب سے اسے ایک اور worthless expiration شمار کیا جائے گا۔ Trade کے حساب سے یہ آپ کے لیے winning trade تھی۔ Covered call writers اس امکان کے لیے position لیتے ہیں کہ contract out of the money ختم ہو، اور اسی وجہ سے یہ statistic سب سے زیادہ دہرایا جاتا ہے۔
زیادہ تر option volume expiration تک نہیں پہنچتا
Zero days to expiry، یا 0DTE، سے مراد ایسا contract ہے جو اسی session میں trade بھی ہو اور expire بھی۔ SPY، جو US equity options کی سب سے بڑی market ہے، ہر trading day ایک expiration رکھتا ہے۔ یہ volume جدید tape پر غالب ہے، اور ایسا ہر count متاثر کرتا ہے جو trades کو expirations کے ساتھ ملا دیتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH
(
SELECT sum(volume)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND volume > 0
AND date >= '2026-04-01'
AND date < '2026-07-01'
) AS quarter_volume
SELECT
multiIf(days_to_expiry = 0, '0 (expires that day)',
days_to_expiry <= 5, '1 to 5 days',
days_to_expiry <= 21, '6 to 21 days',
days_to_expiry <= 60, '22 to 60 days',
'61 days or more') AS days_to_expiry_bucket,
round(100 * sum(volume) / quarter_volume, 1) AS share_of_volume_pct,
countDistinct(ticker) AS contracts_with_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND volume > 0
AND date >= '2026-04-01'
AND date < '2026-07-01'
GROUP BY days_to_expiry_bucket
ORDER BY min(days_to_expiry)2026 کی دوسری quarter میں board کے سب سے مختصر bucket، 1 to 5 days، نے SPY option volume کا 53.8% حصہ لیا، جو 15612 الگ contracts میں پھیلا ہوا تھا۔ 61 days or more باقی رہ جانے والے contracts نے اس volume کا 8.9% حصہ لیا۔
صبح 10:00 بجے خریدا اور 14:30 پر فروخت کیا گیا 0DTE contract بالکل expire نہیں ہوتا۔ اس کا volume اسی bucket میں شامل ہوتا ہے جس میں close تک رکھا گیا اور پھر lapse ہونے دیا گیا contract شامل ہے۔ کوئی بھی headline percentage جو option volume کے ایک دن کو expiration کی طرف بڑھتی ہوئی positions کا مجموعہ سمجھتا ہے، وہ اسی contract کو بار بار count کرتا ہے۔ Session mechanics کے لیے 0DTE options کب trade ہوتے ہیں دیکھیں۔
کیا strike کا فاصلہ odds بدل دیتا ہے؟
“Expires worthless” options کی کوئی مستقل خصوصیت نہیں۔ یہ اس بات کے ساتھ بدلتا ہے کہ strike، price کے مقابلے میں کہاں واقع ہے، اور کتنا وقت باقی ہے۔ اگلا panel ہر اس SPY contract کو لیتا ہے جو تقریباً ایک ماہ باقی رہتے ہوئے trade ہوا، اس دن اس کے out of the money ہونے کا فاصلہ ناپتا ہے، پھر دیکھتا ہے کہ expiration کے قریب اسی contract کے آخری traded ہونے پر underlying کہاں کھڑا تھا۔
ہر عدد کے پیچھے موجود درست SQL
WITH entry AS
(
SELECT
ticker,
argMin(option_type, date) AS contract_type,
toFloat64(argMin(strike_price, date)) AS strike,
toFloat64(argMin(underlying_close, date)) AS spot_30d_out
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND (lower(toString(option_type)) LIKE 'c%' OR lower(toString(option_type)) LIKE 'p%')
AND days_to_expiry BETWEEN 28 AND 32
AND volume > 0
AND date >= '2025-07-01'
AND date < '2026-07-01'
GROUP BY ticker
),
last_print AS
(
SELECT
ticker,
toFloat64(argMax(underlying_close, date)) AS spot_at_last_print,
min(days_to_expiry) AS final_dte
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND volume > 0
AND date >= '2025-07-01'
AND date < '2026-08-01'
GROUP BY ticker
HAVING final_dte <= 3
)
SELECT
multiIf(otm_pct < 2, 'under 2% out',
otm_pct < 5, '2% to 5% out',
otm_pct < 10, '5% to 10% out',
otm_pct < 20, '10% to 20% out',
'20% or more out') AS distance_at_30_days,
round(100 * countIf(finished_itm) / count(), 1) AS pct_finished_itm,
count() AS contracts
FROM
(
SELECT
if(lower(toString(e.contract_type)) LIKE 'c%',
100 * (e.strike / e.spot_30d_out - 1),
100 * (1 - e.strike / e.spot_30d_out)) AS otm_pct,
if(lower(toString(e.contract_type)) LIKE 'c%',
s.spot_at_last_print > e.strike,
s.spot_at_last_print < e.strike) AS finished_itm
FROM entry AS e
INNER JOIN last_print AS s ON s.ticker = e.ticker
)
WHERE otm_pct > 0
GROUP BY distance_at_30_days
ORDER BY min(otm_pct)قریب ترین bucket، under 2% out، آخری print پر 36.8% مواقع پر in the money تھا، اور اس میں 1629 contracts شامل تھے۔ سب سے دور والا 20% or more out، 0% مواقع پر in the money تھا۔ ایک blanket percentage اس curve کے دونوں سروں کی وضاحت نہیں کر سکتا۔ Finish in the money ہونے اور راستے میں strike کو touch کرنے کے فرق کے لیے probability of touch بمقابلہ probability of ITM دیکھیں۔
ایک expiration cycle کی مکمل تصویر
ایک expiration کو منتخب کریں اور اسے observe کریں۔ Friday، May 15، 2026 کو expire ہونے والے SPY contracts بہت پہلے list اور trade کے لیے دستیاب ہو چکے تھے۔ یہ panel اس cycle کے آخری ماہ کو track کرتا ہے اور ہر session میں اس expiration date والے trade ہونے والے ہر contract کو count کرتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
toString(date) AS date,
round(sum(volume) / 1000, 1) AS volume_thousands,
countDistinct(ticker) AS contracts_with_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND expiration_date = '2026-05-15'
AND volume > 0
AND days_to_expiry <= 30
AND date >= '2026-04-01'
AND date < '2026-05-16'
GROUP BY date
ORDER BY dateدیکھے گئے پہلے session میں اس expiration کے 448.2 ہزار contracts نے 281 strikes کے درمیان ہاتھ بدلے۔ دیکھے گئے آخری session میں 1685.7 ہزار contracts trade ہوئے۔ Cycle کے اختتام تک tape پر سرگرمی برقرار رہتی ہے۔ یہی ایک cycle کی عام تصویر ہے، کیونکہ holders positions کو بند اور آگے roll کرتے ہیں، نہ کہ غیر فعال بیٹھے رہتے ہیں۔ Option position کو roll کرنا اس کی ایک عام مثال ہے۔
اپنا close بمقابلہ expire ratio measure کریں
آپ کے account کی نمائندگی کرنے والا number کسی statistics page پر موجود نہیں۔ یہ آپ کا close بمقابلہ expire ratio ہے: ایک quarter کے دوران آپ نے کتنی option positions offsetting trade کے ذریعے close کیں، اور کتنی expiration date تک رکھیں۔ دونوں counts آپ کے broker کی trade history میں موجود ہوتے ہیں۔
اگر تقریباً ہر position early close ہو جاتی ہے، تو expirations سے متعلق aggregate statistic ایسی market کی وضاحت کرتا ہے جس میں آپ کی شرکت بہت کم ہے۔ اگر تقریباً ہر position آخری session تک چلتی ہے، تو assignment mechanics اور heavily traded strikes کے گرد pin آپ پر براہِ راست لاگو ہوتے ہیں، اور max pain اور early assignment اگلے موضوعات کے طور پر پڑھنے کے قابل ہیں۔ وسیع تر تصویر کے لیے options trading کتنی risky ہے دیکھیں۔
ان panels کی پیمائش کیسے کی گئی
Moneyness کو اس underlying کی closing price کے مقابلے میں measure کیا گیا ہے جس session میں contract نے آخری بار حقیقی طور پر trade کیا، اور صرف وہ contracts count کیے گئے جو expiration سے تین دن کے اندر بھی trade ہو رہے تھے۔ Settlement print اس data میں شامل نہیں؛ آخری traded session کو اس کا متبادل سمجھا گیا ہے، جبکہ جو contract اس سے پہلے خاموش ہو گیا تھا وہ sample سے باہر ہے۔ AM settled اور cash settled index products کسی مختلف print پر settle ہوتے ہیں؛ یہاں کے panels میں PM settled single-name اور ETF contracts شامل ہیں۔
ہر panel متعلقہ session میں trade ہونے والے contracts کو count کرتا ہے۔ ایسا listed strike جس میں کوئی trade نہ ہوئی ہو، sample میں شامل نہیں۔ Open interest اس data کا حصہ نہیں، اس لیے کوئی panel held positions کو count نہیں کرتا۔ یہ contracts اور volume count کرتے ہیں، اور یہی وہ فرق ہے جسے 90% کا دعویٰ نظرانداز کرتا ہے۔
اکثر پوچھے گئے سوالات
کیا 90% options بے قیمت expire ہوتے ہیں؟
کسی published clearinghouse یا exchange table میں ایسا نہیں کہا گیا۔ یہ figure denominator کے بغیر گردش کرتا ہے، اور expiration سے پہلے close کیے گئے contracts کو exercised contracts اور lapse ہونے کے لیے چھوڑے گئے contracts کے ساتھ ملا دیتا ہے۔ یہ الگ counts ہیں اور الگ سوالوں کے جواب دیتے ہیں۔
کتنے فیصد options exercise ہوتے ہیں؟
کسی مخصوص سال کے لیے اس سطح کی درست public figure ایسی چیز نہیں جسے قاری خود نکال کر verify کر سکے، اس لیے quoted number کو شک کی نظر سے دیکھیں۔ Mechanic قابلِ تصدیق ہے: جو contract کم از کم ایک penny in the money ختم ہو، اسے خودکار طور پر exercise کیا جاتا ہے، جب تک holder اس کے برخلاف ہدایت نہ دے۔ اس لیے exercised share اس تناسب کے ساتھ بدلتا ہے کہ کتنے contracts in the money ختم ہوئے۔
کیا بے قیمت expire ہونے والا option ہمیشہ loss ہوتا ہے؟
یہ اس شخص کے لیے loss ہے جو اسے expiration تک hold کرتا ہے، اور اس شخص کے لیے gain ہے جو اس میں short ہے۔ اس سے اس trader کے بارے میں کچھ معلوم نہیں ہوتا جس نے وہ contract پہلے خریدا اور کئی ہفتے پہلے profit پر فروخت کر دیا۔ Contract کا final outcome اور کسی ایک شخص کا result دو الگ چیزیں ہیں۔
کیا 0DTE options بے قیمت expire ہوتے ہیں؟
0DTE volume کا بڑا حصہ intraday close ہو جاتا ہے اور final bell تک نہیں پہنچتا۔ Session کے اندر خریدا اور فروخت کیا گیا contract expiration outcome رکھتا ہی نہیں۔ اسی لیے وہ counts جو daily volume کو expirations کے ساتھ ملا دیتے ہیں، یہ زیادہ دکھاتے ہیں کہ کتنے contracts حقیقتاً close تک held رہے۔
میں اپنی rate کیسے معلوم کروں؟
اپنے broker سے ایک quarter کی trade history حاصل کریں اور دو چیزیں count کریں: offsetting trade کے ذریعے close کی گئی positions، اور وہ positions جو اپنی expiration date تک پہنچیں۔ یہی ratio اس statistic کا وہ version ہے جو آپ کے account پر لاگو ہوتا ہے۔
یہاں موجود ہر panel کے نیچے عین SQL دیا گیا ہے۔ Count کی گئی چیزیں دیکھنے کے لیے کسی panel کو expand کریں۔ جن names کو آپ follow کرتے ہیں، ان پر یہی count چلانے کے لیے Strasmore terminal پر plain English میں درخواست دیں۔