محاسبه ماکس پین در اختیار معامله
ماکس پین قیمت اعمالی است که دارندگان اختیار معامله کمترین سود را در سررسید میبرند. این مقاله محاسبه آن را روی زنجیره SPY نشان میدهد و نزدیکی تسویه واقعی را اندازه میگیرد.
ماکس پین (Max Pain) قیمت اعمالی (strike price) است که در آن، بیشترین ارزش دلاری قراردادهای اختیار معامله (options) باز، بیارزش منقضی میشوند. این عدد متعلق به یک دارایی پایه و یک تاریخ انقضا است و از جستوجو در میان بهره باز (open interest) به دست میآید: هر قیمت اعمالی فهرستشده را به عنوان یک قیمت تسویه فرضی آزمایش کنید، مبلغی را که هر اختیار خرید (call) و فروش (put) باز در آن قیمت به دارندهاش پرداخت میکند، جمع بزنید، و قیمتی را نگه دارید که مجموع آن کمترین است. این نام، سمت دارندگان اختیار معامله را در دفتر کل توصیف میکند. این صفحه، محاسبات را روی یک زنجیره واقعی SPY پیاده میکند و سپس اندازه میگیرد که قیمت تسویه واقعی در انقضاهای ماهانه استاندارد سال 2026 چقدر به آن نزدیک بوده است.
ماکس پین چگونه محاسبه میشود؟
ماکس پین یک جستوجو است تا یک فرمول. پنج مرحله دارد:
- بهره باز، یعنی تعداد قراردادهای هنوز باز، را در هر قیمت اعمالی برای آن انقضا جمعآوری کنید، با تفکیک اختیار خرید و فروش.
- یک قیمت تسویه کاندید انتخاب کنید. خود قیمتهای اعمالی فهرستشده، مجموعه کاندید معمول هستند.
- ارزش هر اختیار خرید را به صورت قیمت کاندید منهای قیمت اعمالی آن، با کف صفر، و هر اختیار فروش را به صورت قیمت اعمالی آن منهای قیمت کاندید، با کف صفر، محاسبه کنید.
- هر ارزش را در بهره باز آن قیمت اعمالی و در ضریب قرارداد 100 سهمی ضرب کنید، سپس کل زنجیره را به یک رقم دلاری جمع بزنید.
- برای هر کاندید تکرار کنید و کمترین مجموع را نگه دارید. آن کاندید، قیمت اعمالی ماکس پین است.
یک مثال فرضی مکانیک را مشخص میکند. فرض کنید 1000 اختیار خرید در قیمت اعمالی 95 دلار باز هستند و تسویه در 100 دلار انجام میشود. هر قرارداد 5 دلار به ازای هر سهم به دارندهاش پرداخت میکند، بنابراین این بلوک 500,000 دلار در 1000 قرارداد 100 سهمی پرداخت میکند. تسویه را به 95 دلار کاهش دهید و این بلوک هیچچیز پرداخت نمیکند، در حالی که هر اختیار فروش بالای 95 دلار شروع به پرداخت میکند. حرکت دادن قیمت کاندید به بالا و پایین نردبان، منحنی را با یک کف ترسیم میکند و آن کف، عددی است که مردم نقل میکنند.
دو ویژگی مستقیماً از تعریف به دست میآید. حداقل جایی قرار دارد که ارزش اختیار خرید و ارزش اختیار فروش تقریباً از نظر دلاری متعادل شوند، که آن را نزدیک قیمتهای اعمالی با سنگینترین بهره باز قرار میدهد. و این رقم یک زنجیره را در یک لحظه توصیف میکند: پس از یک جلسه معاملاتی دیگر آن را دوباره محاسبه کنید و پاسخ تغییر میکند.
قراردادها در کجای نردبان قیمت اعمالی قرار دارند
بهره باز یک بار در هر جلسه از دادههای تسویه پس از بسته شدن بازار منتشر میشود. پنلهای اینجا از حجم قراردادهای معاملهشده در طول عمر یک انقضا به عنوان یک جایگزین قابل مشاهده برای آن فایل استفاده میکنند و شیء شکل یکسانی دارد: انبوهی از قراردادها که در چند دلاری قیمت دارایی پایه انباشته شدهاند. هر قرارداد در زنجیره SPY که در روز جمعه، 17 ژوئیه 2026 منقضی میشود، گروهبندی شده بر اساس قیمت اعمالی:
کد دقیق SQL پشت هر عدد
SELECT toString(strike_usd) AS strike,
round(sumIf(contracts, opt_type = 'C') / 1e3, 1) AS call_contracts_k,
round(sumIf(contracts, opt_type = 'P') / 1e3, 1) AS put_contracts_k
FROM (
SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike_usd,
substring(ticker, length(ticker) - 8, 1) AS opt_type,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-18 08:00:00')
AND window_start < toDateTime('2026-07-18 04:00:00')
AND startsWith(ticker, 'O:SPY260717')
AND intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) BETWEEN 736 AND 757
GROUP BY strike_usd, opt_type
)
GROUP BY strike_usd, strike
ORDER BY strike_usdنردبان با عبور از مرز سوددهی (the money) کج میشود. در قیمت اعمالی 736 دلار، اختیار فروش 113.2 هزار تا بیشتر از اختیار خرید 8 هزار تا بود. در 757 دلار، شیب برعکس میشود، 131.7 هزار اختیار خرید در مقابل 8.1 هزار اختیار فروش. اختیار فروش در زیر قیمت دارایی پایه و اختیار خرید در بالای آن انباشته میشوند و دو طرف در جایی در وسط یکدیگر را قطع میکنند. آن منطقه تقاطع جایی است که یک رقم ماکس پین قبل از هر گونه محاسبه قرار میگیرد، که اولین نکته قابل توجه در مورد این آمار است. قراردادهای معاملهشده و قراردادهای باز، شمارشهای متفاوتی هستند و حجم اختیار معامله در مقابل بهره باز این دو را از هم جدا میکند.
منحنی پرداخت و کف آن
اجرای مراحل 3 تا 5 در میان قیمتهای تسویه کاندید از 730 تا 765 دلار، شکلی را ترسیم میکند که محاسبه به دنبال آن است:
کد دقیق SQL پشت هر عدد
WITH chain AS (
SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
substring(ticker, length(ticker) - 8, 1) AS opt_type,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-18 08:00:00')
AND window_start < toDateTime('2026-07-18 04:00:00')
AND startsWith(ticker, 'O:SPY260717')
GROUP BY strike, opt_type
),
candidates AS (
SELECT DISTINCT strike AS settle FROM chain WHERE strike BETWEEN 730 AND 765
)
SELECT candidates.settle AS settle_price,
round(sum(multiIf(chain.opt_type = 'C' AND chain.strike < candidates.settle,
chain.contracts * (candidates.settle - chain.strike),
chain.opt_type = 'P' AND chain.strike > candidates.settle,
chain.contracts * (chain.strike - candidates.settle),
0)) * 100 / 1e6, 1) AS holder_payout_usd_mm
FROM candidates CROSS JOIN chain
GROUP BY settle_price
ORDER BY settle_priceتسویه 730 دلاری به دارندگان این زنجیره 11149.2 میلیون دلار پرداخت میکرد که تقریباً تمام آن به دارندگان اختیار فروش میرسید. تسویه 765 دلاری 11083.9 میلیون دلار پرداخت میکرد که تقریباً تمام آن به دارندگان اختیار خرید میرسید. بین دو انتها، منحنی به یک حوضچه کمعمق فرو میرود. رتبهبندی همین مجموعها از کوچکترین به بزرگترین، قیمت اعمالی را نام میبرد:
کد دقیق SQL پشت هر عدد
WITH chain AS (
SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
substring(ticker, length(ticker) - 8, 1) AS opt_type,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-18 08:00:00')
AND window_start < toDateTime('2026-07-18 04:00:00')
AND startsWith(ticker, 'O:SPY260717')
GROUP BY strike, opt_type
),
candidates AS (
SELECT DISTINCT strike AS settle FROM chain WHERE strike BETWEEN 730 AND 765
)
SELECT concat('$', toString(candidates.settle)) AS candidate_strike,
round(sum(multiIf(chain.opt_type = 'C' AND chain.strike < candidates.settle,
chain.contracts * (candidates.settle - chain.strike),
chain.opt_type = 'P' AND chain.strike > candidates.settle,
chain.contracts * (chain.strike - candidates.settle),
0)) * 100 / 1e6, 1) AS holder_payout_usd_mm
FROM candidates CROSS JOIN chain
GROUP BY candidate_strike
ORDER BY holder_payout_usd_mm ASC
LIMIT 6حداقل در $746، با 1898.2 میلیون دلار قرار دارد. به جای فقط نگاه کردن به محل کف، به مسطح بودن حوضچه توجه کنید. کاندید دوم، $747، با 1940.2 میلیون دلار است و ششمین کاندید $749 با 2272.8 میلیون دلار. شش قیمت کاندید که چند دلار روی یک ابزار بالای 700 دلار را پوشش میدهند، نزدیک به هم قرار دارند، بنابراین یک بازبینی جزئی در زنجیره، قیمت اعمالی چاپشده را تغییر میدهد در حالی که هیچ چیز در بازار تغییر نکرده است.
نظریه چه ادعایی دارد
نسخه رایج میگوید که یک دارایی پایه به سمت قیمت اعمالی ماکس پین خود در زمان انقضا جذب میشود و فروشندگان اختیار معامله آن را به آنجا هل میدهند. دو ادعای جداگانه در این جمله انباشته شده است. اولی آماری است: قیمتهای تسویه در نزدیکی قیمت اعمالی ماکس پین خوشهبندی میشوند. دومی مکانیکی است: کسی در حال هل دادن است.
ادعای دوم ضعیفتر است. یک رقم ماکس پین، بهره باز را بدون هیچ اطلاعاتی در مورد اینکه کدام طرف معامله در هر قیمت اعمالی خریدار (long) و کدام فروشنده (short) است، جمع میزند، بنابراین فروشندگان در داستان یک فرض هستند تا یک مشاهده. شرکتی که بتواند یک ETF بازار گسترده را به یک قیمت اعمالی انتخابی حرکت دهد، به اندازهای فراتر از جریانهای پوشش ریسک (hedging flows) که کل زنجیره ایجاد میکند، نیاز دارد. در جایی که یک مکانیسم واقعی پوشش ریسک توصیف شده است، مکانیسم گاما (gamma) است: یک دفتر کارگزار (dealer book) که گامای مثبت دارد، با فروش در زمان قدرت و خرید در زمان ضعف، اندازه پوشش ریسک خود را تنظیم میکند، یک قانون عملی که فعالان بازار آن را کاهش نوسان (dampening) یا پین شدن (pinning) در نزدیکی قیمتهای اعمالی پر معامله مینامند. توضیح دهنده مواجهه با گامای ما آن تخمین و مفروضات زیر آن را شرح میدهد.
ادعای اول بهتر عمل میکند، با یک شرط بزرگ که در بخش بعدی پوشش داده شده است. کار آکادمیک روی پین شدن در زمان انقضا، این اثر را به وضوح در سهامهای تکی که بهره باز اختیار معامله آنها نسبت به سهام قابل معاملهشان زیاد است، مستند میکند و آن را بر حسب سنت اندازه میگیرد تا دلار.
قیمت اعمالی چقدر دقیقاً به تسویه نزدیک میشود؟
شش انقضای ماهانه استاندارد بین فوریه و ژوئیه 2026 روی SPY اجرا شد. برای هر یک، پنل قیمت اعمالی کمینهکننده را از قراردادهای آن هفته انقضا محاسبه میکند، قیمت بسته شدن واقعی را در جلسه انقضا چاپ میکند، و یک کنترل ساده در کنار آن قرار میدهد: قیمت بسته شدن خود SPY یک هفته زودتر، که در برابر همان قیمت تسویه اندازهگیری شده است.
کد دقیق SQL پشت هر عدد
WITH expiries AS (
SELECT arrayJoin([toDate('2026-02-20'), toDate('2026-03-20'), toDate('2026-04-17'),
toDate('2026-05-15'), toDate('2026-06-18'), toDate('2026-07-17')]) AS expiry
),
chain AS (
SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
substring(ticker, length(ticker) - 8, 1) AS opt_type,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE ((window_start >= toDateTime('2026-02-16 08:00:00') AND window_start < toDateTime('2026-02-21 04:00:00'))
OR (window_start >= toDateTime('2026-03-16 08:00:00') AND window_start < toDateTime('2026-03-21 04:00:00'))
OR (window_start >= toDateTime('2026-04-13 08:00:00') AND window_start < toDateTime('2026-04-18 04:00:00'))
OR (window_start >= toDateTime('2026-05-11 08:00:00') AND window_start < toDateTime('2026-05-16 04:00:00'))
OR (window_start >= toDateTime('2026-06-15 08:00:00') AND window_start < toDateTime('2026-06-19 04:00:00'))
OR (window_start >= toDateTime('2026-07-13 08:00:00') AND window_start < toDateTime('2026-07-18 04:00:00')))
AND startsWith(ticker, 'O:SPY26')
AND toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) IN (SELECT expiry FROM expiries)
GROUP BY expiry, strike, opt_type
),
curve AS (
SELECT c1.expiry AS expiry,
c1.strike AS settle,
sum(multiIf(c2.opt_type = 'C' AND c2.strike < c1.strike, c2.contracts * (c1.strike - c2.strike),
c2.opt_type = 'P' AND c2.strike > c1.strike, c2.contracts * (c2.strike - c1.strike),
0)) AS payout
FROM chain AS c1 INNER JOIN chain AS c2 ON c1.expiry = c2.expiry
GROUP BY c1.expiry, c1.strike
),
pain AS (
SELECT expiry, argMin(settle, payout) AS pain_strike FROM curve GROUP BY expiry
),
px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(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('2026-02-05')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-17')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
prior AS (
SELECT expiries.expiry AS expiry, argMax(px.close_px, px.d) AS week_earlier_px
FROM expiries CROSS JOIN px
WHERE px.d <= expiries.expiry - 7
GROUP BY expiries.expiry
)
SELECT formatDateTime(pain.expiry, '%b %e') AS expiry_label,
pain.pain_strike AS min_payout_strike,
round(px.close_px, 2) AS settlement_close,
round(abs(px.close_px - pain.pain_strike) / px.close_px * 100, 2) AS max_pain_miss_pct,
round(abs(px.close_px - prior.week_earlier_px) / px.close_px * 100, 2) AS week_earlier_miss_pct
FROM pain
INNER JOIN px ON pain.expiry = px.d
INNER JOIN prior ON pain.expiry = prior.expiry
ORDER BY pain.expiryشکاف بین قیمت اعمالی کمینهکننده و قیمت بسته شدن از 0.07% در انقضای Jun 18 تا 0.53% در Mar 20 متغیر بود و در هر ماه زیر شش دهم درصد باقی ماند. به خودی خود، این یک نرخ موفقیت بالا به نظر میرسد. دو ویژگی اندازهگیری آن را کاهش میدهد.
نردبان کاندید ذاتاً حول قیمت دارایی پایه متمرکز است. قیمتهای اعمالی در اطراف مرز سوددهی (around the money) فهرست شدهاند و قراردادهایی که به مجموع تغذیه میکنند نیز در آنجا متمرکز هستند، بنابراین محاسبه در یک باند باریک حول قیمت لحظهای (spot) شروع میشود و نمیتواند پاسخی دور از آن برگرداند. ویژگی دوم زمانبندی است: قراردادهایی که به هر ردیف در اینجا تغذیه میکنند، تا و شامل جلسه انقضا معامله شدهاند، در کنار قیمت بسته شدن که با آن مقایسه میشود. رقمی که از همان پنجرهای محاسبه میشود که در برابر آن اندازهگیری میشود، آن پنجره را توصیف میکند، نه اینکه آن را از قبل پیشبینی کند.
آخرین ستون کنترلی است که ارزش خواندن دارد. قیمت بسته شدن SPY یک هفته قبل از Apr 17، قیمت تسویه را با 4.32% خطا داشت، در مقابل 0.42% برای قیمت اعمالی کمینهکننده. در May 15 این دو در کسری از یکدیگر قرار گرفتند، 0.21% در مقابل 0.12%. آماری که در روز انقضا محاسبه میشود باید با اختلاف زیادی از قیمت یک هفته قبل بهتر باشد. آزمون صادقانه، که این پنل آن را انجام نمیدهد، زنجیره را یک هفته قبل منجمد میکند و میپرسد آیا آن قیمت اعمالی، قیمت بسته شدن را بهتر از قیمتی که همان روز روی صفحه نمایش است، پیشبینی میکند.
خواندن یک عدد ماکس پین منتشر شده
- بپرسید کدام قراردادها وارد آن شدهاند. ناشران در مورد سریهای هفتگی در مقابل ماهانه، و زنجیرههای شاخص در مقابل زنجیرههای ETF که همان معیار را دنبال میکنند، تفاوت دارند.
- بپرسید بهره باز چه زمانی گرفته شده است. فایل تسویه یک بار در هر جلسه بهروز میشود، بنابراین یک رقم درون روزی (intraday) که حرکت میکند، از چیز دیگری دوباره محاسبه میشود.
- بپرسید کل منحنی چگونه است، نه فقط جایی که کف قرار دارد. یک حوضچه مسطح به این معنی است که قیمت اعمالی چاپشده یکی از چندین پاسخ تقریباً برابر است.
- قبل از خواندن نزدیکی به عنوان مهارت، با یک جایگزین ساده مقایسه کنید.
مکانیک انقضا تعیین میکند که کدام قراردادها در هر روز معین هنوز در مجموع هستند و زمان انقضای اختیار معامله آن تقویم را پوشش میدهد. برای یک آمار موقعیتیابی دوم که از همان زنجیره ساخته شده است، نسبت اختیار خرید به فروش (put call ratio) ترکیب اختیار خرید و فروش را مستقیماً اندازه میگیرد.
پرسشهای متداول ماکس پین
ماکس پین در معاملات اختیار معامله به چه معناست؟
ماکس پین قیمت اعمالی است که در آن مجموع پرداخت به دارندگان اختیار معاملههای باز روی یک انقضای واحد، کمترین است. این عدد از بهره باز با آزمایش هر قیمت اعمالی فهرستشده به عنوان یک قیمت تسویه فرضی و نگه داشتن ارزانترین آنها محاسبه میشود. این رقم شکل یک زنجیره اختیار معامله را توصیف میکند و هیچ پیشبینی ندارد.
آیا سهام همیشه در قیمت اعمالی ماکس پین بسته میشوند؟
خیر. در شش انقضای ماهانه SPY که در بالا اندازهگیری شد، قیمت اعمالی کمینهکننده در وسیعترین حالت خود در 0.53% از قیمت بسته شدن فاصله داشت، که تا زمانی که این رقم با یک معیار ساده و با این واقعیت که قیمتهای اعمالی کاندید حول قیمت موجود خوشهبندی میشوند مقایسه نشود، نزدیک به نظر میرسد. نزدیکی روی یک نردبان متمرکز بر قیمت لحظهای، یک آزمون ضعیف است.
یک عدد ماکس پین چند وقت یک بار تغییر میکند؟
بهره باز یک بار در هر جلسه معاملاتی از دادههای تسویه پس از بسته شدن بازار منتشر میشود، بنابراین بیشتر اعداد ماکس پین منتشر شده حداکثر یک بار در روز حرکت میکنند. داشبوردی که عدد آن در طول جلسه حرکت میکند، به جای بهره باز تسویه شده، از حجم معاملهشده یا از یک عکس فوری درون روزی از زنجیره دوباره محاسبه میکند.
آیا ماکس پین همان مواجهه با گاما (gamma exposure) است؟
خیر. هر دو یک زنجیره اختیار معامله را میخوانند و به سوالات متفاوتی پاسخ میدهند. ماکس پین یک قیمت را نام میبرد و فقط از بهره باز و بدون مدل قیمتگذاری استفاده میکند. مواجهه با گاما، یک جریان پوشش ریسک را بر حسب دلار به ازای هر یک درصد حرکت اندازهگیری میکند و به یک سطح تلویحی نوسان (implied volatility surface) به علاوه یک فرض در مورد اینکه کارگزاران در کدام سمت هر قرارداد هستند، نیاز دارد.
آیا ماکس پین روی سهامهای تکی کار میکند؟
محاسبه روی هر زنجیره فهرستشده اجرا میشود. خروجی آن روی زنجیرههای نازکی که در آن تعداد انگشتشماری قیمت اعمالی تقریباً تمام بهره باز را حمل میکنند، پر سر و صدا میشود و تحقیقات پین شدن که از هر بخشی از نظریه پشتیبانی میکند، بر روی نامهایی متمرکز است که بهره باز اختیار معامله آنها نسبت به سهام موجود برای معامله زیاد است.
هر پنل بالا یک پرس و جوی ذخیره شده است که SQL آن با یک کلیک در دسترس است. همان بررسی قیمت اعمالی به قیمت اعمالی را روی هر زنجیرهای در ترمینال استراسمور (Strasmore) اجرا کنید.