Event Contract की कीमत probability कैसे बताती है
Event contract $1 या $0 पर settle होता है, इसलिए कीमत probability बताती है। जानें Yes plus No $1 से अधिक क्यों है और spread कैसे हटाएँ।
किसी event contract की कीमत उसके चारों ओर मौजूद spread के साथ व्यक्त की गई probability होती है। यदि बताया गया outcome होता है, तो contract $1.00 का भुगतान करता है; यदि नहीं होता, तो भुगतान $0.00 होता है। यही fixed payout गणना को संभव बनाता है: एक डॉलर का भुगतान करने वाले contract पर 30 cents का भाव बाजार द्वारा लगभग 30% संभावना का संकेत है। इस संख्या को सही ढंग से समझने के लिए spread का एक समायोजन और settlement के पीछे काम करने वाली प्रक्रियाओं का एक समायोजन करना होता है।
किसी event contract की कीमत probability के बारे में क्या बताती है
सब कुछ payout से तय होता है। किसी Yes contract को p कीमत पर खरीदने पर outcome के Yes के रूप में settle होने पर आपको $1.00 मिलता है और No होने पर कुछ नहीं मिलता। कई बार दोहराने पर औसत payout, Yes की वास्तविक probability के बराबर होता है। ठीक उतनी ही probability का भुगतान करने पर न लाभ होता है, न नुकसान। चुकाई गई कीमत ही break-even probability होती है। इसी कारण एक ही संख्या दोनों भूमिकाएँ निभाती है।
चार शब्दों की एक बार परिभाषा:
- Yes contract: outcome होने पर $1.00 और अन्यथा $0.00 का भुगतान करता है।
- No contract: outcome नहीं होने पर $1.00 का भुगतान करता है। Yes और No एक ही सिक्के के दो पहलू हैं।
- Settlement: वह क्षण जब contract settle होता है और एक पक्ष को डॉलर मिलता है।
- Resolution source: वह नामित रिपोर्ट या feed जिसके आधार पर contract settle होता है। भुगतान उसी बात पर होता है जो वह source बताता है, न कि वास्तव में क्या हुआ।
Event contract के quotes इस पेज के पीछे मौजूद data set का हिस्सा नहीं हैं। नीचे दिए गए प्रत्येक panel में, जहां सीधे माप संभव है, वही arithmetic listed US equity options में मापी जाती है। Call option का delta 0 से 1 तक होता है और यह लगभग उस market probability को दर्शाता है कि contract expiry पर in the money होगा। यह वही binary question है जो event contract पूछता है: settlement date पर तय सीमा से ऊपर, या नहीं। Delta उस probability का अनुमान है। यह forecast के बजाय risk-neutral probability होती है। दोनों सीमाएँ panels में दिखाई देती हैं। option delta guide में इस measure की जानकारी दी गई है।
Yes और No का योग $1 से अधिक क्यों होता है?
Yes और उससे मेल खाता No मिलकर पूरे संभावित परिणाम-क्षेत्र को कवर करते हैं। दोनों में से ठीक एक भुगतान करता है। Options chain में यही जोड़ी एक ही strike और expiry पर call और put होती है। Strike से ऊपर call in the money समाप्त होता है और strike से नीचे put in the money समाप्त होता है। इनकी संभावनाओं का योग 100% होना चाहिए। यहां एक दिन की एक SPY chain में spot price के आसपास 2% के bands में समूहित यही जोड़ी दी गई है।
हर आंकड़े के पीछे का पूरा SQL
WITH chain AS (
SELECT strike_price,
toFloat64(any(underlying_close)) AS spot,
avgIf(delta, delta > 0) AS call_delta,
avgIf(-delta, delta < 0) AS put_delta_abs,
countIf(delta > 0) AS calls,
countIf(delta < 0) AS puts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-06-30')
AND expiration_date = toDate('2026-07-31')
AND iv_converged = 1
AND volume > 0
GROUP BY strike_price
HAVING calls > 0 AND puts > 0
),
banded AS (
SELECT toInt32(round(100 * (toFloat64(strike_price) / spot - 1) / 2) * 2) AS band,
call_delta,
put_delta_abs
FROM chain
)
SELECT concat(if(band > 0, '+', ''), toString(band), '% vs spot') AS strike_vs_spot,
round(100 * avg(call_delta), 1) AS yes_prob_pct,
round(100 * avg(put_delta_abs), 1) AS no_prob_pct,
round(100 * avg(call_delta + put_delta_abs), 1) AS pair_total_pct,
count() AS strikes
FROM banded
WHERE abs(band) <= 8
GROUP BY band
ORDER BY band-8% vs spot पर call पक्ष 91.6% और put पक्ष 7.8% दिखाता है। दोनों का कुल 99.5% है। Ladder के दूसरे छोर पर, +6% vs spot, दोनों क्रमशः 3.6% और 82.5% हैं और कुल 86.2% बनता है। सभी 8 bands rounding की सीमा के भीतर 100 पर आते हैं। Chart में दिखने वाली यह सपाट रेखा वह बाध्यता है जिसके अधीन हर binary market काम करता है। दोनों पक्षों की aggregate positioning को put call ratio मापता है।
Model values सही ढंग से व्यवहार करती हैं। Quotes नहीं। मान लीजिए किसी contract में bid 62 और ask 66 है, जबकि उसके No पक्ष में bid 36 और ask 40 है। Yes को 66 और No को 40 पर खरीदने पर आपने $1.06 चुकाए, जबकि स्थिति से निश्चित रूप से $1.00 ही मिलना है। दोनों को उनके bid पर बेचने पर आपको 98 cents मिलेंगे, जबकि देनदारी $1.00 की होगी। दोनों ask के बीच 6 cent का अंतर overround है। Sports bettor इसे vig कहता है। यही वह राशि है जो venue और market maker को बाजार में मौजूद रहने के लिए मिलती है। bid ask spread पेज बताता है कि यह अंतर क्यों मौजूद रहता है।
de-vig गणना, चरण-दर-चरण
दो quoted prices से शुरुआत होती है। अंत में ऐसी दो fair probabilities मिलती हैं, जिनका योग one होता है।
- प्रत्येक पक्ष का mid लें। Yes का mid 64 cents और No का mid 38 cents है।
- दोनों को जोड़ें। Book का कुल योग 102 cents है।
- प्रत्येक mid को उस कुल योग से विभाजित करें। 64 / 102 बराबर 62.7% है। 38 / 102 बराबर 37.3% है।
- योग की जांच करें। अब यह जोड़ी 100% है।
यही rescaling de-vigging कहलाती है। Decimal odds पर bettor इसी तरह normalization करता है।
अब इसे अधिक tight market पर लागू करें। उसी contract का quote 63 bid और 64 ask है, जबकि No के लिए 36 bid और 37 ask है। Mids 63.5 और 36.5 हैं। Book का कुल योग ठीक 100 cents है। De-vigged probability 63.5% है। दोनों परिणाम—wide market से निकला 62.7% और tight market से निकला 63.5%—एक point से भी कम अंतर पर हैं। लेकिन इनके आसपास की वास्तविक band इतनी संकरी नहीं है। Wide quote के साथ 62 cent bid और 66 cent ask के बीच कोई भी probability consistent है। इसलिए 4 cent का market odds को लगभग 4 points तक ही निर्धारित करता है, उससे अधिक नहीं। 4 cent के market से “62.7%” लिखना ऐसी precision के तीन अंक दिखाता है, जो market में मौजूद ही नहीं है। Spread की चौड़ाई ही precision है।
क्या 30% कीमत का अर्थ है कि यह 30% बार होता है?
Calibration ही इसकी जाँच है: बाजार ने जिन सभी मामलों की कीमत लगभग 30% लगाई, उन्हें एकत्र करें और गिनें कि वे कितनी बार वास्तव में हुए। जनवरी 2022 से रिकॉर्ड में मौजूद प्रत्येक SPY call contract को expiry से लगभग 30 दिन पहले snapshot किया गया, फिर implied probability buckets में रखा गया और देखा गया कि expiration date पर SPY उस strike से ऊपर बंद हुआ या नहीं।
हर आंकड़े के पीछे का पूरा SQL
WITH px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2022-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
),
snap AS (
SELECT ticker AS contract,
argMin(delta, abs(days_to_expiry - 30)) AS implied_prob,
toFloat64(any(strike_price)) AS strike,
any(expiration_date) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2022-01-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 25 AND 35
AND iv_converged = 1
AND volume > 0
AND delta > 0.02
AND delta < 0.98
GROUP BY contract
)
SELECT multiIf(implied_prob < 0.10, '2-10%',
implied_prob < 0.20, '10-20%',
implied_prob < 0.30, '20-30%',
implied_prob < 0.40, '30-40%',
implied_prob < 0.50, '40-50%',
implied_prob < 0.60, '50-60%',
implied_prob < 0.70, '60-70%',
implied_prob < 0.80, '70-80%',
implied_prob < 0.90, '80-90%',
'90-98%') AS implied_bucket,
count() AS contracts,
round(100 * avg(implied_prob), 1) AS implied_prob_pct,
round(100 * avg(close_px > strike), 1) AS finished_above_pct
FROM snap
INNER JOIN px ON px.session = snap.expiry
GROUP BY implied_bucket
ORDER BY implied_prob_pctImplied column इस सीढ़ी पर संरचना के कारण ऊपर बढ़ता है। Realized column वह हिस्सा है जिसे पहले से कोई नहीं जानता था। सबसे निचले स्तर पर, 2-10% bucket में 4276 contracts के लिए औसत implied probability 4.7% थी और वे 4.9% बार अपने strike से ऊपर बंद हुए। सबसे ऊपरी स्तर पर, 90-98% का औसत 94.3% था और वे 97.8% पर टिके। सीढ़ी के निचले हिस्से में realized share, ऊपरी हिस्से के realized share से काफी कम है। जब calibration लगभग कायम रहता है, तो यही दिखाई देता है।
ऐसी किसी भी तालिका के साथ दो सावधानियाँ जुड़ी रहती हैं। अवधि महत्वपूर्ण है: यदि नमूने में अधिकांश कीमतें बढ़ती हुई हों, तो हर call bucket में realized column ऊपर चला जाता है। अलग अवधि में यही माप बदल जाता है। और delta यह बताता है कि pricing को आंतरिक रूप से consistent बनाने के लिए कौन-सी probability चाहिए, न कि कोई forecaster क्या मानता है। वही chain एक threshold के बजाय पूरे distribution की कीमत तय करती है (अपेक्षित चाल)।
अब उन contracts तक सीमित करें जिन्हें बाजार ने coin flip माना था, यानी छह चर्चित नामों में लगभग 50 cents per dollar:
हर आंकड़े के पीछे का पूरा SQL
WITH px AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'XOM')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2023-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
snap AS (
SELECT underlying_symbol AS symbol,
ticker AS contract,
argMin(delta, abs(days_to_expiry - 30)) AS implied_prob,
toFloat64(any(strike_price)) AS strike,
any(expiration_date) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'XOM')
AND date >= toDate('2023-01-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 25 AND 35
AND iv_converged = 1
AND volume > 0
AND delta BETWEEN 0.40 AND 0.60
GROUP BY symbol, contract
)
SELECT snap.symbol AS symbol,
count() AS contracts,
round(100 * avg(implied_prob), 1) AS implied_prob_pct,
round(100 * avg(close_px > strike), 1) AS finished_above_pct
FROM snap
INNER JOIN px ON px.ticker = snap.symbol AND px.session = snap.expiry
GROUP BY symbol
ORDER BY finished_above_pct DESCImplied probability हर row में संरचना के कारण लगभग 50% रहती है। Realized column अलग-अलग परिणाम दिखाता है: SPY में 4785 contracts के दौरान 68.4% बार कीमत अपने strike से ऊपर बंद हुई, जबकि XOM के लिए यह अनुपात 49.9% था। 6 names, एक समान implied probability और वास्तव में हुए परिणामों की व्यापक range। लगभग 50 cents की कीमत बाजार की odds बताती है। फिर भी कोई एक contract अंततः $1.00 या $0.00 पर settle होता है।
$0.70 के contract पर break-even क्या है?
70 cents में खरीदा गया contract Yes पर $1.00 देता है और No पर कुछ नहीं देता। लाभ 30 cents है, नुकसान 70 cents है और break-even probability बिल्कुल price के बराबर होती है। वास्तविक probability 70% होने पर यह position अतिरिक्त चरणों वाला coin flip है। 70% से ऊपर arithmetic buyer के पक्ष में रहता है और इससे नीचे उसके विरुद्ध, वह भी costs से पहले।
Costs इस सीमा को समान रूप से नहीं बदलते। 70 cents के contract में round trip cost का one cent जोड़ने पर break-even 70% से बढ़कर लगभग 71% हो जाता है। यह position पर rounding error जितना है। वही one penny 5 cents के contract में जोड़ने पर break-even 5% से बढ़कर 6% हो जाता है और theoretical edge का one-fifth खत्म कर देता है। Fixed fees सबसे सस्ते long shots को सबसे अधिक नुकसान पहुँचाती हैं, क्योंकि paid price में fee का अंश सबसे बड़ा होता है। Order type भी इसी तरह काम करता है: spread पार करने पर पूरा ask चुकाना पड़ता है, जबकि resting limit order आपके बताए price पर रहता है और शायद कभी fill न हो (market order बनाम limit order)।
लगभग निश्चित परिणाम $0.97 पर क्यों ट्रेड करता है?
जिस परिणाम पर कोई विवाद नहीं करता, वह भी शायद ही कभी $1.00 पर ट्रेड करता है। इन आखिरी 3 सेंट में चार बातें शामिल होती हैं:
- पैसे का समय-मूल्य। डॉलर का भुगतान settlement पर होता है। तीन महीने बाद मिलने वाले $1.00 के लिए आज 97 सेंट देना पूंजी पर रिटर्न है, और उस नकदी के निष्क्रिय नकदी को लगाने के अन्य उपयोग भी हो सकते हैं।
- Resolution source का जोखिम। Contract का settlement उसी बात पर होता है जो नामित source रिपोर्ट करता है और जिस schedule का वह source पालन करता है। तय परिणाम होने पर भी revisions, देरी और अस्पष्ट wording का जोखिम बना रहता है।
- Spread स्वयं। 96 bid और 98 ask पर quoted market का mid 97 सेंट होता है, लेकिन 97 पर कोई trade नहीं होता। प्रतिशत के रूप में book अक्सर किनारों पर ही सबसे चौड़ा होता है।
- Tail risk। लोग "निश्चित" शब्द का इस्तेमाल ढीले ढंग से करते हैं। Contracts का settlement rulebook में दी गई परिभाषा के आधार पर होता है।
Convergence को मापा जा सकता है। Expiry से एक महीने पहले coin flip के करीब कीमत वाले SPY calls लें, उन्हें अंततः हुए परिणाम के आधार पर अलग करें और छह checkpoints पर औसत implied probability देखें।
हर आंकड़े के पीछे का पूरा SQL
WITH px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-06-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
),
coin_flips AS (
SELECT ticker AS contract
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2025-06-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 28 AND 32
AND iv_converged = 1
AND volume > 0
AND delta > 0
GROUP BY contract
HAVING avg(delta) BETWEEN 0.35 AND 0.65
),
obs AS (
SELECT g.days_to_expiry AS dte,
g.delta AS implied_prob,
if(px.close_px > toFloat64(g.strike_price), 1, 0) AS finished_above
FROM global_markets.options_greeks AS g
INNER JOIN coin_flips AS c ON g.ticker = c.contract
INNER JOIN px ON px.session = g.expiration_date
WHERE g.underlying_symbol = 'SPY'
AND g.date >= toDate('2025-06-01')
AND g.expiration_date <= toDate('2026-06-30')
AND g.iv_converged = 1
AND g.volume > 0
AND g.delta > 0
AND (g.days_to_expiry BETWEEN 28 AND 32
OR g.days_to_expiry BETWEEN 19 AND 23
OR g.days_to_expiry BETWEEN 12 AND 16
OR g.days_to_expiry BETWEEN 6 AND 8
OR g.days_to_expiry BETWEEN 3 AND 4
OR g.days_to_expiry <= 1)
)
SELECT multiIf(dte >= 28, '30 days out',
dte >= 19, '21 days out',
dte >= 12, '14 days out',
dte >= 6, '7 days out',
dte >= 3, '3 days out',
'1 day out') AS checkpoint,
round(100 * avgIf(implied_prob, finished_above = 1), 1) AS eventual_yes_pct,
round(100 * avgIf(implied_prob, finished_above = 0), 1) AS eventual_no_pct,
count() AS contract_days
FROM obs
GROUP BY checkpoint
HAVING countIf(finished_above = 1) > 0 AND countIf(finished_above = 0) > 0
ORDER BY avg(dte) DESC30 days out तक, जो contracts अंततः अपने strike से ऊपर बंद हुए, उनकी औसत implied probability 52.6% थी। जो contracts ऊपर नहीं बंद हुए, उनके लिए यह 47.8% थी। 1 day out तक यही दो समूह क्रमशः 79.8% और 14.4% पर थे। यह विभाजन hindsight के आधार पर किया गया है। पहले checkpoint पर chain पढ़ने वाला कोई भी व्यक्ति दोनों समूहों में अंतर नहीं बता सकता था। Live event contract हमेशा इसी स्थिति में होता है। Certainty settlement date पर आती है और price धीरे-धीरे वहां तक पहुंचती है। Settlement rules सटीक समय तय करते हैं: AM और PM settled options बताता है कि timing का यह विवरण कितना महत्वपूर्ण हो सकता है। implied volatility उसी chain का उत्तर direction के बजाय size के प्रश्न पर देता है।
Data notes and limits
Delta, Yes price का एक proxy है, वही वस्तु नहीं। यह in the money expire होने की risk-neutral odds का अनुमान लगाता है और उसी event की model probability से थोड़ा अलग होता है। यहां outcomes में expiration date के regular-session closing price की strike से तुलना की गई है। यह settlement का approximation है, official settlement value का पुनरुत्पादन नहीं। प्रत्येक options panel में उस date पर उस contract के लिए converged implied volatility और non-zero volume वाले contracts ही शामिल हैं। इसलिए कम ट्रेड वाले contracts sample से बाहर हो जाते हैं। प्रत्येक contract expiry से 30 days के सबसे करीब वाले snapshot पर calibration panels में केवल एक बार शामिल होता है।
Event contract pricing FAQ
क्या event contract की कीमत probability के समान होती है?
यह दो समायोजनों के साथ probability होती है। Quote में venue और market makers द्वारा लिया जाने वाला spread शामिल होता है। साथ ही, यह settlement पर मिलने वाले एक dollar की कीमत लगाती है, न कि आज मिलने वाले dollar की। इन दोनों प्रभावों को हटाने पर जो बचता है, वह market का odds का clearing estimate होता है।
दो-पक्षीय market से de-vigging करने पर क्या होता है?
यह दोनों mid prices को इस तरह rescale करता है कि उनका योग 100% हो जाए। Yes mid और No mid को जोड़ें, फिर प्रत्येक को उस कुल से विभाजित करें। 64 cent का Yes और 38 cent का No मिलकर 102 cents होते हैं। de-vigged pair 62.7% और 37.3% दिखाता है।
Yes और No prices का योग एक dollar से अधिक क्यों होता है?
दोनों में से एक का $1.00 का भुगतान करना निश्चित होता है। इसलिए frictionless pair की कुल कीमत ठीक $1.00 होनी चाहिए। Ask side पर जुड़ी अतिरिक्त cents overround होती हैं। यह दो-पक्षीय market में शामिल spread revenue है। दोनों पक्षों को बेचने पर आपको इसके उलट उसी gap के कारण एक dollar से कम राशि मिलती है।
क्या 90 cents की कीमत वाला contract दस में से एक बार विफल होता है?
कई समान contracts में market अच्छी तरह calibrated हो, तो मोटे तौर पर ऐसा ही होगा। ऊपर दिए गए SPY panel में 90-98% bucket की औसत implied probability 94.3% थी और वह 97.8% बार अपने strike से ऊपर बंद हुआ। फिर भी, किसी एक contract का settlement केवल one dollar या zero पर होता है।
व्यापक spread implied probability को कितना बदलता है?
लगभग spread की चौड़ाई जितना। 1 cent का market odds को एक percentage point के भीतर सीमित करता है। 4 cent का market 4 percentage point का band छोड़ता है। उस band के भीतर आने वाली हर probability quote के अनुरूप हो सकती है।
ऊपर दिए गए हर number का स्रोत listed contract data पर चलाया गया stored query है। प्रत्येक panel के पीछे का SQL एक click की दूरी पर उपलब्ध है। Strasmore terminal पर live chain के साथ यही de-vig arithmetic चलाएँ।