max pain options là gì cách tính
Max pain là strike mà tại đó người nắm giữ option nhận ít nhất khi đáo hạn. Xem cách tính trên chuỗi SPY thực tế và mức thanh toán thực tế gần đến đâu.
Điểm đau tối đa (max pain) là mức giá thực hiện (strike price) mà tại đó tổng giá trị đô la của các quyền chọn đang lưu hành sẽ hết hạn mà không có giá trị. Nó thuộc về một tài sản cơ sở và một ngày hết hạn, và được tìm ra thông qua việc tìm kiếm trên khối lượng mở (open interest): kiểm tra từng mức giá thực hiện được niêm yết như một mức giá thanh toán giả định, cộng tổng số tiền mà mọi quyền chọn mua (call) và quyền chọn bán (put) đang lưu hành sẽ trả cho người nắm giữ ở mức giá đó, và giữ lại mức giá mà tại đó tổng số tiền là nhỏ nhất. Cái tên này mô tả phía sổ sách của những người nắm giữ quyền chọn. Trang này sẽ hướng dẫn chi tiết cách tính toán trên một chuỗi quyền chọn SPY thực tế, sau đó đo lường mức độ gần của mức thanh toán thực tế so với dự đoán trên các kỳ hạn hàng tháng tiêu chuẩn năm 2026.
Điểm đau tối đa được tính như thế nào?
Điểm đau tối đa là một quá trình tìm kiếm hơn là một công thức. Năm bước:
- Thu thập khối lượng mở, số lượng hợp đồng vẫn đang lưu hành, tại mọi mức giá thực hiện trong kỳ hạn, với quyền chọn mua và quyền chọn bán được tách riêng.
- Chọn một mức giá thanh toán ứng viên. Bản thân các mức giá thực hiện được niêm yết thường là tập hợp ứng viên.
- Định giá mỗi quyền chọn mua bằng giá ứng viên trừ đi giá thực hiện của nó, lấy sàn bằng 0, và mỗi quyền chọn bán bằng giá thực hiện của nó trừ đi giá ứng viên, lấy sàn bằng 0.
- Nhân mỗi giá trị với khối lượng mở tại mức giá thực hiện đó và với hệ số nhân hợp đồng 100 cổ phiếu, sau đó cộng toàn bộ chuỗi thành một con số đô la.
- Lặp lại cho mỗi ứng viên và giữ lại tổng nhỏ nhất. Ứng viên đó là mức giá thực hiện điểm đau tối đa.
Một ví dụ giả định sẽ làm rõ cơ chế. Giả sử có 1.000 quyền chọn mua đang mở ở mức giá thực hiện $95 và mức thanh toán là $100. Mỗi hợp đồng trả cho người nắm giữ $5 một cổ phiếu, vì vậy khối này trả $500.000 cho 1.000 hợp đồng, mỗi hợp đồng 100 cổ phiếu. Hạ mức thanh toán xuống $95 và khối đó không trả gì, trong khi mọi quyền chọn bán có giá thực hiện trên $95 bắt đầu có giá trị. Việc di chuyển giá ứng viên lên xuống theo bậc thang sẽ vẽ ra một đường cong có đáy, và đáy đó là con số mà mọi người trích dẫn.
Hai đặc tính xuất phát trực tiếp từ định nghĩa. Điểm tối thiểu nằm ở nơi giá trị quyền chọn mua và giá trị quyền chọn bán cân bằng nhau một cách tương đối về mặt đô la, điều này đặt nó gần các mức giá thực hiện có khối lượng mở lớn nhất. Và con số này mô tả một chuỗi tại một thời điểm: tính toán lại nó sau một phiên giao dịch khác và câu trả lời sẽ thay đổi.
Vị trí của các hợp đồng trên bậc thang giá thực hiện
Khối lượng mở được công bố mỗi phiên từ dữ liệu thanh toán bù trừ sau khi kết thúc phiên. Các bảng ở đây sử dụng khối lượng hợp đồng đã giao dịch trong suốt vòng đời của một kỳ hạn như một đại diện trực quan cho tệp đó, và đối tượng có cùng hình dạng: một đống hợp đồng xếp chồng lên nhau trong phạm vi vài đô la so với giá của tài sản cơ sở. Mọi hợp đồng trong chuỗi SPY hết hạn vào Thứ Sáu, ngày 17 tháng 7 năm 2026, được nhóm theo mức giá thực hiện:
Câu lệnh SQL chính xác đằng sau mỗi con số
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_usdBậc thang nghiêng khi nó đi qua vùng tiền (the money). Ở mức giá thực hiện $736, quyền chọn bán nhiều hơn quyền chọn mua 113.2 nghìn so với 8 nghìn. Ở mức $757, độ nghiêng ngược lại, 131.7 nghìn quyền chọn mua so với 8.1 nghìn quyền chọn bán. Quyền chọn bán xếp chồng bên dưới giá tài sản cơ sở và quyền chọn mua xếp chồng bên trên nó, và hai bên giao nhau ở đâu đó ở giữa. Vùng giao nhau đó là nơi con số điểm đau tối đa sẽ xuất hiện trước khi bất kỳ phép tính nào được chạy, và đó là điều đầu tiên đáng biết về thống kê này. Hợp đồng đã giao dịch và hợp đồng đang lưu hành là các số đếm khác nhau, và khối lượng quyền chọn so với khối lượng mở sẽ phân biệt hai khái niệm này.
Đường cong thanh toán và đáy của nó
Chạy các bước 3 đến 5 trên các mức giá thanh toán ứng viên từ $730 đến $765 sẽ vẽ ra hình dạng mà phép tính tìm kiếm:
Câu lệnh SQL chính xác đằng sau mỗi con số
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_priceMức thanh toán $730 sẽ trả cho người nắm giữ 11149.2 triệu đô la trên chuỗi này, gần như toàn bộ cho người nắm giữ quyền chọn bán. Mức thanh toán $765 sẽ trả 11083.9 triệu đô la, gần như toàn bộ cho người nắm giữ quyền chọn mua. Giữa hai đầu, đường cong giảm xuống thành một lòng chảo nông. Xếp hạng các tổng tương tự từ nhỏ nhất trở lên sẽ xác định mức giá thực hiện:
Câu lệnh SQL chính xác đằng sau mỗi con số
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Điểm tối thiểu nằm ở $746, ở mức 1898.2 triệu đô la. Hãy nhìn vào độ phẳng của lòng chảo thay vì chỉ nhìn vào nơi nó chạm đáy. Ứng viên á quân, $747, ở mức 1940.2 triệu đô la, và ứng viên xếp thứ sáu $749 ở mức 2272.8 triệu đô la. Sáu mức giá ứng viên trải dài trên một vài đô la trên một công cụ trị giá hơn 700 đô la nằm rất gần nhau, vì vậy một sự điều chỉnh nhỏ đối với chuỗi sẽ làm thay đổi mức giá thực hiện được công bố trong khi không có gì trên thị trường thay đổi.
Lý thuyết nói gì
Phiên bản phổ biến cho rằng một tài sản cơ sở có xu hướng hướng về mức giá thực hiện điểm đau tối đa của nó khi đến gần ngày hết hạn, với những người bán quyền chọn đẩy nó đến đó. Hai tuyên bố riêng biệt được xếp chồng trong câu đó. Tuyên bố đầu tiên là về mặt thống kê: giá thanh toán tập trung gần mức giá thực hiện điểm đau tối đa. Tuyên bố thứ hai là về mặt cơ học: ai đó đang thực hiện việc đẩy.
Tuyên bố thứ hai là yếu hơn. Một con số điểm đau tối đa tổng hợp khối lượng mở mà không có thông tin về việc bên đối tác nào là bên mua và bên nào là bên bán tại bất kỳ mức giá thực hiện nào, vì vậy những người bán trong câu chuyện này là một giả định chứ không phải một quan sát. Một người tham gia có khả năng di chuyển một ETF thị trường rộng lớn đến một mức giá thực hiện đã chọn sẽ cần quy mô vượt xa các dòng chảy phòng ngừa rủi ro mà toàn bộ chuỗi tạo ra. Khi một cơ chế phòng ngừa rủi ro thực sự đã được mô tả, đó là cơ chế gamma: một sổ cái của nhà giao dịch mang gamma dương sẽ điều chỉnh lại quy mô phòng ngừa rủi ro của nó bằng cách bán khi giá tăng và mua khi giá giảm, một quy tắc mà các học viên gọi là giảm xóc (dampening) hoặc ghim (pinning) gần các mức giá thực hiện được giao dịch nhiều. Bài giải thích về mức độ tiếp xúc gamma của chúng tôi trình bày chi tiết về ước tính đó và các giả định bên dưới nó.
Tuyên bố đầu tiên có vẻ vững chắc hơn, với một hạn chế lớn được đề cập trong phần tiếp theo. Công trình học thuật về hiện tượng ghim giá khi hết hạn (expiration pinning) ghi nhận hiệu ứng rõ ràng nhất ở các cổ phiếu đơn lẻ có khối lượng mở quyền chọn lớn so với số lượng cổ phiếu có thể giao dịch, và đo lường nó bằng cent chứ không phải đô la.
Mức giá thực tế gần đến mức nào?
Sáu kỳ hạn hàng tháng tiêu chuẩn đã hết hạn trên SPY từ tháng Hai đến tháng Bảy năm 2026. Đối với mỗi kỳ hạn, bảng tính toán mức giá thực hiện tối thiểu hóa từ các hợp đồng của tuần hết hạn đó, in ra mức giá đóng cửa thực tế trong phiên hết hạn, và đặt một đối chứng ngây thơ bên cạnh nó: mức đóng cửa của chính SPY một tuần trước đó, được đo lường so với cùng mức giá thanh toán.
Câu lệnh SQL chính xác đằng sau mỗi con số
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.expiryKhoảng cách giữa mức giá thực hiện tối thiểu hóa và mức đóng cửa dao động từ 0.07% vào kỳ hạn Jun 18 đến 0.53% vào kỳ hạn Mar 20, luôn ở dưới sáu phần mười của một phần trăm trong mỗi tháng. Nếu chỉ nhìn vào con số này, nó trông giống như một tỷ lệ trúng cao. Hai đặc điểm của phép đo làm giảm giá trị của nó.
Bậc thang ứng viên được tập trung xung quanh giá của tài sản cơ sở một cách cố hữu. Các mức giá thực hiện được niêm yết xung quanh vùng tiền, và các hợp đồng cung cấp dữ liệu cho tổng cũng tập trung ở đó, vì vậy phép tính bắt đầu bên trong một dải hẹp xung quanh giá giao ngay (spot) và không thể trả về một câu trả lời ở xa bên ngoài dải đó. Đặc điểm thứ hai là về thời điểm: các hợp đồng cung cấp dữ liệu cho mỗi hàng ở đây đã được giao dịch cho đến và bao gồm cả phiên hết hạn, cùng với mức đóng cửa đang được so sánh. Một con số được tính toán từ cùng một cửa sổ mà nó được đo lường đang mô tả cửa sổ đó, chứ không phải dự đoán trước nó.
Cột cuối cùng là đối chứng đáng đọc. Mức đóng cửa của SPY một tuần trước Apr 17 đã lệch so với mức giá thanh toán 4.32%, so với 0.42% của mức giá thực hiện tối thiểu hóa. Trong May 15, hai con số này chỉ cách nhau một phần rất nhỏ, 0.21% so với 0.12%. Một thống kê được tính toán vào ngày hết hạn lẽ ra phải vượt trội hơn một mức giá cũ một tuần với một biên độ rộng. Bài kiểm tra trung thực, mà bảng này không thực hiện, sẽ đóng băng chuỗi một tuần trước đó và hỏi liệu mức giá thực hiện đó có dự đoán mức đóng cửa tốt hơn mức giá đang hiển thị trên màn hình cùng ngày hay không.
Đọc một con số điểm đau tối đa được công bố
- Hãy hỏi những hợp đồng nào đã được đưa vào tính toán. Các nhà xuất bản khác nhau về chuỗi hàng tuần so với hàng tháng, và về chuỗi chỉ số so với chuỗi ETF theo dõi cùng một điểm chuẩn.
- Hãy hỏi khối lượng mở được lấy vào thời điểm nào. Tệp thanh toán bù trừ được cập nhật mỗi phiên, vì vậy một con số trong ngày thay đổi là đang tính toán lại từ một thứ khác.
- Hãy hỏi toàn bộ đường cong trông như thế nào, không chỉ nơi đáy nằm. Một lòng chảo phẳng có nghĩa là mức giá thực hiện được công bố chỉ là một trong số nhiều câu trả lời gần như tương đương.
- Hãy so sánh với một lựa chọn thay thế ngây thơ trước khi đọc sự gần gũi như một kỹ năng.
Cơ chế hết hạn quyết định hợp đồng nào vẫn còn trong tổng vào bất kỳ ngày nào, và thời điểm quyền chọn hết hạn đề cập đến lịch đó. Đối với một thống kê định vị thứ hai được xây dựng từ cùng một chuỗi, tỷ lệ put call đo lường trực tiếp sự pha trộn giữa quyền chọn mua và quyền chọn bán.
Câu hỏi thường gặp về điểm đau tối đa
Điểm đau tối đa có nghĩa là gì trong giao dịch quyền chọn?
Điểm đau tối đa là mức giá thực hiện mà tại đó tổng khoản thanh toán cho những người nắm giữ quyền chọn đang lưu hành trên một kỳ hạn duy nhất là nhỏ nhất. Nó được tính toán từ khối lượng mở bằng cách kiểm tra mọi mức giá thực hiện được niêm yết như một mức giá thanh toán giả định và giữ lại mức rẻ nhất. Con số này mô tả hình dạng của một chuỗi quyền chọn và không chứa dự báo.
Cổ phiếu có luôn đóng cửa ở mức giá thực hiện điểm đau tối đa không?
Không. Trên sáu kỳ hạn hàng tháng của SPY được đo lường ở trên, mức giá thực hiện tối thiểu hóa nằm trong phạm vi 0.53% so với mức đóng cửa ở mức xa nhất, nghe có vẻ chặt chẽ cho đến khi con số này được so sánh với một điểm chuẩn ngây thơ và với thực tế là các mức giá thực hiện ứng viên tập trung xung quanh mức giá hiện tại. Sự gần gũi trên một bậc thang tập trung vào giá giao ngay là một bài kiểm tra yếu.
Một con số điểm đau tối đa thay đổi thường xuyên như thế nào?
Khối lượng mở được công bố mỗi phiên giao dịch từ dữ liệu thanh toán bù trừ sau khi kết thúc phiên, vì vậy hầu hết các con số điểm đau tối đa được công bố di chuyển nhiều nhất một lần mỗi ngày. Một bảng điều khiển có con số thay đổi trong suốt phiên đang tính toán lại từ khối lượng giao dịch hoặc từ một ảnh chụp nhanh chuỗi trong ngày thay vì từ khối lượng mở đã được thanh toán.
Điểm đau tối đa có giống với mức độ tiếp xúc gamma không?
Không. Cả hai đều đọc cùng một chuỗi quyền chọn và trả lời các câu hỏi khác nhau. Điểm đau tối đa đặt tên cho một mức giá, chỉ sử dụng khối lượng mở mà không có mô hình định giá. Mức độ tiếp xúc gamma định lượng một dòng chảy phòng ngừa rủi ro bằng đô la trên một phần trăm biến động, và nó cần một bề mặt biến động ngụ ý cộng với một giả định về việc các nhà giao dịch nắm giữ bên nào của mỗi hợp đồng.
Điểm đau tối đa có hiệu quả trên các cổ phiếu riêng lẻ không?
Phép tính chạy trên bất kỳ chuỗi niêm yết nào. Đầu ra của nó trở nên nhiễu trên các chuỗi mỏng, nơi một số ít mức giá thực hiện mang gần như toàn bộ khối lượng mở, và nghiên cứu về hiện tượng ghim hỗ trợ bất kỳ phần nào của lý thuyết tập trung vào các mã chứng khoán có khối lượng mở quyền chọn lớn so với số lượng cổ phiếu có sẵn để giao dịch.
Mọi bảng trên đây là một truy vấn đã được lưu với SQL của nó chỉ cách một cú nhấp chuột. Hãy chạy phân tích từng mức giá thực hiện trên bất kỳ chuỗi nào trên terminal Strasmore.