Equity بمقابلہ Index Put/Call Ratio: High کیا ہے؟
Equity اور index put/call ratios کی معمول کی ranges مختلف ہوتی ہیں۔ جانیں ہر ratio کیسے بنتا ہے، index reading زیادہ کیوں رہتی ہے، اور منصفانہ موازنہ کیسے کریں۔
بلند put/call ratio کوئی ایک عدد نہیں ہوتا۔ اسی options tape سے کم از کم تین ratios شائع کیے جاتے ہیں۔ ایک صرف single-stock options کو شمار کرتا ہے۔ دوسرا صرف index products کو۔ تیسرا دونوں کو ملا کر حساب کرتا ہے۔ ہر ratio کی اپنی معمول کی range ہوتی ہے۔ اسی لیے 1.20 کی reading ایک series میں outlier ہو سکتی ہے، جبکہ دوسری میں یہ معمول کا trading session ہو سکتا ہے۔ اگر یہ measure آپ کے لیے نیا ہے تو put/call ratio کیا measure کرتا ہے بنیادی باتیں واضح کرتا ہے۔
انڈیکس put/call ratio، equity ratio سے زیادہ کیوں رہتا ہے؟
آغاز اس بات سے کریں کہ خریدار کون ہے۔ ایک index put وہ سستا ترین single instrument ہے جو پورے متنوع book کو hedge کرتا ہے۔ چار سو positions رکھنے والا fund چار سو الگ puts نہیں خریدتا۔ وہ index پر puts خریدتا ہے، انہیں مقررہ calendar کے مطابق roll کرتا ہے، اور premium کو insurance cost کے طور پر درج کرتا ہے۔ یہ volume ان shares پر protection فراہم کرتا ہے جو fund پہلے ہی رکھتا ہے، اور manager کے optimistic ہونے یا نہ ہونے سے قطع نظر مارکیٹ میں آتا رہتا ہے۔
Single-stock options میں flow کا امتزاج مختلف ہوتا ہے۔ volume کا بڑا حصہ انفرادی names پر call buying پر مشتمل ہوتا ہے، جبکہ covered-call writing دوسری جانب مزید call volume پیدا کرتی ہے۔ Single names پر put buying بھی حقیقی ہوتی ہے، مگر یہ کہیں بڑے call flow کے ساتھ موجود ہوتی ہے۔
Formula ان flows میں فرق نہیں کر سکتا۔ Hedging-heavy put flow کو thin call flow سے تقسیم کریں تو quotient 1.00 کے قریب یا اس سے اوپر آتا ہے۔ Modest put flow کو thick call flow سے تقسیم کریں تو یہ تقریباً 0.50 رہتا ہے۔ Formula ایک، مگر معمول کی دو ranges۔
ذیل کا panel آٹھ معروف stocks اور چار broad-market ETFs کے لیے گزشتہ sixty sessions کے contract volume کو شمار کرتا ہے، پھر ہر underlying کے put volume کو call volume سے تقسیم کرتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
underlying_symbol AS symbol,
if(underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'),
'broad-market ETF',
'single stock') AS bucket,
round(sumIf(volume, startsWith(lower(option_type), 'p'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 2) AS put_call_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'c')) / 1e6, 1) AS call_volume_millions,
round(sumIf(volume, startsWith(lower(option_type), 'p')) / 1e6, 1) AS put_volume_millions
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 60
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY symbol
HAVING sumIf(volume, startsWith(lower(option_type), 'c')) > 0
ORDER BY put_call_ratio ASCSample میں spread کافی وسیع ہے۔ سب سے کم reading 0.43، MSFT پر ہے، جبکہ سب سے زیادہ reading 2.86، IWM پر ہے، جہاں اس window کے دوران 9.6 million call contracts trade ہوئے۔ bucket column ظاہر کرتا ہے کہ کون سی rows single stocks کی ہیں اور کون سی broad-market ETFs کی۔ Ratio column کو اسی کے مطابق پڑھیں۔
آگے بڑھنے سے پہلے ایک اہم وضاحت۔ شائع شدہ index ratio، خود index level پر موجود options استعمال کرتا ہے۔ یہ options expiration پر shares deliver کرنے کے بجائے cash settled ہوتے ہیں۔ Mini index options اسی contract کا کم notional والا version ہیں۔ یہاں کے panels ہر underlying کے لیے broad-market ETF options کو اسی hedging flow کے متبادل کے طور پر استعمال کرتے ہیں۔ یہی وہ مقام ہے جہاں vendors کے درمیان بنیادی اختلاف پایا جاتا ہے۔
ہر شائع کردہ ratio میں کیا شمار ہوتا ہے؟
- Equity-only: انفرادی کمپنیوں کے shares پر options، یعنی single-name flow؛ بیشتر sessions میں call volume غالب رہتا ہے۔
- Index-only: index level پر options؛ یہ cash settled ہوتے ہیں اور portfolio-hedging volume کا زیادہ تر حصہ رکھتے ہیں۔
- Total: دونوں categories کے ہر contract کا مجموعہ؛ put volume، call volume سے زیادہ ہے۔
تینوں ratios volume شمار کرتے ہیں۔ اس سے مراد session کے دوران ہاتھ بدلنے والے contracts ہیں، نہ کہ وہ positions جو session کے اختتام پر بھی open رہیں۔ Volume اور open interest میں فرق ان دونوں تصورات کو الگ کرتا ہے۔
کیا total put/call ratio دیگر دونوں ratios کا اوسط ہوتا ہے؟
نہیں۔ total ایک weighted blend ہوتا ہے، اور اس کا weight call volume ہوتا ہے۔ دونوں buckets کے call volume میں index bucket کے حصے کو w سے ظاہر کریں۔ total، equity ratio اور دونوں ratios کے درمیان فرق میں w گنا جمع کرنے کے برابر ہوتا ہے۔ جب call volume میں index bucket کا حصہ بہت معمولی ہو، تو total تقریباً equity ratio کے برابر رہتا ہے۔ جب index bucket غالب ہو، تو total بڑھ کر index ratio کے قریب پہنچ جاتا ہے۔
اگلے panel میں دونوں components کو ان کی ناپی گئی sixty-session سطحوں پر برقرار رکھا گیا ہے، جبکہ w کو zero سے one hundred percent تک بدلا گیا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH components AS
(
SELECT
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS equity_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS index_ratio
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 60
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
)
SELECT
concat(toString(step * 10), '%') AS index_share_of_call_volume,
equity_ratio,
index_ratio,
round(equity_ratio + (index_ratio - equity_ratio) * (step / 10), 3) AS blended_total_ratio
FROM
(
SELECT
equity_ratio,
index_ratio,
arrayJoin(range(11)) AS step
FROM components
)
ORDER BY stepجب components کو 0.562 اور 1.396 پر برقرار رکھا جائے، تو blend اس وقت 0.562 بنتا ہے جب index bucket کے حصے میں call volume صفر ہو، اور اس وقت 1.396 بنتا ہے جب call volume مکمل طور پر اسی کے حصے میں ہو۔ برابر تقسیم کی صورت میں، جب call volume کا 50% index bucket میں ہو، total 0.979 print کرتا ہے۔ ان eleven rows میں کسی component میں تبدیلی نہیں ہوئی۔ صرف mix بدلا۔
کیا دونوں اجزا گرنے کے باوجود مجموعی ratio بڑھ سکتا ہے؟
ہاں، ایسا ہو سکتا ہے، اور یہی ایک headline number کا trap ہے۔ ذیل میں دو sessions کی فرضی مثال ہے۔ اعداد کو حساب آسان رکھنے کے لیے گول رکھا گیا ہے۔
پہلا دن: equity bucket میں 1,000,000 calls اور 600,000 puts trade ہوئے، یعنی ratio 0.60 رہا۔ index bucket میں 200,000 calls اور 280,000 puts trade ہوئے، یعنی ratio 1.40 رہا۔ مجموعی طور پر 1,200,000 calls کے مقابلے میں 880,000 puts رہے، یعنی ratio 0.73 تھا۔
دوسرا دن: دونوں ratios گر گئے۔ equity bucket میں 600,000 calls اور 330,000 puts کے ساتھ ratio 0.55 رہا۔ index bucket میں 800,000 calls اور 1,040,000 puts کے ساتھ ratio 1.30 رہا۔ مجموعی طور پر 1,400,000 calls کے مقابلے میں 1,370,000 puts رہے، یعنی ratio 0.98 ہو گیا۔
دونوں components میں کمی آئی۔ مجموعی ratio ایک چوتھائی point بڑھ گیا۔ صرف ایک اور چیز بدلی: زیادہ ratio والے bucket میں call volume کا حصہ 17 percent سے بڑھ کر 57 percent ہو گیا۔ جو قاری صرف مجموعی ratio دیکھ رہا ہو، وہ put activity میں ایسا jump ریکارڈ کرے گا جو کسی بھی bucket میں واقع نہیں ہوا۔
Live data میں یہ حصہ مستقل نہیں رہتا۔ ذیل کا panel دونوں bucket ratios اور ETF bucket کے call volume میں حصے کو session بہ session دکھاتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS index_style_ratio,
round(index_style_ratio - equity_ratio, 2) AS ratio_gap,
round(100 * sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 1) AS etf_share_of_calls_pct
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 45
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY dateJun 29 پر، جو زیرِ نظر سب سے ابتدائی session ہے، single-stock bucket کا ratio 0.5 رہا، جبکہ ETF bucket کا ratio 1.55 تھا۔ دونوں کے درمیان فرق 1.05 تھا، اور call volume کا 45.2 percent ETF bucket میں تھا۔ Aug 12 پر یہ columns بالترتیب 0.55، 1.34 اور 0.79 کے gap کو ظاہر کرتے ہیں، جبکہ ETF کا حصہ 49.5 percent رہا۔ دکھائے گئے 32 sessions کے دونوں سروں پر gap column مثبت ہے، جبکہ share column اس کے نیچے حرکت کرتا ہے۔
ایک ہی دن کے لیے دو ذرائع مختلف put/call ratios کیوں دکھاتے ہیں؟
###بکٹ بندی، اور ETF options کا مبہم معاملہ
ETF ایک listed security ہے، اس لیے اسے equity bucket میں شامل کرنے کی دلیل موجود ہے۔ یہ ایک index کو بھی track کرتا ہے، اس لیے اسے index bucket میں رکھنے کی بھی وجہ بنتی ہے۔ Publishers اس معاملے کو مختلف طریقے سے حل کرتے ہیں: کچھ ETF options کو equity ratio میں شامل کر دیتے ہیں، کچھ exchange traded products کو الگ series کے طور پر رپورٹ کرتے ہیں، جبکہ کچھ انہیں index products کے ساتھ group کرتے ہیں۔ ہر صورت میں chart پر label ایک ہی نظر آتا ہے۔
اس انتخاب کے اثرات کو ناپا جا سکتا ہے۔ ذیل کا panel ایک ہی sessions پر ایک bucket کے ratio کا دو مرتبہ حساب کرتا ہے: پہلی مرتبہ ETF options کو خارج کر کے، اور دوسری مرتبہ انہیں شامل کر کے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e') AS session_label,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 2) AS equity_ratio_etfs_excluded,
round(sumIf(volume, startsWith(lower(option_type), 'p'))
/ sumIf(volume, startsWith(lower(option_type), 'c')), 2) AS equity_ratio_etfs_included
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 30
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
GROUP BY date
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
ORDER BY dateAug 12 پر، جو panel کا آخری session تھا، صرف single-stock options کا figure 0.55 تھا، جبکہ ETF options کو شامل کرنے کے بعد figure 0.94 رہا۔ دن ایک ہی تھا، tape ایک ہی تھی، اور axis پر الفاظ بھی ایک ہی تھے۔ ایک publisher کی series سے اخذ کیا گیا threshold دوسرے publisher کی series پر لاگو نہیں ہوتا۔
پھر high put/call ratio کس سطح کو شمار کیا جائے گا؟
قابلِ عمل اصول محدود ہے۔ کسی ratio کا موازنہ صرف اسی کی اپنی historical series سے کریں، اور source اور construction بھی وہی ہوں۔ percentile اس سوال کا جواب دیتا ہے: آج کی reading اسی exact series کے گزشتہ ایک سال کے اندر کہاں واقع ہوتی ہے؟ 1.00 کی ایک مقررہ حد یہ جواب نہیں دیتی، کیونکہ equity series میں 1.00 ایک غیر معمولی print ہے، جبکہ index series میں یہ معمول کی reading ہو سکتی ہے۔
موازنے کو درست رکھنے کے لیے دو عادات ضروری ہیں۔ کسی level کا حوالہ دینے سے پہلے construction note پڑھیں، خاص طور پر ETF کی treatment کو۔ اسی طرح total کے ساتھ اس کے components بھی دیکھیں، کیونکہ total صرف mix میں تبدیلی سے بھی حرکت کر سکتا ہے۔ high put/call ratio bullish کب ہوتا ہے تشریح کو مزید آگے بڑھاتا ہے، جبکہ put/call ratio کیسے calculate کیا جاتا ہے arithmetic کو مرحلہ وار بیان کرتا ہے۔
Data notes اور bucket definitions
ETF bucket میں SPY، QQQ، IWM اور DIA شامل ہیں۔ single-stock bucket میں AAPL، MSFT، NVDA، AMZN، TSLA، JPM، KO اور JNJ شامل ہیں۔ دونوں اپنے اپنے category کے نمونے ہیں، پوری market نہیں۔ اس لیے یہاں کی levels تقسیم کو واضح کرتی ہیں، مگر کسی publisher کے headline number کو نقل نہیں کرتیں۔
ہر panel میں session کے لیے contract volume پہلے calls اور puts کے لیے الگ الگ جمع کیا جاتا ہے، پھر تقسیم کی جاتی ہے۔ اس میں dollar یا premium weighting شامل نہیں ہے۔
ہر window کو calendar day کے بجائے recorded volume والے سب سے حالیہ session سے anchor کیا جاتا ہے۔ put اور call sides کو contract type کے پہلے حرف کی بنیاد پر match کیا جاتا ہے، تاکہ P اور C لکھنے والا feed بھی put اور call کو درست bucket میں شامل کرے۔
کوئی contract اسی وقت شمار ہوتا ہے جب session میں اس کا volume recorded ہو۔ اس میں deep out-of-the-money strikes بھی شامل ہیں۔ دور کے strikes hedging put volume کا بڑا حصہ رکھتے ہیں، اور انہیں خارج کرنے سے ETF bucket کا volume کم دکھائی دے گا۔
کسی index level پر options، جو cash settled ہوں اور جن میں European exercise ہو، ETF options سے مختلف product ہیں۔ فی-underlying panels میں index hedging flow کے نمائندے کے طور پر ETF options استعمال کیے گئے ہیں۔ اوپر اٹھایا گیا bucketing سوال یہی ہے۔
تازہ ترین ایک یا دو sessions ابتدائی حصے میں موجود نہ بھی ہوں، کیونکہ دن کے records بعد میں شامل ہوتے ہیں۔
اکثر پوچھے جانے والے سوالات
Equity options کے لیے معمول کا put/call ratio کیا ہوتا ہے؟
Single-stock options میں یہ ratio عموماً 1.00 سے کم رہتا ہے، کیونکہ زیادہ تر sessions میں call volume بڑا حصہ ہوتا ہے۔ اوپر دیے گئے trailing-sixty-session panel میں شامل بارہ names میں سب سے کم reading 0.43 تھی۔ کسی ایک series کے لیے معمول کی سطح اس کی اپنی سابقہ history سے طے ہوتی ہے، نہ کہ کسی مشترکہ threshold سے۔
Index put/call ratio عموماً 1 سے زیادہ کیوں ہوتا ہے؟
Index puts پورٹ فولیو hedge کا standard ذریعہ ہیں، اور ان کی خریداری ان managers کی جانب سے طے شدہ بنیاد پر آتی ہے جو پہلے ہی shares رکھتے ہیں۔ Hedging volume اسی fraction کے put side پر آتا ہے جسے directional trade استعمال کرتا ہے، اور یہ series اپنے پورے record میں نسبتاً بلند سطح پر رہتی ہے۔
Sentiment charts عموماً کون سا put/call ratio دکھاتے ہیں؟
زیادہ تر شائع شدہ charts یا تو total series دکھاتے ہیں یا equity-only series، جبکہ axis label شاذونادر ہی بتاتا ہے کہ کون سی series استعمال ہوئی ہے۔ کسی chart کو کہیں اور دیے گئے threshold سے ملانے سے پہلے construction note دیکھیں، کیونکہ یہ series مختلف سطحوں پر چلتی ہیں۔
کیا میں دو مختلف providers کے put/call ratios کا موازنہ کر سکتا ہوں؟
Levels ایک provider سے دوسرے provider کو منتقل نہیں ہوتیں۔ Providers کے طریقۂ کار میں ETF handling اور شمار کیے جانے والے exchanges مختلف ہوتے ہیں۔ موازنے میں صرف ایک ہی provider کی اپنی series کے اندر direction اور percentile rank قابلِ اعتماد رہتے ہیں۔
اس page کے ہر panel کے ساتھ اسے تیار کرنے والی SQL بھی شامل ہے، اس لیے ان میں سے ہر split کو مختلف universe یا window کے ساتھ دوبارہ بنایا جا سکتا ہے۔ Strasmore terminal پر یہی سوال plain English میں پوچھیں۔