Czym jest wskaźnik put-call ratio dane
Analiza put-call ratio na rynku US. Sprawdź wolumen opcji put i call dla indeksów oraz akcji z uwzględnieniem terminów wygaśnięcia oraz danych historycznych.
Wskaźnik put-call ratio to stosunek dziennego wolumenu opcji typu put do wolumenu opcji typu call: określa on liczbę kontraktów typu bearish w stosunku do kontraktów typu bullish. Wartość powyżej 1.0 oznacza, że obrócono większą liczbą opcji put niż call; wartość znacznie poniżej 1.0 oznacza dominację opcji call. Większość analiz ogranicza się do definicji oraz ogólnych zasad rynkowych. Niniejsza strona oblicza rzeczywisty wskaźnik dla każdego notowanego na rynku US kontraktu opcyjnego każdego dnia, a następnie dzieli dane w sposób profesjonalny: na indeksy oraz akcje, z podziałem na poszczególne terminy wygaśnięcia oraz w odniesieniu do dziesięcioletniej historii.
Jak oblicza się wskaźnik put-call ratio?
Należy zsumować wolumen kontraktów typu put w danej sesji, zsumować wolumen kontraktów typu call, a następnie podzielić pierwszą wartość przez drugą. Wartość opcji put rośnie, gdy cena instrumentu bazowego spada; wartość opcji call rośnie, gdy cena rośnie — dlatego wskaźnik ten służy jako przybliżona miara pozycji spadkowych względem pozycji wzrostowych.
Działanie matematyczne jest celowo uproszczone. Jeśli w danej sesji na akcjach handluje się 40 000 kontraktów put oraz 60 000 kontraktów call, wynik wynosi 40 000 ÷ 60 000 = 0,67, czyli dwa kontrakty put na każde trzy kontrakty call. Przy zachowaniu 60 000 kontraktów call i zwiększeniu liczby kontraktów put do 90 000, wskaźnik wynosi 1,5. To cała formuła; trudność polega na interpretacji, a nie na samym dzieleniu.
W terminie „wolumen” kryją się dwa szczegóły:
- Wolumen, a nie otwarty interest. Standardowy wskaźnik uwzględnia kontrakty handlowane danego dnia. Wariant alternatywny wykorzystuje otwarty interest — czyli liczbę otwartych pozycji — który zmienia się znacznie wolniej. Należy zweryfikować, który z tych parametrów przedstawia wykres.
- Każda transakcja ma dwie strony. Kupno opcji put w celu otwarcia pozycji, sprzedaż opcji put w celu zamknięcia zabezpieczenia oraz wystawienie opcji put w celu generowania dochodu — wszystkie te działania generują taki sam wolumen. Wskaźnik mierzy aktywność, a nie intencję inwestorów.
Jak przedstawia się rynkowy wskaźnik put-call ratio?
Obliczany każdego dnia dla wszystkich notowanych opcji na akcje USA, ETF oraz indeksy, od 1 czerwca do ostatniej pełnej sesji w naszym zestawieniu:
Dokładny kod SQL dla każdej liczby
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
concat(monthName(day), ' ', toString(toDayOfMonth(day))) AS day_label,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-11 04:00:00'
GROUP BY day
ORDER BY daySeria rozpoczęła okres na poziomie 0.589 dnia June 1, zakończyła go na poziomie 0.686 dnia July 10 i w międzyczasie nigdy nie przekroczyła wartości 1.0 — w wszystkich 28 sesjach obrót opcjami typu call przewyższał obrót opcjami typu put. To pierwsza praktyczna lekcja: wartość 1.0 nie jest neutralnym punktem środkowym, jak zakłada początkujący. Kluczowe informacje wynikają z ruchu wskaźnika w ramach jego własnego zakresu. Oto ten zakres dla pełnego miesiąca czerwca:
Dokładny kod SQL dla każdej liczby
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
GROUP BY day
)
SELECT round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS june_median,
round(max(ratio), 3) AS june_high,
concat(monthName(argMax(day, ratio)), ' ', toString(toDayOfMonth(argMax(day, ratio)))) AS june_high_day,
round(min(ratio), 3) AS june_low,
concat(monthName(argMin(day, ratio)), ' ', toString(toDayOfMonth(argMin(day, ratio)))) AS june_low_day
FROM dailyMediana za czerwiec wyniosła 0.793, mieszcząc się w przedziale od 0.589 (dnia June 1) do 0.923 (dnia June 25). Sesja, którą wszyscy pamiętają z tego miesiąca, to wyprzedaż z 5 czerwca, opisana w podsumowaniu z czerwca 2026. Handlowano 103.1 milionów kontraktów, co było najbardziej aktywną sesją w całym okresie, a wskaźnik wzrósł do 0.866 z poziomu 0.679 z dnia poprzedniego. Wyprzedaż oraz sesja o rekordowym wolumenie z przewagą opcji put to ta sama sesja: wskaźnik zarejestrował gwałtowny wzrost pozycji krótkich w momencie ich powstawania.
Dwie praktyczne uwagi. Poziom wskaźnika przesuwa się wraz ze strukturą produktów handlowanych w danym tygodniu, więc niewielkie codzienne wahania wewnątrz zakresu same w sobie mają małe znaczenie. Całkowity wolumen stanowi niezbędny kontekst — ten sam wskaźnik przy dwukrotnie większej liczbie kontraktów stanowi znacznie silniejszy sygnał, dlatego zestawienie zawiera liczbę kontraktów obok wskaźnika.
CBOE, ISEE i inne benchmarki put-call
Jeśli broker lub wykres w serwisie informacyjnym finansowym podaje „wskaźnik put-call”, niemal na pewno odnosi się do jednej z kilku publikowanych serii — a każda z nich mierzy inne grupy instrumentów:
- $CPC — całkowity wskaźnik put/call CBOE: stosunek opcji sprzedaży do opcji kupna dla wszystkich instrumentów notowanych na giełdach CBOE.
- $CPCE — wskaźnik wyłącznie dla akcji: opcje na poszczególne spółki. ETF-y rozliczane w gotówce, takie jak SPY, znajdują się po stronie akcyjnej tego wskaźnika, mimo że traderzy traktują je jak produkty indeksowe.
- $CPCI — wskaźnik wyłącznie dla indeksów: opcje indeksowe rozliczane w gotówce (SPX, NDX, RUT, VIX i pokrewne).
- ISEE — ISE Sentiment Index, wyliczany odwrotnie: calls podzielone przez puts, pomnożone przez 100, liczone wyłącznie na podstawie otwartych pozycji długich klientów. Wysoki poziom ISEE oznacza przewagę opcji kupna; wysoki poziom $CPC oznacza przewagę opcji sprzedaży. Błędna interpretacja jednego wskaźnika jako drugiego prowadzi do odwrotnego odczytu sygnału.
Wskaźnik CBOE dla akcji i indeksów umieszcza opcje ETF, takie jak SPY, po stronie akcji. Poniższa tabela stosuje inną metodologię, oddzielając szerokie ETF-y od pojedynczych akcji: oba te segmenty mają zupełnie inną charakterystykę. Każdy kontrakt na czerwiec 2026 roku został podzielony na trzy grupy:
Dokładny kod SQL dla każdej liczby
WITH substring(ticker, 3, length(ticker) - 17) AS root
SELECT multiIf(root IN ('SPX', 'SPXW', 'XSP', 'NDX', 'NDXP', 'RUT', 'RUTW', 'VIX', 'VIXW', 'DJX', 'OEX', 'XEO'), 'Index options (SPX, VIX, NDX)',
root IN ('SPY', 'QQQ', 'IWM', 'DIA'), 'Broad-market ETFs (SPY, QQQ, IWM, DIA)',
'Single stocks and other ETFs') AS population,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100 * sum(toFloat64(volume)) / sum(sum(toFloat64(volume))) OVER (), 1) AS pct_of_volume
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
GROUP BY population
ORDER BY put_call_ratio DESCObie grupy powiązane z indeksami wykazały przewagę opcji sprzedaży — szerokie ETF-y na poziomie 1.175, a opcje indeksowe rozliczane w gotówce na poziomie 1.096, przy czym każda z nich przekroczyła 1.0 — podczas gdy pojedyncze akcje i pozostałe instrumenty odnotowały 0.588, co oznacza zaledwie nieco więcej niż jedną opcję sprzedaży na dwie opcje kupna. Mechanizm ten ma charakter strukturalny: produkty indeksowe są standardowymi narzędziami do zabezpieczania portfeli, a zabezpieczenia realizuje się za pomocą opcji sprzedaży; pojedyncze akcje przyciągają spekulacyjne zakupy opcji kupna. Istotny jest również udział w wolumenie — pojedyncze akcje oraz inne ETF-y wygenerowały 59.9% kontraktów na czerwiec, zatem wskaźnik „całkowity” to w przeważającej mierze wskaźnik akcyjny podany pod nazwą indeksowej.
Wskaźnik zależy od analizowanych danych
Należy przyjrzeć się danym na głębszym poziomie. Ta sama miara, stan na czerwiec 2026, została zastosowana do pięciu najbardziej aktywnych spółek:
Dokładny kod SQL dla każdej liczby
SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY',
ticker LIKE 'O:QQQ2%', 'QQQ',
ticker LIKE 'O:NVDA2%', 'NVDA',
ticker LIKE 'O:TSLA2%', 'TSLA',
'AAPL') AS underlying,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 2) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
AND (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:QQQ2%' OR ticker LIKE 'O:NVDA2%'
OR ticker LIKE 'O:TSLA2%' OR ticker LIKE 'O:AAPL2%')
GROUP BY underlying
ORDER BY put_call_ratio DESCSPY odnotował najwyższy udział opcji sprzedaży spośród pięciu podmiotów na poziomie 1.16; NVDA wyniósł zaledwie 0.56. Porównywanie wskaźników różnych tickerów jest mało przydatne — wartościowe jest zestawienie obecnego wyniku z historycznymi danymi danej spółki.
Czy wskaźnik put-call ratio zmienia się wraz z terminem wygaśnięcia?
Dobowy wolumen nie jest jednolity: niektóre kontrakty wygasają za kilka godzin, inne za lata. Podział wolumenu z czerwca według liczby dni do wygaśnięcia — zobacz co oznacza DTE — pozwala oddzielić zabezpieczenia od instrumentów spekulacyjnych:
Dokładny kod SQL dla każdej liczby
WITH toDate(toTimeZone(window_start, 'America/New_York')) AS trade_day,
toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-',
substring(ticker, length(ticker) - 12, 2), '-',
substring(ticker, length(ticker) - 10, 2))) AS expiry,
dateDiff('day', trade_day, expiry) AS dte
SELECT multiIf(dte <= 0, '0DTE (expires today)', dte <= 7, '1-7 days', dte <= 30, '8-30 days',
dte <= 90, '31-90 days', '91+ days') AS expiry_bucket,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100 * sum(toFloat64(volume)) / sum(sum(toFloat64(volume))) OVER (), 1) AS pct_of_volume
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
GROUP BY expiry_bucket
ORDER BY min(dte)Wskaźnik maleje wraz z wydłużaniem się terminu wygaśnięcia. Kontrakty wygasające tego samego dnia — opcje 0DTE — wygenerowały 0.957, co stanowi najbardziej obciążony opcjami typu put segment spośród pięciu kategorii, a same odpowiadały za 34.3% całkowitego wolumenu w czerwcu. W terminie od jednego do siedmiu dni wskaźnik spada do 0.756; w przedziale 8–30 dni wynosi 0.717; w przedziale 31–90 dni wynosi 0.634; natomiast w kategorii powyżej 91 dni, czyli w części krzywej obejmującej LEAPS, osiąga minimum na poziomie 0.564 — co stanowi najbardziej obciążony opcjami typu call segment rynku.
Tabela ta podważa powszechną interpretację. Wskaźnik rynkowy jest mieszanką różnych terminów wygaśnięcia, której skład zmienia się z tygodnia na tydzień: duża liczba terminów wygaśnięcia w piątek przesuwa wagę w stronę krótkich terminów, co zmienia wartość wskaźnika głównego, mimo braku realnej zmiany w poziomie niepokoju inwestorów. Należy porównywać porównywalne dane.
Jak ekstremalny jest dany odczyt w ujęciu historycznym?
Sześć tygodni nie pozwala ocenić, czy odczyt jest rzadki. Wymaga to analizy wieloletniej — poniżej przedstawiono najdłużej funkcjonującą i najbardziej obrotową rodzinę opcji na rynku, SPY, wraz z medianą, wartością minimalną i maksymalną dziennego wskaźnika put-call ratio dla każdego pełnego roku w naszej bazie danych opcji:
Dokładny kod SQL dla każdej liczby
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio
FROM global_markets.options_minute_aggs
WHERE ticker LIKE 'O:SPY%'
GROUP BY day
HAVING sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') > 0
)
SELECT toYear(day) AS year,
count() AS sessions,
round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS median_ratio,
round(min(ratio), 3) AS low,
round(max(ratio), 3) AS high
FROM daily
WHERE toYear(day) >= 2015
GROUP BY year
ORDER BY yearZ powyższych danych wynikają trzy wnioski. Po pierwsze, mediana dziennego wskaźnika dla SPY w każdym roku w zestawieniu przekroczyła 1.0 — przewaga opcji put w zabezpieczaniu indeksu nie jest trendem na rok 2026, lecz stanem bazowym tego instrumentu. Po drugie, poziom ten obniżał się na przestrzeni dekady: mediana wynosiła 1.754 w 2015 oraz 1.168 w 2025, co wiązało się ze wzrostem obrotów na krótkoterminowych opcjach call. Po trzece, roczne zakresy są szerokie — rok 2026 obejmuje przedział od 0.848 do 1.751 w ciągu 130 sesji. Jest to rzetelna odpowiedź na pytanie: „czy dzisiejszy odczyt jest ekstremalny?”: należy go oceniać w odniesieniu do rozkładu właściwego dla danego instrumentu, a nie względem wartości 1.0.
Jak monitorować wskaźnik put-call ratio dla pojedynczej akcji
Powyższe panele stanowią wzorce, a nie stałe raporty. Aby obliczyć wskaźnik dla posiadanej spółki:
- Wybierz grupę danych. Opcje na jeden ticker, a nie „cały rynek” — mieszanie danych powoduje, że wyniki stają się nieczytelne.
- Zsumuj dzienny wolumen opcji typu put oraz wolumen opcji typu call dla wszystkich cen wykonania i terminów wygaśnięcia danego tickera, a następnie podziel sumę przez wolumen opcji typu call. W symbolu opcji dziewiąta litera od końca to
PlubC— ten pojedynczy znak określa całą klasyfikację. - Stwórz zestawienie historyczne przed oceną poziomu. Wartość 0.9 dla jednego dnia nie ma znaczenia, dopóki nie poznasz mediany oraz zakresu dla danego tickera — tak działa panel SPY w ujęciu rok do roku.
- Analizuj wolumen równolegle ze wskaźnikiem. Nagły wzrost przy przeciętnym wolumenie jest szumem; ten sam wzrost przy największej aktywności od sześciu tygodni odpowiada sesji z 5 czerwca widocznej powyżej.
- Określ zakres terminów wygaśnięcia. Wszystkie terminy wygaśnięcia czy tylko krótkoterminowe? Obie metody są poprawne; mieszanie ich w ramach różnych dni jest błędem.
Interpretacja rynkowa — oraz jej rzeczywiste ograniczenia
Wartości te stanowią interpretacje, a nie twarde reguły: wzrost wskaźnika interpretuje się jako rosnący popyt na hedging, natomiast gwałtowny skok jest odczytywany przez inwestorów kontrariańskich jako kapitulacja — sytuacja, w której rynek ostatecznie wykupił ochronę. Sesja z 5 czerwca obiektywnie pokazuje ten mechanizm: wskaźnik wzrósł podczas wyprzedaży, a nie przed nią. W tym okresie działał on jako wskaźnik współwystępujący, a nie prognoza. Należy weryfikować wszelkie uproszczone zasady względem rzeczywistych szeregów czasowych — należy również pamiętać, że wolumen 0DTE stale zmienia definicję poziomu "normalnego".
FAQ
Jaka jest normalna wartość put-call ratio?
Zależy to całkowicie od danej grupy instrumentów. W czerwcu 2026 roku mediana dzienna dla wszystkich amerykańskich opcji na giełdzie wynosiła 0.793, przy zakresie od 0.589 do 0.923 — wartość ta nigdy nie przekroczyła 1.0. Opcje na szeroki rynek ETF w tym samym miesiącu osiągnęły poziom 1.175, podczas gdy dla pojedynczych akcji i innych ETF wyniosła 0.588. Wartość "normalna" dla SPY nie jest wartością normalną dla pojedynczej akcji.
Czy wysoki put-call ratio jest sygnałem bullish czy bearish?
Obie interpretacje są możliwe i żadna nie jest regułą. Przyjmując dosłowne znaczenie, wysoki wolumen opcji put oznacza pozycjonowanie pod spadki; inwestorzy kontrarianccy odczytują ekstremalne skoki jako sygnał, że grupa sprzedających jest już w pełni pozycjonowana. W danych z czerwca 2026 roku skok wystąpił w dniu wyprzedaży — był to zbieg okoliczności, a nie sygnał predykcyjny.
Czy put-call ratio jest tym samym co VIX lub zmienność implikowana?
Nie, jest to najczęstszy błąd. Put-call ratio jest wyliczane na podstawie wolumenu — liczby zawartych kontraktów. VIX oraz zmienność implikowana wynikają z cen opcji: tego, jak drogie są te kontrakty, wyrażone jako zmienność zannualizowana. Skew zmienności implikowanej porównuje cenę opcji put na spadki z ceną opcji call na wzrosty. Wysoki wolumen opcji put może być handlowany po spokojnych cenach, a niski wolumen po cenach paniki — oba wskaźniki mogą być rozbieżne i oba mogą być poprawne.
Czym są $CPC, $CPCE i $CPCI?
Są to publikowane przez CBOE wskaźniki put-call ratio: $CPC dla całkowitego wolumenu, $CPCE dla opcji na akcje (SPY i inne ETF są tam zaliczane do akcji), a $CPCI dla indeksowych opcji rozliczanych gotówką. Ten podział jest istotny. Nasza własna, trójdzielna wersja, która wyodrębnia szeroki rynek ETF zarówno z opcji indeksowych, jak i pojedynczych akcji (zamiast stosować dwudzielną linię CBOE), w czerwcu 2026 roku wyniosła 1.175 dla szerokiego rynku ETF oraz 1.096 dla opcji indeksowych, przy czym obie wartości były powyżej 1.0, w przeciwieństwie do 0.588 dla pojedynczych akcji i innych ETF. ISEE od ISE to oddzielny, odwrócony indeks: stosunek opcji call do put, obejmujący wyłącznie otwierające zakupy po stronie klienta.
Czy put-call ratio wykorzystuje wolumen czy open interest?
Standardowy wskaźnik wykorzystuje wolumen obrotu z danego dnia. Istnieje wariant oparty na open interest, który zmienia się znacznie wolniej; oba wskaźniki mogą wskazywać różne kierunki tego samego dnia — wolumen a open interest wyjaśnia tę różnicę.
Każda wartość tutaj pochodzi z zapytania do pełnego rejestru opcji — można rozszerzyć zapytanie SQL dla dowolnego panelu lub obliczyć ratio dla własnej listy obserwacyjnej na terminalu Strasmore.