ইভেন্ট কন্ট্র্যাক্টের দাম কীভাবে সম্ভাবনা জানায়
ইভেন্ট কন্ট্র্যাক্টের দাম কীভাবে সম্ভাবনা নির্দেশ করে, Yes ও No মিলিয়ে $1-এর বেশি কেন হয় এবং spread বাদ দিয়ে প্রকৃত হিসাব কীভাবে পাবেন, তা জানুন।
একটি event contract-এর দাম মূলত একটি সম্ভাবনা, যার সঙ্গে spread যুক্ত থাকে। নির্ধারিত ঘটনা ঘটলে contract-টি $1.00 পরিশোধ করে, আর না ঘটলে $0.00। এই নির্দিষ্ট payout-ই হিসাবটিকে কার্যকর করে: যে contract $1 পরিশোধ করে, তার দাম 30 cents হলে বাজার মোটামুটি 30% সম্ভাবনা নির্দেশ করছে। এই সংখ্যাটি সঠিকভাবে বুঝতে হলে spread-এর জন্য একটি সমন্বয় এবং settlement-এর পেছনে থাকা প্রক্রিয়ার জন্য আরেকটি সমন্বয় করতে হয়।
ইভেন্ট কন্ট্র্যাক্টের মূল্য সম্ভাবনা সম্পর্কে যা জানায়
সবকিছুই পেআউট থেকে নির্ধারিত হয়। p দামে একটি Yes contract কিনলে ফলাফল Yes হিসেবে নিষ্পত্তি হলে আপনি $1.00 পাবেন, আর No হিসেবে নিষ্পত্তি হলে কিছুই পাবেন না। বহুবার পুনরাবৃত্তির ক্ষেত্রে গড় পেআউট হলো Yes হওয়ার প্রকৃত সম্ভাবনা। ঠিক সেই সম্ভাবনার সমান মূল্য দিলে আপনি break-even অবস্থায় থাকবেন। পরিশোধ করা মূল্যই break-even probability। তাই একই সংখ্যা দুটি কাজ করে।
চারটি শব্দ একবারে সংজ্ঞায়িত করা হলো:
- Yes contract: ফলাফল ঘটলে $1.00 দেয়, অন্যথায় $0.00।
- No contract: ফলাফল না ঘটলে $1.00 দেয়। Yes এবং No একই মুদ্রার দুটি পিঠ।
- Settlement: যে মুহূর্তে কন্ট্র্যাক্টের নিষ্পত্তি হয় এবং একটি পক্ষ ডলারটি পায়।
- Resolution source: যে নির্দিষ্ট রিপোর্ট বা feed-এর ভিত্তিতে কন্ট্র্যাক্টের নিষ্পত্তি হয়। ওই source যা উল্লেখ করে, পেআউট তার ভিত্তিতেই হয়; বাস্তবে কী ঘটেছে, তার ভিত্তিতে নয়।
ইভেন্ট কন্ট্র্যাক্টের কোট এই পৃষ্ঠার পেছনে থাকা data set-এর অংশ নয়। নিচের প্রতিটি প্যানেল যেখানে সরাসরি মাপা সম্ভব, সেখানে তালিকাভুক্ত US equity options-এর একই গাণিতিক হিসাব পরিমাপ করে। একটি call option-এর delta 0 থেকে 1-এর মধ্যে থাকে এবং কন্ট্র্যাক্টটি in the money অবস্থায় মেয়াদ শেষ হওয়ার বাজার-সম্ভাবনার আনুমানিক পরিমাপ দেয়। এটি ইভেন্ট কন্ট্র্যাক্টের একই binary প্রশ্ন: settlement date-এ নির্ধারিত সীমার ওপরে থাকবে, নাকি থাকবে না। Delta ওই সম্ভাবনার একটি আনুমানিক পরিমাপ, এবং এটি forecast নয়; এটি risk-neutral probability। নিচের প্যানেলগুলোতে উভয় সীমাবদ্ধতাই দেখা যায়। option delta গাইডে এই পরিমাপটি ব্যাখ্যা করা হয়েছে।
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% band-এ ভাগ করে দেখানো হয়েছে।
| স্পটের তুলনায় Strike | হ্যাঁ সম্ভাবনা (%) | না সম্ভাবনা (%) | জোড়ার মোট (%) | Strikes |
|---|---|---|---|---|
| -8% vs spot | 91.6 | 7.8 | 99.5 | 4 |
| -6% vs spot | 91.2 | 11.5 | 102.7 | 5 |
| -4% vs spot | 80.6 | 18.3 | 98.9 | 13 |
| -2% vs spot | 68.8 | 29.8 | 98.6 | 13 |
| 0% vs spot | 54.1 | 45.7 | 99.8 | 15 |
| +2% vs spot | 36.2 | 63.3 | 99.5 | 11 |
| +4% vs spot | 18.4 | 81.9 | 100.3 | 7 |
| +6% vs spot | 3.6 | 82.5 | 86.2 | 1 |
প্রতিটি সংখ্যার পেছনের সঠিক 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 side-এর মূল্য 91.6% এবং put side-এর মূল্য 7.8%, ফলে জোড়াটির মোট মূল্য 99.5%। Ladder-এর একেবারে প্রান্তে +6% vs spot-এ দুটির মূল্য যথাক্রমে 3.6% এবং 82.5%, মোট 86.2%। 8টি band-ই rounding-এর সীমার মধ্যে 100%-এ পৌঁছেছে। চার্টের ওই সমতল রেখাই binary market-এর মৌলিক নিয়ম। দুই পাশে aggregate positioning-কে যে অনুপাত মাপে, সেটিই put call ratio।
মডেলভিত্তিক মূল্য ঠিকভাবে আচরণ করে। কিন্তু quote তা করে না। ধরুন, একটি contract-এর bid 62 এবং ask 66, আর তার No side-এর bid 36 এবং ask 40। Yes 66-এ এবং No 40-এ কিনলে আপনি $1.06 পরিশোধ করেছেন, অথচ নিশ্চিতভাবে ফেরত পাবেন $1.00। দুইটিই তাদের bid দামে বিক্রি করলে $1.00-এর দায়ের বিপরীতে আপনি 98 cent সংগ্রহ করবেন। দুই ask-এর মধ্যে 6 cent ব্যবধানই overround। ক্রীড়া-বাজির ক্ষেত্রে এটিকে vig বলা হয়। সেখানে অবস্থান নেওয়ার জন্য venue এবং market maker-কে এই অর্থই দেওয়া হয়। এই ব্যবধান কেন তৈরি হয়, তা bid ask spread পৃষ্ঠায় ব্যাখ্যা করা হয়েছে।
De-vig হিসাব, ধাপে ধাপে
দুটি কোট করা মূল্য ইনপুট হিসেবে নেওয়া হয়। আউটপুটে এমন দুটি ন্যায্য probability পাওয়া যায়, যাদের যোগফল এক।
- প্রতিটি দিকের 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-এর জন্য 63 bid এবং 64 ask কোট করা হলো। No-এর ক্ষেত্রে bid 36 এবং ask 37। Mids হলো 63.5 এবং 36.5। Book-এর মোট মূল্য ঠিক 100 cents। De-vigged probability হলো 63.5%। দুটি ফলাফল—wide market থেকে 62.7% এবং tight market থেকে 63.5%—একে অপরের থেকে 1 point-এরও কম দূরে। কিন্তু এগুলোর চারপাশের বাস্তবসম্মত band এতটা সংকীর্ণ নয়। Wide quote-এর সঙ্গে 62 cent bid এবং 66 cent ask-এর মধ্যে যেকোনো probability সামঞ্জস্যপূর্ণ। তাই 4 cent market odds-কে প্রায় 4 points-এর মধ্যে সীমাবদ্ধ করে, এর চেয়ে বেশি নির্ভুলতা দেয় না। 4 cent market থেকে "62.7%" লেখা এমন তিনটি digit-এর precision প্রকাশ করে, যা market-এ নেই। Spread-এর প্রস্থই precision নির্ধারণ করে।
30% দামের অর্থ কি এটি 30% সময় ঘটে?
Calibration-ই এর পরীক্ষা: বাজার প্রায় 30% সম্ভাবনা নির্ধারণ করেছিল—এমন সব ঘটনা সংগ্রহ করুন, তারপর দেখুন সেগুলো কত ঘন ঘন ঘটেছে। January 2022 থেকে নথিভুক্ত প্রতিটি SPY call contract, মেয়াদ শেষ হওয়ার প্রায় 30 দিন আগে snapshot নেওয়া হয়েছে। এরপর সেগুলোকে implied probability bucket-এ সাজিয়ে দেখা হয়েছে, expiration date-এ SPY ওই strike-এর ওপরে বন্ধ হয়েছিল কি না।
| অন্তর্নিহিত শ্রেণি | Contracts | অন্তর্নিহিত সম্ভাবনা (%) | উপরে শেষ হওয়ার হার (%) |
|---|---|---|---|
| 2-10% | 4276 | 4.7 | 4.9 |
| 10-20% | 2262 | 14.8 | 19.1 |
| 20-30% | 1874 | 25 | 32.3 |
| 30-40% | 1832 | 35 | 42.8 |
| 40-50% | 1933 | 45 | 52.6 |
| 50-60% | 2213 | 55.1 | 60.9 |
| 60-70% | 2581 | 65.2 | 70.6 |
| 70-80% | 3071 | 75.2 | 79.2 |
| 80-90% | 3858 | 85.3 | 91.1 |
| 90-98% | 4806 | 94.3 | 97.8 |
প্রতিটি সংখ্যার পেছনের সঠিক 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-টি কাঠামোগত কারণেই এই ladder জুড়ে বাড়ে। Realized column-ই সেই অংশ, যা আগে থেকে কেউ জানত না। Ladder-এর নিচে, 2-10% bucket-এ 4276টি contract-এর implied গড় ছিল 4.7%, এবং 4.9% সময়ে দাম strike-এর ওপরে শেষ হয়েছিল। শীর্ষে, 90-98%-এর গড় ছিল 94.3% এবং দাম 97.8%-এ strike-এর ওপরে শেষ হয়েছিল। Ladder-এর নিচে realized share, শীর্ষের realized share-এর তুলনায় অনেক কম। Calibration মোটামুটি কার্যকর থাকলে এমন চিত্রই দেখা যায়।
এ ধরনের যেকোনো table-এর সঙ্গে দুটি সতর্কতা থাকে। সময়কাল গুরুত্বপূর্ণ: মূলত ঊর্ধ্বমুখী দামের সময়কাল নিয়ে sample তৈরি হলে প্রতিটি call bucket-এর realized column-ই উঁচু হবে। অন্য সময়কাল একই পরিমাপকে বদলে দেবে। আর delta জানায় pricing-কে অভ্যন্তরীণভাবে সামঞ্জস্যপূর্ণ করতে কী probability দরকার, কোনো forecaster কী বিশ্বাস করেন তা নয়। একই chain একটি threshold নয়, পুরো distribution-এর pricing করে (প্রত্যাশিত price move)।
বাজার যেসব contract-কে coin flip বলেছিল, অর্থাৎ প্রতি 1 ডলারে প্রায় 50 cent, সেগুলোতে সীমাবদ্ধ থেকে ছয়টি household name-এর ক্ষেত্রে:
| Symbol | Contracts | অন্তর্নিহিত সম্ভাবনা (%) | উপরে শেষ হওয়ার হার (%) |
|---|---|---|---|
| SPY | 4785 | 50.6 | 68.4 |
| AAPL | 716 | 50.4 | 62.4 |
| NVDA | 2641 | 50.2 | 57 |
| KO | 525 | 50.3 | 52.4 |
| MSFT | 1156 | 50 | 51 |
| XOM | 1280 | 49.9 | 49.9 |
প্রতিটি সংখ্যার পেছনের সঠিক 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টি contract-এর মধ্যে 68.4% সময়ে strike-এর ওপরে শেষ হয়েছিল, যেখানে 49.9% ছিল XOM-এর ক্ষেত্রে। 6টি name, একই implied probability, কিন্তু বাস্তবে ঘটনার হার বিস্তৃত পরিসরে ছড়িয়ে আছে। প্রায় 50 cent-এর price বাজারের odds বোঝায়। তবে কোনো একক contract শেষ পর্যন্ত $1.00 অথবা $0.00-তেই settle হয়।
$0.70 কন্ট্রাক্টে ব্রেক-ইভেন কত?
70 সেন্টে কেনা একটি কন্ট্রাক্টে Yes হলে $1.00 এবং No হলে কিছুই পাওয়া যায় না। লাভ 30 সেন্ট, ক্ষতি 70 সেন্ট, আর ব্রেক-ইভেন সম্ভাবনা ঠিক কন্ট্রাক্টের দামের সমান। প্রকৃত সম্ভাবনা 70% হলে অতিরিক্ত কয়েকটি ধাপসহ অবস্থাটি কার্যত মুদ্রা ছোড়ার মতো। 70%-এর ওপরে হলে খরচ বাদ দেওয়ার আগে হিসাবটি ক্রেতার পক্ষে যায়; নিচে হলে বিক্রেতার পক্ষে যায়।
খরচ এই সীমারেখাকে অসমভাবে সরিয়ে দেয়। 70 সেন্টের একটি কন্ট্রাক্টে round trip cost হিসেবে 1 সেন্ট যোগ হলে ব্রেক-ইভেন 70% থেকে বেড়ে প্রায় 71% হয়—অবস্থানের তুলনায় যা সামান্য। একই 1 সেন্ট 5 সেন্টের কন্ট্রাক্টে যোগ হলে ব্রেক-ইভেন 5% থেকে বেড়ে 6% হয় এবং তাত্ত্বিক edge-এর এক-পঞ্চমাংশ নষ্ট করে। সবচেয়ে কম দামের long shot-এ fixed fee সবচেয়ে বেশি ক্ষতি করে, কারণ প্রদত্ত দামের তুলনায় ফি-র অংশ সেখানে সর্বাধিক। Order type-ও একইভাবে প্রভাব ফেলে: spread অতিক্রম করলে পুরো ask মূল্য দিতে হয়, আর resting limit order আপনার নির্ধারিত দামে অপেক্ষা করে এবং কখনও execute নাও হতে পারে (market order বনাম limit order)।
কাছাকাছি নিশ্চিত ফলাফল $0.97 দামে কেন লেনদেন হয়?
যে ফলাফল নিয়ে কেউ বিতর্ক করে না, সেটিও খুব কম ক্ষেত্রেই $1.00 দামে লেনদেন হয়। শেষ 3 সেন্টের মধ্যে চারটি বিষয় থাকে:
- অর্থের সময়মূল্য। ডলারটি settlement-এর সময় পাওয়া যাবে। তিন মাস পরে $1.00 পাওয়ার জন্য আজ 97 সেন্ট দেওয়া মূলধনের ওপর একটি রিটার্ন, আর ওই নগদের অন্য ব্যবহারও থাকতে পারে (অব্যবহৃত নগদ সাময়িকভাবে রাখা)।
- Resolution source risk। চুক্তির settlement নির্ভর করে নির্ধারিত source কী রিপোর্ট করছে এবং সেই source কোন সময়সূচি অনুসরণ করছে তার ওপর। ফলাফল নিয়ে ঐকমত্য থাকলেও সংশোধন, বিলম্ব এবং অস্পষ্ট শব্দচয়ন গুরুত্বপূর্ণ থেকে যায়।
- নিজস্ব spread। কোনো market-এ bid 96 এবং ask 98 হলে mid হয় 97 সেন্ট, কিন্তু 97 দামে কোনো trade নাও হতে পারে। শতাংশের হিসাবে, book-এর প্রান্তে spread প্রায়ই সবচেয়ে বেশি থাকে।
- শেষ প্রান্তের ঝুঁকি। মানুষ "নিশ্চিত" শব্দটি অনেক সময় ঢিলেঢালাভাবে ব্যবহার করে। চুক্তির settlement rulebook-এ দেওয়া সংজ্ঞা অনুযায়ী হয়।
এই convergence পরিমাপ করা যায়। Expiry-এর এক মাস আগে coin flip-এর কাছাকাছি দামে থাকা SPY call নিন। পরে বাস্তবে কী ঘটেছিল তার ভিত্তিতে সেগুলো ভাগ করুন। এরপর ছয়টি checkpoint-এ গড় implied probability দেখুন।
| পর্যবেক্ষণ বিন্দু | শেষ পর্যন্ত হ্যাঁ (%) | শেষ পর্যন্ত না (%) | Contract-এর দিন |
|---|---|---|---|
| 30 days out | 52.6 | 47.8 | 5650 |
| 21 days out | 61.3 | 41.9 | 3871 |
| 14 days out | 66.3 | 36.8 | 3666 |
| 7 days out | 73.3 | 29.2 | 2177 |
| 3 days out | 76.8 | 27.2 | 1779 |
| 1 day out | 79.8 | 14.4 | 785 |
প্রতিটি সংখ্যার পেছনের সঠিক 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-এ, শেষ পর্যন্ত strike-এর ওপরে শেষ হওয়া চুক্তিগুলোর গড় implied probability ছিল 52.6%। বিপরীতে, যেগুলো ওপরে শেষ হয়নি সেগুলোর গড় ছিল 47.8%। 1 day out-এ একই দুই গোষ্ঠীর মান ছিল যথাক্রমে 79.8% এবং 14.4%। এই বিভাজনটি hindsight-এর ভিত্তিতে তৈরি। প্রথম checkpoint-এ chain পড়ে কেউই দুই গোষ্ঠীকে আলাদা করতে পারত না। একটি live event contract সব সময় এই অবস্থাতেই থাকে। Settlement date-এ certainty আসে, আর price ধীরে ধীরে সেই স্তরে পৌঁছায়। Settlement rules সঠিক মুহূর্ত নির্ধারণ করে। AM বনাম PM settled options দেখায়, timing-এর এই সূক্ষ্ম বিষয়টি কতটা গুরুত্বপূর্ণ হতে পারে। আর implied volatility একই chain-এর মাধ্যমে দিকের বদলে আকারসংক্রান্ত প্রশ্নের উত্তর দেয়।
ডেটা-সংক্রান্ত নোট ও সীমাবদ্ধতা
Delta একটি Yes price-এর বিকল্প সূচক, তবে এটি একই বিষয় নয়। এটি in-the-money অবস্থায় expiry হওয়ার risk-neutral odds আনুমানিকভাবে প্রকাশ করে এবং একই event-এর model probability থেকে সামান্য ভিন্ন। এখানে ফলাফল বলতে expiration date-এ regular-session closing price strike-এর ওপরে ছিল কি না, তা বোঝানো হয়েছে। এটি settlement-এর আনুমানিক ধারণা দেয়, তবে official settlement value পুনরুৎপাদন করে না। প্রতিটি options panel-এ সংশ্লিষ্ট তারিখে ওই contract-এর converged implied volatility এবং non-zero volume থাকা বাধ্যতামূলক। তাই কম লেনদেন হওয়া contract-গুলো sample থেকে বাদ পড়ে। প্রতিটি contract calibration panel-এ একবারই প্রবেশ করে, expiry-এর 30 দিনের কাছাকাছি snapshot-এ।
Event contract মূল্য নির্ধারণ: প্রায়শই জিজ্ঞাসিত প্রশ্ন
Event contract-এর মূল্য কি probability-এর সমান?
এটি দুটি সমন্বয়সহ একটি probability। কোটে venue এবং market maker-দের নেওয়া spread অন্তর্ভুক্ত থাকে। পাশাপাশি, settlement-এর সময় পাওয়া 1 dollar-কে আজকের মূল্যে হিসাব করা হয়। এই দুটি প্রভাব বাদ দিলে যা থাকে, তা হলো বাজারের clearing estimate অনুযায়ী সম্ভাবনা।
দুই-পক্ষের বাজারে de-vigging করলে কী হয়?
এতে দুইটি mid এমনভাবে পুনঃস্কেল করা হয়, যাতে তাদের যোগফল 100% হয়। Yes mid এবং No mid যোগ করে প্রতিটিকে সেই মোট দিয়ে ভাগ করতে হয়। 64 cent-এর Yes এবং 38 cent-এর No মিলে 102 cent হয়। de-vigged জোড়াটি তখন 62.7% এবং 37.3% হিসেবে দেখা যায়।
Yes এবং No-এর মূল্য 1 dollar-এর বেশি হয় কেন?
দুইটির একটির settlement-এ অবশ্যই $1.00 প্রদান করার কথা। তাই frictionless অবস্থায় দুই দিকের মোট মূল্য ঠিক $1.00 হওয়ার কথা। ask side-এ অতিরিক্ত cent-গুলো হলো overround, অর্থাৎ দুই-পক্ষের বাজারে অন্তর্নির্মিত spread revenue। উভয় দিক বিক্রি করলে একই ব্যবধানের বিপরীত প্রতিফলন হিসেবে মোট প্রাপ্তি 1 dollar-এর নিচে নেমে যায়।
90 cent মূল্যের কোনো contract কি দশবারে একবার ব্যর্থ হয়?
অনেক একই ধরনের contract জুড়ে বাজারের calibration ভালো হলে, মোটামুটি তাই। উপরের SPY panel-এ 90-98% bucket-এর average implied probability ছিল 94.3%, এবং 97.8% সময়ে তা strike-এর ওপরে শেষ হয়েছে। তবে একটি নির্দিষ্ট contract শেষ পর্যন্ত 1 dollar অথবা zero-তেই settle হয়।
প্রশস্ত spread implied probability কতটা পরিবর্তন করে?
Spread যতটা প্রশস্ত, প্রভাবও প্রায় ততটাই। 1 cent-এর market সম্ভাবনাকে 1 percentage point-এর মধ্যে সীমাবদ্ধ করে। 4 cent-এর market 4 percentage point-এর একটি band রেখে যায়। ওই band-এর ভেতরের প্রতিটি probability-ই কোটটির সঙ্গে সামঞ্জস্যপূর্ণ।
উপরের প্রতিটি সংখ্যা listed contract data-এর ওপর চালানো একটি stored query থেকে নেওয়া হয়েছে। প্রতিটি panel-এর পেছনের SQL এক ক্লিকেই দেখা যায়। Strasmore terminal-এ live chain-এর বিরুদ্ধে একই de-vig arithmetic চালান।