ఈవెంట్ కాంట్రాక్ట్ ధరలను సంభావ్యతగా ఎలా అర్థం చేసుకోవాలి
ఈవెంట్ కాంట్రాక్ట్ ధర ఒక సంభావ్యతను సూచిస్తుంది. ఎందుకు Yes మరియు No కాంట్రాక్టుల మొత్తం ఒక డాలర్ కంటే ఎక్కువగా ఉంటుందో మరియు మార్కెట్ స్ప్రెడ్ సర్దుబాటు ఎలా చేయాలో ఇక్కడ తెలుసుకోండి.
ఈవెంట్ కాంట్రాక్ట్ ధర మరియు సంభావ్యత
ఒక ఈవెంట్ కాంట్రాక్ట్ ధర అనేది దాని చుట్టూ ఉన్న spreadతో కూడిన సంభావ్యతను సూచిస్తుంది. పేర్కొన్న ఫలితం సంభవిస్తే ఈ కాంట్రాక్ట్ $1.00 చెల్లిస్తుంది, లేని పక్షంలో $0.00 చెల్లిస్తుంది. ఈ నిర్ణీత చెల్లింపు (fixed payout) విధానమే గణితాన్ని సాధ్యం చేస్తుంది: ఒక డాలర్ చెల్లించే కాంట్రాక్టుపై 30 సెంట్లు ఉండటం అంటే, మార్కెట్ సుమారు 30% సంభావ్యతను అంచనా వేస్తోందని అర్థం. ఈ సంఖ్యను సరిగ్గా అర్థం చేసుకోవడానికి spread కోసం ఒక సర్దుబాటు, మరియు settlement వెనుక ఉన్న విధానాల కోసం మరొక సర్దుబాటు అవసరం.
ఈవెంట్ కాంట్రాక్ట్ ధర సంభావ్యత గురించి ఏమి చెబుతుంది
అంతా పేఅవుట్ (payout) పైనే ఆధారపడి ఉంటుంది. ఒక 'Yes' కాంట్రాక్టును 'p' ధర వద్ద కొనుగోలు చేస్తే, ఫలితం 'Yes' అని వస్తే మీరు $1.00 పొందుతారు, లేకపోతే ఏమీ రాదు. అనేకసార్లు పునరావృతమైనప్పుడు, సగటు పేఅవుట్ అనేది 'Yes' వచ్చే నిజమైన సంభావ్యతను సూచిస్తుంది. సరిగ్గా ఆ సంభావ్యతకు సమానమైన ధర చెల్లిస్తే, మీకు లాభం లేదా నష్టం ఉండదు. చెల్లించిన ధరయే బ్రేక్-ఈవెన్ సంభావ్యత, అందుకే ఒకే సంఖ్య ఈ రెండు విధులను నిర్వహిస్తుంది.
నాలుగు పదాలు, ఒక్కసారి నిర్వచించబడ్డాయి:
- Yes contract: ఫలితం జరిగినప్పుడు $1.00 చెల్లిస్తుంది, లేకపోతే $0.00 చెల్లిస్తుంది.
- No contract: ఫలితం జరగనప్పుడు $1.00 చెల్లిస్తుంది. 'Yes' మరియు 'No' అనేవి ఒకే నాణేనికి ఉన్న రెండు పార్శ్వాలు.
- Settlement: కాంట్రాక్టు పరిష్కారమై, ఒక వైపు వారు డాలర్ను పొందే క్షణం.
- Resolution source: కాంట్రాక్టు దేని ఆధారంగా పరిష్కరించబడుతుందో ఆ నిర్దిష్ట నివేదిక లేదా ఫీడ్. ఇది వాస్తవానికి ఏమి జరిగిందనే దానిపై కాకుండా, ఆ మూలం పేర్కొన్న దానిపై చెల్లింపు చేస్తుంది.
ఈవెంట్ కాంట్రాక్ట్ కోట్స్ ఈ పేజీ వెనుక ఉన్న డేటా సెట్లో భాగం కావు. క్రింద ఉన్న ప్రతి ప్యానెల్, నేరుగా కొలవగలిగే చోట, లిస్టెడ్ US ఈక్విటీ ఆప్షన్లలో ఒకే విధమైన గణితాన్ని లెక్కిస్తుంది. ఒక కాల్ ఆప్షన్ యొక్క delta సున్నా నుండి ఒకటి వరకు ఉంటుంది మరియు ఆ కాంట్రాక్టు 'in the money'గా ముగుస్తుందనే మార్కెట్ అంచనాలను సూచిస్తుంది. ఇది ఈవెంట్ కాంట్రాక్ట్ అడిగే అదే ద్వియాంశ (binary) ప్రశ్న: సెటిల్మెంట్ తేదీన నిర్ణీత స్థాయి పైన ఉంటుందా లేదా అని. డెల్టా అనేది ఆ సంభావ్యతకు ఒక ఉజ్జాయింపు, ఇది అంచనా కంటే రిస్క్-న్యూట్రల్ కొలత. రెండు పరిమితులు ప్యానెల్స్లో కనిపిస్తాయి. ఆప్షన్ డెల్టా గైడ్ ఈ కొలత గురించి వివరిస్తుంది.
Yes మరియు No ఎందుకు 1 డాలర్ కంటే ఎక్కువ మొత్తాన్ని కలిగి ఉంటాయి?
ఒక Yes మరియు దానికి సరిపోయే No మొత్తం ఫలితాల పరిధిని కవర్ చేస్తాయి, మరియు వాటిలో ఖచ్చితంగా ఒకటి మాత్రమే చెల్లింపును పొందుతుంది. ఒక options chainలో, ఒకే strike price మరియు ఒకే గడువు తేదీ (expiry) వద్ద ఉండే call మరియు put ఒక జంటగా ఉంటాయి: strike price పైన ఉంటే call ఇన్-ది-మనీ (in the money) అవుతుంది, strike price కింద ఉంటే put ఇన్-ది-మనీ అవుతుంది. వీటి సంభావ్యతల మొత్తం వంద శాతం ఉండాలి. ఒక రోజున SPY chainలో, స్పాట్ ధర చుట్టూ రెండు శాతం పరిధిలో వర్గీకరించబడిన ఆ జంట ఇక్కడ ఉంది.
| స్ట్రైక్ vs స్పాట్ | అవును సంభావ్యత (%) | కాదు సంభావ్యత (%) | మొత్తం జత (%) | స్ట్రైక్స్ |
|---|---|---|---|---|
| -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 వైపు 91.6% మరియు put వైపు 7.8% ఉన్నాయి, వీటి మొత్తం 99.5%. లాడర్ యొక్క చివరి చివరన, +6% vs spot వద్ద, రెండింటి విలువలు 3.6% మరియు 82.5%, వీటి మొత్తం 86.2%. అన్ని 8 పరిధులు వంద శాతానికి దగ్గరగా ఉంటాయి. చార్ట్ అంతటా కనిపించే ఆ సమాంతర రేఖే ప్రతి బైనరీ మార్కెట్ పాటించాల్సిన పరిమితి. రెండు వైపులా ఉన్న మొత్తం పొజిషన్లను put call ratio లెక్కిస్తుంది.
మోడల్ విలువలు క్రమబద్ధంగా ఉంటాయి, కానీ కోట్స్ అలా ఉండవు. ఒక కాంట్రాక్ట్ 62 బిడ్ మరియు 66 ఆస్క్ వద్ద, దాని No వైపు 36 బిడ్ మరియు 40 ఆస్క్ వద్ద కోట్ చేయబడిందని అనుకుందాం. మీరు 66 వద్ద Yes మరియు 40 వద్ద No కొనుగోలు చేస్తే, 1.00 డాలర్ రాబడిని ఇచ్చే పొజిషన్ కోసం మీరు 1.06 డాలర్లు చెల్లించినట్లు అవుతుంది. రెండింటినీ వాటి బిడ్ ధరల వద్ద విక్రయిస్తే, 1.00 డాలర్ బాధ్యతకు గాను మీరు 98 సెంట్లు పొందుతారు. రెండు ఆస్క్ ధరల మధ్య ఉన్న ఆ 6 సెంట్ల వ్యత్యాసాన్నే ఓవర్-రౌండ్ (overround) అంటారు; క్రీడా పందెపు రంగంలో దీనిని 'విగ్' (vig) అని పిలుస్తారు. మార్కెట్ మేకర్ మరియు వేదిక అక్కడ సేవలు అందిస్తున్నందుకు పొందే ప్రతిఫలం ఇదే. bid ask spread పేజీలో ఈ వ్యత్యాసం ఎందుకు ఉంటుందో వివరించబడింది.
డీ-విగ్ (de-vig) గణితం, దశలవారీగా
రెండు కోట్ చేసిన ధరలను తీసుకోవాలి. మొత్తం ఒకటి అయ్యేలా రెండు సరైన సంభావ్యతలు (fair probabilities) వస్తాయి.
- ప్రతి వైపు మధ్య విలువను (mid) తీసుకోవాలి. Yes మధ్య విలువ 64 సెంట్లు, No మధ్య విలువ 38 సెంట్లు.
- వాటిని కలపాలి. బుక్ మొత్తం 102 సెంట్లు అవుతుంది.
- ప్రతి మధ్య విలువను ఆ మొత్తంతో భాగించాలి. 64 / 102 అంటే 62.7%. 38 / 102 అంటే 37.3%.
- మొత్తాన్ని సరిచూసుకోవాలి. ఇప్పుడు ఆ జంట 100%గా ఉంటుంది.
ఆ రీస్కేలింగ్ చేయడమే డీ-విగ్ చేయడం అంటే, డెసిమల్ ఆడ్స్కు బెట్టర్ వర్తింపజేసే నార్మలైజేషన్ కూడా ఇదే.
ఇప్పుడు దీనిని మరింత తక్కువ spread ఉన్న మార్కెట్పై ప్రయోగిద్దాం. అదే కాంట్రాక్టును 63 బిడ్ వద్ద 64 ఆస్క్, No ని 36 బిడ్ వద్ద 37 ఆస్క్ అని కోట్ చేద్దాం. మధ్య విలువలు 63.5 మరియు 36.5, బుక్ మొత్తం సరిగ్గా 100 సెంట్లు, మరియు డీ-విగ్ చేసిన సంభావ్యత 63.5%. రెండు సమాధానాలు, అంటే వైడ్ మార్కెట్ నుండి వచ్చిన 62.7% మరియు తక్కువ spread ఉన్న మార్కెట్ నుండి వచ్చిన 63.5%, ఒక పాయింట్ కంటే తక్కువ తేడాతో ఉన్నాయి. వాటి చుట్టూ ఉన్న నిజమైన పరిధి అలా ఉండదు. 62 సెంట్ల బిడ్ మరియు 66 సెంట్ల ఆస్క్ మధ్య ఉన్న ఏ సంభావ్యత అయినా వైడ్ కోట్తో సరిపోతుంది, కాబట్టి 4 సెంట్ల మార్కెట్ ఆడ్స్ను సుమారు 4 పాయింట్ల పరిధిలో మాత్రమే ఉంచుతుంది, అంతకంటే ఎక్కువ కాదు. 4 సెంట్ల మార్కెట్ నుండి "62.7%" అని రాయడం అంటే, మార్కెట్లో లేని మూడు అంకెల ఖచ్చితత్వాన్ని పేర్కొనడమే. స్ప్రెడ్ వెడల్పు (spread width) అంటేనే ఖచ్చితత్వం.
30% ధర అంటే అది 30% సందర్భాల్లో జరుగుతుందని అర్థమా?
దీనికి సమాధానం కనుగొనడానికి 'క్యాలిబ్రేషన్' (Calibration) పరీక్ష అవసరం: మార్కెట్ 30% ధర వద్ద నిర్ణయించిన అన్ని అంశాలను సేకరించి, అవి వాస్తవంగా ఎన్నిసార్లు జరిగాయో లెక్కించాలి. 2022 జనవరి నుండి అందుబాటులో ఉన్న ప్రతి SPY call contractను, గడువు ముగియడానికి సుమారు 30 రోజుల ముందు స్నాప్షాట్ తీసి, వాటిని implied probability బకెట్లుగా విభజించి, గడువు ముగిసే నాటికి SPY ధర ఆ strike price కంటే పైన ముగిసిందో లేదో పరిశీలించాము.
| ఇంప్లైడ్ బకెట్ | కాంట్రాక్టులు | సూచించిన సంభావ్యత (%) | పైన ముగిసిన (%) |
|---|---|---|---|
| 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_pctనిర్మాణపరంగా చూస్తే, implied కాలమ్ విలువలు క్రమంగా పెరుగుతూ ఉంటాయి. realized కాలమ్ అనేది ముందుగా ఎవరికీ తెలియని అంశం. దిగువన ఉన్న 2-10% బకెట్లో, 4276 కాంట్రాక్టులపై సగటున 4.7% implied ప్రాబబిలిటీ ఉండగా, అవి 4.9% సందర్భాల్లో తమ strike price కంటే పైన ముగిశాయి. ఎగువన, 90-98% సగటున 94.3% కలిగి ఉండి, 97.8% సందర్భాల్లో ఆ స్థాయిని చేరుకున్నాయి. ఈ పట్టిక దిగువన ఉన్న realized వాటా, ఎగువన ఉన్న దానికంటే చాలా తక్కువగా ఉంది; క్యాలిబ్రేషన్ సరిగ్గా ఉన్నప్పుడు ఇలాగే కనిపిస్తుంది.
ఇటువంటి పట్టికలను విశ్లేషించేటప్పుడు రెండు విషయాలను గుర్తుంచుకోవాలి. కాలపరిమితి చాలా ముఖ్యం: ధరలు పెరుగుతున్న సమయాన్ని పరిగణనలోకి తీసుకుంటే, ప్రతి call బకెట్ యొక్క realized కాలమ్ విలువ పెరుగుతుంది, అదే వేరే కాలపరిమితిని తీసుకుంటే ఈ కొలతలు మారుతాయి. అలాగే, డెల్టా (delta) అనేది మార్కెట్ ధరల నిర్ణయంలో అంతర్గత స్థిరత్వాన్ని సూచిస్తుంది తప్ప, ఏదైనా అంచనాదారుడి అభిప్రాయాన్ని కాదు. ఒకే chain మొత్తం డిస్ట్రిబ్యూషన్ను ధరగా నిర్ణయిస్తుంది, కేవలం ఒక పరిమితిని మాత్రమే కాదు (అంచనా వేసిన కదలిక).
మార్కెట్ 50 శాతం అవకాశంగా భావించిన (సుమారు 50 సెంట్లు) కాంట్రాక్టులను, ఆరు ప్రముఖ కంపెనీల పరంగా పరిశీలిస్తే:
| సింబల్ | కాంట్రాక్టులు | సూచించిన సంభావ్యత (%) | పైన ముగిసిన (%) |
|---|---|---|---|
| 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 DESCనిర్మాణపరంగా ప్రతి వరుసలో implied ప్రాబబిలిటీ 50% వద్ద ఉంటుంది. కానీ realized కాలమ్ విలువలు మారుతూ ఉంటాయి: SPY, 4785 కాంట్రాక్టులలో 68.4% సార్లు strike price పైన ముగిసింది, అదే XOM విషయంలో ఇది 49.9%గా ఉంది. 6 కంపెనీలు, ఒకే విధమైన implied ప్రాబబిలిటీ ఉన్నప్పటికీ, వాస్తవ ఫలితాల్లో భారీ వ్యత్యాసం ఉంది. 50 సెంట్ల ధర మార్కెట్ అంచనాలను మాత్రమే తెలియజేస్తుంది. ఏదైనా ఒక కాంట్రాక్టు చివరికి $1.00 లేదా $0.00 వద్దే సెటిల్ అవుతుంది.
$0.70 కాంట్రాక్టుపై బ్రేక్-ఈవెన్ ఎంత?
70 సెంట్లకు కొనుగోలు చేసిన కాంట్రాక్టు, 'Yes' అయితే $1.00 చెల్లిస్తుంది, 'No' అయితే ఏమీ చెల్లించదు. ఇందులో లాభం 30 సెంట్లు, నష్టం 70 సెంట్లు, మరియు బ్రేక్-ఈవెన్ సంభావ్యత సరిగ్గా ఆ ధర వద్దే ఉంటుంది. వాస్తవ సంభావ్యత 70% ఉన్నప్పుడు, ఈ పొజిషన్ అదనపు దశలతో కూడిన ఒక కాయిన్ ఫ్లిప్ (నాణెం ఎగురవేయడం) వంటిది. 70% కంటే ఎక్కువ ఉంటే గణితం కొనుగోలుదారుకు అనుకూలంగా, తక్కువ ఉంటే ప్రతికూలంగా ఉంటుంది; ఇవన్నీ ఖర్చులకు ముందే లెక్కించబడతాయి.
ఖర్చులు ఈ బ్రేక్-ఈవెన్ స్థాయిని అసమానంగా మారుస్తాయి. 70 సెంట్ల కాంట్రాక్టుకు ఒక సెంట్ రౌండ్ ట్రిప్ ఖర్చును జోడిస్తే, బ్రేక్-ఈవెన్ 70% నుండి సుమారు 71%కి మారుతుంది, ఇది పొజిషన్ పరిమాణంతో పోలిస్తే ఒక చిన్న రౌండింగ్ లోపం మాత్రమే. అదే ఒక సెంట్ ఖర్చును 5 సెంట్ల కాంట్రాక్టుకు జోడిస్తే, బ్రేక్-ఈవెన్ 5% నుండి 6%కి మారుతుంది, అంటే సిద్ధాంతపరమైన లాభంలో ఐదవ వంతును ఇది హరిస్తుంది. స్థిర రుసుములు (fixed fees) తక్కువ ధర ఉన్న లాంగ్ షాట్స్ (long shots)పైనే అత్యధిక ప్రభావం చూపుతాయి, ఎందుకంటే అక్కడ రుసుము చెల్లించిన ధరలో పెద్ద భాగంగా ఉంటుంది. ఆర్డర్ రకం కూడా ఇదే విధంగా పనిచేస్తుంది: స్ప్రెడ్ను క్రాస్ చేయడం ద్వారా పూర్తి ఆస్క్ ధర చెల్లించాల్సి వస్తుంది, అదే మీరు నిర్ణయించిన ధర వద్ద ఉంచే లిమిట్ ఆర్డర్ ఎప్పటికీ ఫిల్ కాకపోవచ్చు (మార్కెట్ ఆర్డర్ vs లిమిట్ ఆర్డర్).
దాదాపు ఖచ్చితమైన ఫలితం $0.97 వద్ద ఎందుకు ట్రేడ్ అవుతుంది?
ఎవరూ వివాదం చేయని ఫలితం కూడా అరుదుగా $1.00 వద్ద ట్రేడ్ అవుతుంది. ఆ చివరి 3 సెంట్ల ధరలో నాలుగు అంశాలు ఉంటాయి:
- డబ్బు యొక్క కాల విలువ (Time value of money). సెటిల్మెంట్ సమయంలో డాలర్ అందుతుంది. మూడు నెలల్లో వచ్చే $1.00 కోసం ఈరోజు 97 సెంట్లు చెల్లించడం అనేది మూలధనంపై రాబడి, మరియు ఆ నగదుకు ఇతర ఉపయోగాలు ఉంటాయి (నిష్క్రియ నగదును పార్క్ చేయడం).
- రిజల్యూషన్ సోర్స్ రిస్క్. పేర్కొన్న మూలం (source) నివేదించే దానిపై, ఆ మూలం పాటించే షెడ్యూల్ ప్రకారం కాంట్రాక్ట్ సెటిల్ అవుతుంది. అంగీకరించిన ఫలితం విషయంలో కూడా సవరణలు, జాప్యాలు మరియు అస్పష్టమైన పదజాలం ఉండే అవకాశం ఉంది.
- స్ప్రెడ్ (Spread) స్వభావం. ఒక మార్కెట్ 96 బిడ్ మరియు 98 ఆస్క్ ధరలను కలిగి ఉంటే, దాని మధ్య విలువ 97 సెంట్లు అవుతుంది, కానీ 97 వద్ద ఎటువంటి ట్రేడ్లు జరగకపోవచ్చు. శాతం పరంగా చూస్తే, బుక్ అంచుల వద్ద స్ప్రెడ్ ఎక్కువగా ఉంటుంది.
- టెయిల్ రిస్క్ (The tail). "ఖచ్చితం" అనేది ప్రజలు తేలికగా వాడే పదం. కాంట్రాక్టులు రూల్బుక్లోని నిర్వచనం ప్రకారం సెటిల్ అవుతాయి.
ఈ కన్వర్జెన్స్ (convergence) కొలవదగినది. ఎక్స్పైరీకి ఒక నెల ముందు కాయిన్ ఫ్లిప్ (సమాన అవకాశాలు) వద్ద ధర నిర్ణయించబడిన SPY కాల్లను తీసుకోండి, చివరకు ఏమి జరిగిందో దాని ఆధారంగా వాటిని విభజించండి, మరియు ఆరు చెక్పాయింట్ల వద్ద సగటు ఇంప్లైడ్ ప్రాబబిలిటీని గమనించండి.
| చెక్ పాయింట్ | తుది అవును (%) | తుది కాదు (%) | కాంట్రాక్ట్ రోజులు |
|---|---|---|---|
| 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 వద్ద, చివరకు తమ స్ట్రైక్ ధర కంటే పైన ముగిసిన కాంట్రాక్టులు 52.6% సగటు ఇంప్లైడ్ ప్రాబబిలిటీని కలిగి ఉన్నాయి, అదే కాకుండా ముగియని వాటికి 47.8% ఉంది. 1 day out సమయానికి, అదే రెండు గ్రూపులు 79.8% మరియు 14.4% వద్ద ఉన్నాయి. ఈ విభజన వెనక్కి తిరిగి చూసినప్పుడు (hindsight) స్పష్టమవుతుంది. మొదటి చెక్పాయింట్ వద్ద చైన్ను చూస్తున్న ఎవరూ ఈ రెండు గ్రూపుల మధ్య తేడాను గుర్తించలేరు, లైవ్ ఈవెంట్ కాంట్రాక్ట్ ఎప్పుడూ ఇదే స్థితిలో ఉంటుంది. సెటిల్మెంట్ తేదీన ఖచ్చితత్వం వస్తుంది, మరియు ధర క్రమంగా ఆ స్థాయికి చేరుకుంటుంది. సెటిల్మెంట్ నిబంధనలు ఖచ్చితమైన సమయాన్ని నిర్ణయిస్తాయి: AM vs PM సెటిల్డ్ ఆప్షన్లు ఆ సమయ వివరాలు ఎంత ముఖ్యమో చూపుతాయి, మరియు ఇంప్లైడ్ వోలటాలిటీ అనేది అదే చైన్ యొక్క దిశకు బదులుగా పరిమాణం (size) గురించిన ప్రశ్నకు సమాధానం.
డేటా గమనికలు మరియు పరిమితులు
డెల్టా అనేది 'Yes' ధరను సూచించే ఒక ప్రతినిధి మాత్రమే, అది అదే వస్తువు కాదు. ఇది ఇన్-ది-మనీలో ఎక్స్పైర్ అయ్యే రిస్క్-న్యూట్రల్ అవకాశాలను అంచనా వేస్తుంది మరియు అదే ఈవెంట్ యొక్క మోడల్ ప్రాబబిలిటీ కంటే స్వల్పంగా భిన్నంగా ఉంటుంది. ఇక్కడ ఫలితాలు ఎక్స్పైరేషన్ తేదీన రెగ్యులర్-సెషన్ ముగింపు ధరను స్ట్రైక్ ధరతో పోలుస్తాయి, ఇది అధికారిక సెటిల్మెంట్ విలువను ప్రతిబింబించకుండా సెటిల్మెంట్ను సుమారుగా అంచనా వేస్తుంది. ప్రతి ఆప్షన్ల ప్యానెల్ ఆ తేదీన కన్వర్జ్ అయిన ఇంప్లైడ్ వోలటాలిటీ మరియు సున్నా కాని వాల్యూమ్ ఆధారంగా ఫిల్టర్ చేయబడుతుంది, కాబట్టి తక్కువ ట్రేడింగ్ జరిగే కాంట్రాక్టులు శాంపిల్ నుండి తొలగించబడతాయి. ప్రతి కాంట్రాక్ట్ ఎక్స్పైరీకి 30 రోజుల ముందు ఉన్న స్నాప్షాట్ వద్ద ఒక్కసారి మాత్రమే కాలిబ్రేషన్ ప్యానెల్స్లోకి ప్రవేశిస్తుంది.
ఈవెంట్ కాంట్రాక్ట్ ధరల గురించి తరచుగా అడిగే ప్రశ్నలు
ఈవెంట్ కాంట్రాక్ట్ ధర మరియు సంభావ్యత (probability) ఒకటేనా?
ఇది రెండు సర్దుబాట్లతో కూడిన సంభావ్యత. ఈ ధరలో ట్రేడింగ్ వేదిక మరియు మార్కెట్ మేకర్లు వసూలు చేసే spread కలిసి ఉంటుంది. అలాగే, ఇది నేటి విలువను కాకుండా, సెటిల్మెంట్ సమయంలో అందే ఒక డాలర్ విలువను సూచిస్తుంది. ఈ రెండింటినీ తొలగిస్తే, మార్కెట్ అంచనా వేసే అసలు సంభావ్యత మిగులుతుంది.
టూ-సైడెడ్ మార్కెట్లో 'de-vigging' చేయడం వల్ల ఏమి జరుగుతుంది?
ఇది రెండు వైపుల ధరలను (mids) కలిపితే 100% వచ్చేలా సర్దుబాటు చేస్తుంది. Yes మరియు No వైపుల midsను కలిపి, ఆ మొత్తంతో ప్రతి దానిని భాగించాలి. ఉదాహరణకు, 64 సెంట్ల Yes మరియు 38 సెంట్ల No కలిపితే 102 సెంట్లు అవుతుంది. అప్పుడు de-vig చేసిన తర్వాత అవి 62.7% మరియు 37.3%గా ఉంటాయి.
Yes మరియు No ధరలు కలిపితే ఒక డాలర్ కంటే ఎందుకు ఎక్కువగా ఉంటాయి?
ఈ రెండింటిలో ఏదో ఒకటి ఖచ్చితంగా $1.00 చెల్లిస్తుంది, కాబట్టి ఎటువంటి ఖర్చులు లేని మార్కెట్లో ఈ రెండింటి మొత్తం ఖచ్చితంగా $1.00 ఉండాలి. అదనంగా ఉన్న సెంట్లు 'overround'ను సూచిస్తాయి; ఇది టూ-సైడెడ్ మార్కెట్లో spread ద్వారా వచ్చే ఆదాయం. రెండు వైపులా విక్రయిస్తే, మీరు ఒక డాలర్ కంటే తక్కువ మొత్తాన్ని పొందుతారు, ఇది అదే వ్యత్యాసానికి ప్రతిబింబం.
90 సెంట్ల ధర ఉన్న కాంట్రాక్ట్ పదింటిలో ఒకసారి విఫలమవుతుందా?
అనేక సారూప్య కాంట్రాక్టులలో మార్కెట్ సరిగ్గా అంచనా వేయబడితే, ఇది సుమారుగా నిజం. పైన ఉన్న SPY ప్యానెల్లో, 90-98% బకెట్ సగటున 94.3% సంభావ్యతను కలిగి ఉండి, దాని strike ధర కంటే 97.8% సార్లు పైన ముగిసింది. ఒకే కాంట్రాక్ట్ మాత్రం చివరకు ఒక డాలర్ లేదా సున్నా వద్దే సెటిల్ అవుతుంది.
విస్తృతమైన spread సంభావ్యతను ఎంతవరకు మారుస్తుంది?
సుమారుగా spread ఎంత వెడల్పు ఉంటే అంతవరకు మారుస్తుంది. 1 సెంట్ మార్కెట్ సంభావ్యతను ఒక పాయింట్ పరిధిలో ఉంచుతుంది. 4 సెంట్ల మార్కెట్ 4 పాయింట్ల బ్యాండ్ను వదిలివేస్తుంది, ఆ బ్యాండ్లో ఉన్న ప్రతి సంభావ్యత ఆ కోట్కు అనుగుణంగానే ఉంటుంది.
పైన ఉన్న ప్రతి సంఖ్య లిస్టెడ్ కాంట్రాక్ట్ డేటాపై జరిపిన క్వెరీ నుండి సేకరించబడింది. ప్రతి ప్యానెల్ వెనుక ఉన్న SQLను ఒక క్లిక్తో చూడవచ్చు. Strasmore టెర్మినల్లో లైవ్ చైన్పై ఇదే de-vig గణితాన్ని మీరు కూడా ప్రయత్నించవచ్చు.