Opcje indeksowe AM i PM: zasady rozliczenia
Opcje AM rozlicza się według piątkowego kursu otwarcia, a handel kończy w czwartek. Opcje PM pozostają notowane do zamknięcia sesji. Zmierzono różnicę.
Opcje indeksowe rozliczane AM i PM różnią się jednym elementem: ceną, względem której następuje rozliczenie kontraktu. Kontrakt rozliczany AM, taki jak klasyczna opcja na S&P 500 wygasająca w trzeci piątek miesiąca, jest rozliczany względem specjalnego kursu otwarcia ustalonego na podstawie pierwszych transakcji z piątkowego poranka, a jego ostatnia transakcja odbywa się w czwartek po południu. Kontrakt rozliczany PM, taki jak tygodniowa opcja SPXW lub opcja na ETF SPY, jest rozliczany względem ceny zamknięcia z godziny 4:00 pm ET i jest notowany aż do końca sesji.
Różnica może wydawać się administracyjna. Decyduje jednak o tym, ile godzin posiadacz pozostaje związany pozycją, której nie może już zamknąć, oraz może sprawić, że dwa poza tym identyczne kontrakty przyniosą różne wypłaty tego samego dnia. Poniżej przedstawiono mechanikę obu konwencji, a następnie skalę tej różnicy zmierzoną dla każdego miesięcznego terminu wygaśnięcia od stycznia 2024 roku do lipca 2026 roku.
Co oznacza rozliczenie AM?
Rozliczenie AM opiera się na kursie otwarcia, przy czym otwarcie jest tutaj konstrukcją, a nie ceną, po której ktoś zawarł transakcję. W poranek wygaśnięcia giełda pobiera cenę pierwszej transakcji podczas regularnej sesji dla każdej spółki wchodzącej w skład indeksu, niezależnie od momentu jej zawarcia, a następnie łączy te ceny w jedną wartość: specjalny kurs otwarcia publikowany dla S&P 500 pod tickerem SET. Każdy kontrakt na ten indeks rozliczany AM jest rozliczany względem tej jednej wartości i żadnej innej.
Z tej definicji wynikają cztery mechanizmy:
- Ostatnia sesja obrotu kończy się w czwartek. Kontrakt rozliczany AM z wygaśnięciem w trzeci piątek miesiąca jest po raz ostatni notowany w czwartek po południu. Po zakończeniu czwartkowej sesji pozycji nie można zamknąć, rolowąć ani skorygować.
- Rozliczenie następuje w gotówce. Opcje indeksowe wypłacają różnicę w USD i nie dochodzi do przekazania akcji. Styl wykonania jest europejski, co oznacza, że wykonanie może nastąpić wyłącznie w terminie wygaśnięcia (Opcje amerykańskie a europejskie wyjaśniają znaczenie tej różnicy dla posiadacza).
- Kurs nie jest pojedynczym odczytem. Akcje wchodzące w skład indeksu otwierają się w różnych momentach, a każda z nich wnosi własną pierwszą transakcję w chwili jej zawarcia (aukcja otwarcia wyjaśnia, jak ustalana jest pierwsza cena akcji w danym dniu).
- Wartość jest publikowana z opóźnieniem. Jest rozpowszechniana dopiero po otwarciu ostatniej spółki wchodzącej w skład indeksu, co może nastąpić kilka minut po rozpoczęciu sesji.
Co oznacza rozliczenie PM?
Rozliczenie PM wykorzystuje cenę zamknięcia instrumentu bazowego w dniu wygaśnięcia, ustaloną o godzinie 4:00 pm ET przez aukcję zamknięcia, czyli największą pojedynczą transakcję w większości dni sesyjnych (aukcja zamknięcia przedstawia sposób ustalania tej ceny). Obrót kontraktem trwa do końca sesji. Posiadacz, który chce wyjść z pozycji o 3:55 pm, może sprzedać ją na aktywnym rynku, zamiast czekać przez noc na obliczenie wartości.
Rozliczenie PM obejmuje większość instrumentów, z którymi styka się inwestor detaliczny: tygodniowe kontrakty SPXW i kontrakty indeksowe wygasające pod koniec miesiąca, a także notowane opcje na ETF-y, takie jak SPY, QQQ i IWM. Opcje na ETF-y mają dodatkową cechę. Są opcjami w stylu amerykańskim i rozliczają się w akcjach, więc w przypadku wykonania następuje dostawa jednostek funduszu, a nie wypłata gotówki. Kiedy wygasają opcje przedstawia cykle tygodniowe, miesięczne i kwartalne.
Jak duży może być ruch rynku między ostatnią transakcją a rozliczeniem?
Ostatnim momentem decyzyjnym dla posiadacza opcji rozliczanej AM jest czwartkowe zamknięcie. Wartość rozliczenia zaczyna się kształtować siedemnaście i pół godziny później. Poniższy panel mierzy ten przedział na SPY, ETF-ie odwzorowującym S&P 500, po jednym wierszu dla każdego miesięcznego terminu wygaśnięcia: nocną zmianę od czwartkowego zamknięcia do piątkowej pierwszej transakcji oraz zmianę od tej pierwszej transakcji do piątkowego zamknięcia.
Dokładny kod SQL dla każdej liczby
WITH sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMin(open, window_start)) AS first_print,
toFloat64(argMax(close, window_start)) AS last_print
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2023-12-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
sequenced AS (
SELECT session_date,
first_print,
last_print,
any(last_print) OVER (ORDER BY session_date ASC
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM sessions
)
SELECT session_date AS expiration_date,
formatDateTime(session_date, '%b %e, %Y') AS expiry_label,
round((first_print / prior_close - 1) * 100, 2) AS overnight_gap_pct,
round((last_print / first_print - 1) * 100, 2) AS friday_session_pct
FROM sequenced
WHERE prior_close > 0
AND session_date >= toDate('2024-01-01')
AND toDayOfWeek(session_date) = 5
AND toDayOfMonth(session_date) BETWEEN 15 AND 21
ORDER BY expiration_dateDwie kolumny należy odczytywać jako dwa odrębne rodzaje ryzyka. W okresie obejmującym 29 miesięcznych terminów wygaśnięcia pierwsza transakcja na otwarciu w Jan 19, 2024 znalazła się 0.25% od czwartkowego zamknięcia, a późniejsza sesja przyniosła zmianę o 1%. W Jul 17, 2026 ta sama para wartości wyniosła odpowiednio -1.16% i 0.15%. Posiadacz pozycji rozliczanej PM uczestniczy w zmianie pokazanej w drugiej kolumnie i może handlować w jej trakcie. Posiadacz pozycji rozliczanej AM uczestniczy w zmianie z pierwszej kolumny, ale nie może handlować w tym czasie.
Ten sam strike, dwie ceny rozliczenia
Wszystkie elementy pozostają bez zmian poza konwencją rozliczenia. Przyjmijmy jedną opcję call ze strike'em zaokrąglonym do najbliższego pełnego USD względem czwartkowej ceny zamknięcia, czyli ostatniego poziomu, względem którego posiadacz opcji rozliczanej AM mógł zawrzeć transakcję. Wypłata AM to piątkowa pierwsza transakcja minus strike, ale nie mniej niż zero. Wypłata PM to piątkowa cena zamknięcia minus strike, również nie mniej niż zero. Ten sam strike, ten sam instrument bazowy, ten sam termin wygaśnięcia, ale dwie wartości.
Dokładny kod SQL dla każdej liczby
WITH sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMin(open, window_start)) AS first_print,
toFloat64(argMax(close, window_start)) AS last_print
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2023-12-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
sequenced AS (
SELECT session_date,
first_print,
last_print,
any(last_print) OVER (ORDER BY session_date ASC
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM sessions
),
expirations AS (
SELECT session_date,
first_print,
last_print,
round(prior_close, 0) AS strike,
abs(first_print / prior_close - 1) * 100 AS gap_abs_raw
FROM sequenced
WHERE prior_close > 0
AND session_date >= toDate('2024-01-01')
AND toDayOfWeek(session_date) = 5
AND toDayOfMonth(session_date) BETWEEN 15 AND 21
)
SELECT formatDateTime(session_date, '%b %e, %Y') AS expiry_label,
round(gap_abs_raw, 2) AS gap_abs_pct,
round(greatest(first_print - strike, 0), 2) AS am_settlement_usd,
round(greatest(last_print - strike, 0), 2) AS pm_settlement_usd,
round(abs(greatest(last_print - strike, 0) - greatest(first_print - strike, 0)), 2) AS settlement_spread_usd
FROM expirations
ORDER BY settlement_spread_usd DESC
LIMIT 10Największa różnica wśród 29 terminów wygaśnięcia wystąpiła w Dec 20, 2024, gdy pierwsza transakcja na otwarciu znalazła się 0.74% od czwartkowego zamknięcia. Wersja AM tej opcji call rozliczyła się po $0, a wersja PM po $4.87, co oznacza różnicę w wysokości $4.87 na akcję. Jeden notowany kontrakt obejmuje 100 akcji, więc różnica w gotówce dla jednego kontraktu jest stukrotnie większa. Dziesiąte miejsce w rankingu, Jun 20, 2025, również oznaczało różnicę w wysokości $1.38 na akcję.
Kontrakt ma charakter hipotetyczny. W rzeczywistości opcje SPY są rozliczane PM, a przedstawione ćwiczenie izoluje cenę rozliczenia przy niezmienionych strike'u, instrumencie bazowym i dniu.
Dlaczego różnica koncentruje się w poranki potrójnego wygasania
Potrójne wygasanie to kwartalna sesja, podczas której jednocześnie wygasają futures na indeksy akcji, opcje indeksowe oraz opcje na pojedyncze akcje (potrójne wygasanie opisuje mechanizm, a daty potrójnego wygasania w 2026 roku przedstawiają kalendarz). Wchodzące w tę grupę kontrakty rozliczane AM odnoszą się do tego samego specjalnego kursu otwarcia, obliczanego jeden raz.
Dokładny kod SQL dla każdej liczby
WITH sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMin(open, window_start)) AS first_print,
toFloat64(argMax(close, window_start)) AS last_print,
toFloat64(sumIf(volume, (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570)) AS open_minute_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2023-12-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
sequenced AS (
SELECT session_date,
first_print,
last_print,
open_minute_shares,
any(last_print) OVER (ORDER BY session_date ASC
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM sessions
),
labelled AS (
SELECT session_date,
multiIf(toDayOfWeek(session_date) = 5
AND toDayOfMonth(session_date) BETWEEN 15 AND 21
AND toMonth(session_date) IN (3, 6, 9, 12), 'triple witching Friday',
toDayOfWeek(session_date) = 5
AND toDayOfMonth(session_date) BETWEEN 15 AND 21, 'other monthly expiration',
'ordinary session') AS bucket,
abs(first_print / prior_close - 1) * 100 AS gap_abs_raw,
abs(greatest(last_print - round(prior_close, 0), 0)
- greatest(first_print - round(prior_close, 0), 0)) AS spread_raw,
open_minute_shares / 1000000 AS open_minute_millions
FROM sequenced
WHERE prior_close > 0
AND session_date >= toDate('2024-01-01')
)
SELECT bucket,
count() AS group_size,
round(quantileDeterministic(0.5)(gap_abs_raw, cityHash64(session_date)), 2) AS median_gap_abs_pct,
round(quantileDeterministic(0.5)(spread_raw, cityHash64(session_date)), 2) AS median_settlement_spread_usd,
round(quantileDeterministic(0.5)(open_minute_millions, cityHash64(session_date)), 2) AS median_open_minute_volume_m
FROM labelled
GROUP BY bucket
ORDER BY group_size ASCPo wykonaniu tego samego ćwiczenia hipotetycznego dla wszystkich 618 zwykłych sesji arytmetyka nie wygląda już wyjątkowo. Mediana różnicy rozliczenia wyniosła $0 w piątki z potrójnym wygaśnięciem, $0.8 w pozostałe miesięczne terminy wygaśnięcia oraz $0.95 podczas zwykłej sesji. Mediana nocnej luki wykazywała ten sam wzorzec i wyniosła odpowiednio 0.49% oraz 0.28%.
Poranek wyróżnia się natężeniem obrotu. Mediana wolumenu SPY w pierwszej minucie sesji wyniosła 0.95 mln akcji w piątki z potrójnym wygaśnięciem, wobec 0.62 mln podczas zwykłej sesji. Pozycje indeksowe rozliczane AM z całego kwartału rozliczają się względem transakcji zawartych w tym oknie, a jednocześnie następuje rolowanie futures na indeksy i wygasają opcje na pojedyncze akcje. Rozkład otwartych pozycji według strike'ów jest odrębnym zagadnieniem (max pain).
Dlaczego wartość rozliczenia może znajdować się na poziomie, którego indeks nigdy nie odnotował
Publikowany poziom indeksu jest obliczany w sposób ciągły na podstawie cen ostatnich transakcji, więc pokazuje wyłącznie ceny, które występowały jednocześnie. Specjalny kurs otwarcia jest obliczany jeden raz na podstawie zestawu cen, które nigdy nie występowały w tym samym momencie. Najszybciej otwierane składniki indeksu odnotowują pierwszą transakcję o 9:30:00, a otwarcie najwolniejszych może zająć kilka minut. W tym czasie poziom indeksu się zmienia. Kurs jest więc arytmetyczną kombinacją pierwszych transakcji, a nie obserwacją poziomu indeksu.
Na taśmie transakcyjnej posiadacz może sprawdzić dwie kwestie:
- Wartość rozliczenia może znaleźć się poza przedziałem, w którym indeks był publikowany przez cały poranek. Nie oznacza to błędu. Taki poziom nigdy nie był przedmiotem transakcji.
- Im większe rozproszenie pierwszych transakcji, tym dalej specjalny kurs może znajdować się od pierwszego odczytu indeksu (dlaczego spready rozszerzają się na otwarciu wyjaśnia, dlaczego pierwsze minuty sesji charakteryzują się najszerszymi spreadami).
Metodyka i uwagi dotyczące danych
Indeksy gotówkowe nie są przedmiotem obrotu, dlatego w powyższych pomiarach wykorzystano SPY, ETF odwzorowujący S&P 500, jako przybliżenie poziomu indeksu w każdym momencie odniesienia. Ceny pochodzą z minutowych danych dla regularnej sesji: cena otwarcia świecy z godziny 9:30 am ET służy jako poranny odczyt, a cena zamknięcia ostatniej świecy przed godziną 4:00 pm służy jako zamknięcie. Miesięczny termin wygaśnięcia oznacza każdy piątek przypadający między 15. a 21. dniem miesiąca, a piątek z potrójnym wygaśnięciem to jeden z takich dni przypadający w marcu, czerwcu, wrześniu lub grudniu.
W hipotetycznej opcji call strike ustalono jako czwartkową cenę zamknięcia zaokrągloną do pełnego USD, przy czym obliczenie powtórzono dla każdego terminu wygaśnięcia. Obie wypłaty odpowiadają wartości wewnętrznej w momencie rozliczenia, ale nie mogą być niższe od zera. Premia, wartość czasowa i koszty wykonania zostały pominięte.
Dokładny kod SQL dla każdej liczby
WITH sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMin(open, window_start)) AS first_print,
toFloat64(argMax(close, window_start)) AS last_print
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2023-12-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
sequenced AS (
SELECT session_date,
first_print,
last_print,
any(last_print) OVER (ORDER BY session_date ASC
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM sessions
)
SELECT session_date AS expiration_date,
formatDateTime(session_date, '%b %e, %Y') AS expiry_label,
round(prior_close, 2) AS thursday_close,
round(prior_close, 0) AS strike_usd,
round(first_print, 2) AS friday_open,
round(last_print, 2) AS friday_close
FROM sequenced
WHERE prior_close > 0
AND session_date >= toDate('2024-01-01')
AND toDayOfWeek(session_date) = 5
AND toDayOfMonth(session_date) BETWEEN 15 AND 21
ORDER BY expiration_dateKolumna strike'u zawiera czwartkową cenę zamknięcia zaokrągloną do pełnego USD. Dwa odniesienia do rozliczenia znajdują się w sąsiednich kolumnach.
Opcje indeksowe rozliczane AM a PM: które są które
- Rozliczane AM: standardowe kontrakty wygasające w trzeci piątek miesiąca na S&P 500 (SPX), Nasdaq 100 (NDX) i Russell 2000 (RUT). Ostatnia transakcja odbywa się w czwartek po południu, a rozliczenie gotówkowe następuje względem piątkowego specjalnego kursu otwarcia.
- Rozliczane PM: tygodniowe kontrakty SPXW i kontrakty indeksowe wygasające pod koniec miesiąca, rozliczane gotówkowo względem ceny zamknięcia z godziny 4:00 pm ET i notowane aż do końca sesji.
- Rozliczane PM i fizycznie: notowane opcje na ETF-y, takie jak SPY, QQQ i IWM. Są to opcje w stylu amerykańskim, a w przypadku wykonania dostarczane są akcje.
- Wyjątek środowy: opcje i futures na VIX rozliczają się względem specjalnego kursu otwarcia w środowy poranek, a nie w piątek.
Symbole bazowe wskazują właściwą konwencję. W przypadku S&P 500 SPX oznacza kontrakt rozliczany AM, wygasający w trzeci piątek miesiąca, a SPXW — tygodniowy kontrakt rozliczany PM. Dwa symbole dla jednego indeksu oznaczają rozliczenie po kilku godzinach różnicy i względem dwóch odmiennych cen.
FAQ
Co oznacza rozliczenie AM w opcjach?
Rozliczenie AM oznacza, że kontrakt jest rozliczany względem specjalnego kursu otwarcia zbudowanego na podstawie pierwszych transakcji z poranka wygaśnięcia, a nie względem ceny zamknięcia. W przypadku S&P 500 wartość ta jest publikowana pod tickerem SET. Ostatnia transakcja kontraktem odbywa się poprzedniego popołudnia.
Czy opcje rozliczane AM są notowane w dniu wygaśnięcia?
Nie. Standardowa opcja indeksowa wygasająca w trzeci piątek miesiąca jest po raz ostatni notowana w czwartek po południu poprzedzającym wygaśnięcie. Wartość rozliczenia kształtuje się następnego ranka, a w międzyczasie pozycji nie można zamknąć ani rolowąć.
Czy opcje SPY są rozliczane AM czy PM?
PM. Notowane opcje na ETF-y, takie jak SPY, QQQ i IWM, są rozliczane względem ceny zamknięcia z godziny 4:00 pm ET, pozostają w obrocie do końca sesji, a w przypadku wykonania dostarczane są akcje, a nie gotówka.
Dlaczego cena rozliczenia może różnić się od otwarcia indeksu?
Otwarcie indeksu jest pojedynczym momentem w ramach poziomu obliczanego w sposób ciągły. Kurs rozliczenia jest tworzony na podstawie pierwszej transakcji podczas regularnej sesji dla każdego składnika indeksu, a transakcje te zawierane są w różnych momentach. Jest to połączenie cen, które nigdy nie występowały jednocześnie, dlatego wartość może znaleźć się poza przedziałem, w którym indeks był publikowany przez cały poranek.
Co się dzieje, gdy trzeci piątek miesiąca jest dniem wolnym od obrotu?
Miesięczny termin wygaśnięcia zostaje przesunięty na czwartek. Kontrakt rozliczany AM jest wówczas rozliczany względem czwartkowego specjalnego kursu otwarcia, a jego ostatnia transakcja odbywa się w środę po południu. Kiedy wygasają opcje przedstawia te przesunięcia w kalendarzu.
Każda wartość liczbowa powyżej pochodzi z zapisanego zapytania wykonanego na minutowych danych dla regularnej sesji, którego wersję zapisano wraz z artykułem. Otwierając dowolny panel, można odczytać SQL lub uruchomić ten sam przedział w terminalu Strasmore.