Apa Itu Put-Call Ratio? Panduan Data Lengkap
Put-call ratio adalah volume put dibagi volume call. Lihat rentang aktual pada data opsi AS berdasarkan expiration, index versus equity, serta perbandingan selama satu dekade.
Put-call ratio adalah volume put harian dibagi dengan volume call. Rasio ini menunjukkan berapa banyak kontrak bearish yang diperdagangkan untuk setiap satu kontrak bullish. Angka di atas 1,0 berarti lebih banyak put daripada call yang berpindah tangan; angka jauh di bawah 1,0 berarti call mendominasi. Kebanyakan penjelasan hanya berhenti pada definisi dan aturan praktis sederhana. Halaman ini menghitung data aktual — setiap kontrak opsi AS yang terdaftar, hari demi hari — kemudian membaginya seperti yang dilakukan para profesional: index versus equity, berdasarkan tanggal expiration, dan dibandingkan dengan sejarah selama satu dekade.
Bagaimana cara menghitung put-call ratio?
Ambil setiap perdagangan opsi dalam satu sesi, jumlahkan volume kontrak pada put, jumlahkan pada call, lalu bagi. Put meningkat nilainya saat aset dasar turun; call meningkat saat aset dasar naik — sehingga rasio ini dibaca sebagai indikator kasar posisi downside dibandingkan posisi upside.
Perhitungannya sengaja dibuat sederhana. Misalkan sebuah saham memperdagangkan empat puluh ribu kontrak put dan enam puluh ribu kontrak call dalam satu sesi: 40.000 ÷ 60.000 = 0,67, dua put untuk setiap tiga call. Jika call tetap di angka enam puluh ribu dan put naik menjadi sembilan puluh ribu, maka rasionya menjadi 1,5. Itulah seluruh rumusnya; bagian yang sulit adalah interpretasinya, bukan pembagiannya.
Ada dua detail di dalam kata "volume":
- Volume, bukan open interest. Rasio standar menghitung kontrak yang diperdagangkan hari itu. Varian lain menggunakan open interest — kontrak yang masih terbuka — yang bergerak jauh lebih lambat. Pastikan Anda mengetahui mana yang ditampilkan oleh grafik.
- Setiap perdagangan memiliki dua sisi. Put yang dibeli untuk membuka posisi, put yang dijual untuk menutup hedge, dan put yang diterbitkan untuk pendapatan, semuanya mencatat volume yang sama. Rasio ini menghitung aktivitas, bukan intensi.
Bagaimana tampilan put-call ratio di seluruh pasar?
Dihitung dari setiap opsi ekuitas, ETF, dan indeks AS yang terdaftar, hari demi hari, mulai satu Juni hingga sesi lengkap terakhir dalam data kami:
SQL tepat di balik setiap angka
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 daySeri ini membuka jendela pada 0.589 pada June 1, menutupnya pada 0.686 pada July 10, dan tidak pernah melewati 1,0 di antaranya — call lebih banyak diperdagangkan daripada put pada seluruh 28 sesi. Itu adalah pelajaran praktis pertama: 1,0 bukanlah titik tengah netral seperti yang diasumsikan pemula. Informasi terletak pada pergerakan rasio di dalam rentangnya sendiri. Berikut adalah rentang tersebut untuk bulan Juni yang telah selesai:
SQL tepat di balik setiap angka
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 dailyMedian Juni berada di 0.793, di dalam rentang dari 0.589 (pada June 1) hingga 0.923 (pada June 25). Sekarang sesi yang diingat semua orang dari bulan tersebut — selloff lima Juni, yang didokumentasikan dalam rekap Juni dua ribu dua puluh enam. Opsi memperdagangkan 103.1 juta kontrak, sesi tersibuk dalam jendela tersebut, dan rasio melonjak ke 0.866 dari 0.679 pada hari sebelumnya. Selloff dan sesi volume rekor yang berat pada put terjadi pada sesi yang sama: rasio mencatat lonjakan posisi downside saat hal itu terjadi.
Dua catatan praktis. Level tersebut bergeser mengikuti campuran produk yang diperdagangkan minggu itu, sehingga fluktuasi harian kecil di dalam rentang tidak memiliki banyak arti jika berdiri sendiri. Dan total volume adalah konteks yang penting — rasio yang sama pada kontrak dua kali lipat adalah pernyataan yang jauh lebih kuat, itulah sebabnya panel menyertakan jumlah kontrak di samping rasio.
CBOE, ISEE dan benchmark put-call bernama lainnya
Jika broker atau grafik berita keuangan mengutip "the" put-call ratio, kemungkinan besar mereka mengutip salah satu dari beberapa seri bernama yang dipublikasikan — dan masing-masing mengukur populasi yang berbeda:
- $CPC — total put/call ratio CBOE: setiap opsi yang diperdagangkan di bursa CBOE, put dibagi call.
- $CPCE — ratio khusus ekuitas: opsi pada saham individu. Opsi ETF dengan penyelesaian fisik seperti SPY berada di sisi ekuitas, meskipun trader menggunakannya seperti produk indeks.
- $CPCI — ratio khusus indeks: opsi indeks dengan penyelesaian tunai (SPX, NDX, RUT, VIX dan lainnya).
- ISEE — ISE Sentiment Index, disusun dengan cara terbalik: call dibagi put, dikali seratus, hanya menghitung pembelian pembukaan posisi long oleh nasabah. ISEE yang tinggi berarti didominasi call; $CPC yang tinggi berarti didominasi put. Jika salah satu dibaca sebagai yang lain, maka pesannya akan terbalik.
Garis ekuitas/indeks milik CBOE menempatkan opsi ETF seperti SPY di sisi ekuitas. Panel di bawah ini menarik batas secara berbeda, memisahkan ETF pasar luas dari saham tunggal: keduanya diperdagangkan dengan cara yang tidak sama. Setiap kontrak Juni dua ribu dua puluh enam, dikelompokkan menjadi tiga populasi:
SQL tepat di balik setiap angka
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 DESCDua populasi terkait indeks keduanya didominasi put — ETF pasar luas pada 1.175 dan opsi indeks penyelesaian tunai pada 1.096, masing-masing di atas satu koma nol — sementara saham tunggal dan lainnya mencatat 0.588, hampir hanya satu put per dua call. Mekanismenya bersifat struktural: produk indeks adalah kendaraan standar untuk hedging portofolio, dan hedging dilakukan dengan put; saham tunggal menarik pembelian call spekulatif. Pangsa volume juga berpengaruh — saham tunggal dan ETF lainnya membawa 59.9% dari kontrak Juni, sehingga ratio "total" sebagian besar adalah ratio ekuitas yang terlihat seperti ratio indeks.
Rasio bergantung pada aset yang dianalisis
Perhatikan lebih detail. Pengukuran yang sama untuk Juni dua ribu dua puluh enam, diterapkan pada lima nama paling aktif:
SQL tepat di balik setiap angka
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 memiliki put paling berat di antara kelimanya pada level 1.16; NVDA berada di level 0.56. Membandingkan rasio satu ticker dengan ticker lainnya hampir tidak memiliki makna — perbandingan yang berguna adalah membandingkan satu ticker dengan riwayatnya sendiri.
Apakah put-call ratio berubah berdasarkan tanggal kedaluwarsa?
Volume harian bukanlah satu tumpukan yang homogen: beberapa kontrak kedaluwarsa dalam hitungan jam, beberapa lainnya dalam hitungan tahun. Mengurutkan volume bulan Juni berdasarkan hari menuju kedaluwarsa — lihat apa arti DTE — memisahkan antara lindung nilai (hedges) dengan tiket lotre:
SQL tepat di balik setiap angka
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)Rasio menurun pada setiap langkah di kalender. Kontrak yang kedaluwarsa pada hari yang sama — opsi 0DTE — tercatat 0.957, kelompok dengan put terberat dari kelimanya, dan mereka sendiri membawa 34.3% dari total volume Juni. Untuk jangka waktu satu sampai tujuh hari, rasio turun menjadi 0.756; pada 8–30 hari menjadi 0.717; pada 31–90 hari 0.634; dan dalam kelompok 91 hari ke atas, ujung kurva LEAPS, rasio mencapai titik terendah di 0.564 — sudut pasar yang paling didominasi call.
Tabel tersebut secara diam-diam mengubah interpretasi umum. Rasio seluruh pasar adalah campuran dari berbagai tanggal kedaluwarsa yang komposisinya berubah setiap minggu: expiration Friday yang padat menggeser bobot ke jangka pendek dan angka utama berubah, tanpa ada perubahan pada tingkat kecemasan pelaku pasar. Bandingkan hal yang setara dengan hal yang setara.
Seberapa ekstrem sebuah pembacaan secara historis?
Enam minggu tidak dapat memberi tahu Anda apakah sebuah pembacaan itu langka. Untuk itu, Anda membutuhkan data tahunan — berikut adalah keluarga opsi yang paling lama berjalan dan paling banyak diperdagangkan di pasar, SPY, dengan median, nilai terendah, dan tertinggi dari put-call ratio harian untuk setiap tahun penuh dalam data opsi kami:
SQL tepat di balik setiap angka
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 yearTiga hal dapat disimpulkan dari data tersebut. Pertama, median rasio harian SPY berakhir di atas 1.0 pada setiap tahun dalam tabel — kecenderungan put-heavy dari hedging indeks bukanlah tren tahun dua ribu dua puluh enam, melainkan kondisi normal dari produk tersebut. Kedua, level tersebut telah menurun selama satu dekade: median berada di 1.754 pada 2015 dan 1.168 pada 2025, seiring dengan pertumbuhan perdagangan call jangka pendek. Ketiga, rentang tahunannya cukup lebar — 2026 sejauh ini mencakup 0.848 hingga 1.751 selama 130 sesi. Itulah jawaban jujur untuk pertanyaan "apakah pembacaan hari ini ekstrem?": nilailah berdasarkan distribusi produk itu sendiri, jangan pernah dibandingkan dengan 1.0.
Cara memantau put-call ratio untuk satu saham
Panel di atas adalah panduan, bukan laporan tetap. Untuk membangun rasio bagi saham yang Anda miliki:
- Pilih populasinya. Gunakan opsi dari satu ticker, bukan "pasar" — efek campuran di atas membuat angka gabungan sulit dibaca.
- Jumlahkan volume put dan volume call hari itu untuk setiap strike dan expiration dari ticker tersebut, lalu bagi. Dalam simbol opsi, huruf kesembilan dari akhir adalah
PatauC— satu karakter tersebut adalah seluruh klasifikasinya. - Bangun data historis sebelum menilai levelnya. Angka 0,9 dalam satu hari tidak berarti apa-apa sampai Anda mengetahui median dan rentang ticker tersebut — seperti yang dilakukan panel SPY dari tahun ke tahun.
- Baca volume bersamaan dengan rasio tersebut. Lonjakan pada volume biasa adalah noise; lonjakan yang sama pada tape tersibuk dalam enam minggu adalah sesi lima Juni di atas.
- Tentukan cakupan expiration Anda. Semua expiration, atau hanya yang berjangka pendek? Keduanya dapat dipertanggungjawabkan; namun mencampurnya antar hari tidak diperbolehkan.
Cara trader membacanya — dan batasan yang ada
Dinyatakan sebagai interpretasi, bukan hukum: rasio yang meningkat dibaca sebagai permintaan hedging yang tumbuh, dan lonjakan ekstrem dibaca oleh contrarian sebagai kapitulasi — pasar akhirnya telah membeli asuransinya. Sesi 5 Juni menunjukkan mekanismenya secara jujur: rasio melonjak selama selloff, bukan sebelumnya. Selama periode ini, rasio tersebut berperan sebagai termometer koinsiden, bukan prakiraan. Ujilah setiap aturan praktis terhadap seri data aktual — dan ingatlah bahwa volume 0DTE terus mengubah definisi tentang apa yang dianggap "normal".
FAQ
Berapa put-call ratio yang normal?
Hal ini sepenuhnya bergantung pada populasinya. Untuk seluruh opsi AS yang terdaftar pada Juni dua ribu dua puluh enam, median harian pasar adalah 0.793, berkisar antara 0.589 hingga 0.923 — tidak pernah di atas satu koma nol. Opsi ETF pasar luas berada di angka 1.175 pada bulan yang sama, sementara saham tunggal dan ETF lainnya berada di angka 0.588. Angka "normal" untuk SPY tidaklah normal untuk saham tunggal.
Apakah put-call ratio yang tinggi bersifat bullish atau bearish?
Kedua interpretasi tersebut ada, dan tidak ada yang menjadi hukum pasti. Jika dilihat secara harfiah, volume put yang besar adalah posisi downside; kaum kontrarian membaca lonjakan ekstrem sebagai tanda bahwa kelompok penjual telah mengambil posisi penuh. Dalam data Juni dua ribu dua puluh enam, lonjakan terjadi pada hari selloff itu sendiri — bersifat bersamaan, bukan prediktif.
Apakah put-call ratio sama dengan VIX atau implied volatility?
Tidak, dan ini adalah kekeliruan yang paling umum. Put-call ratio dibangun dari volume — berapa banyak kontrak yang berpindah tangan. VIX dan implied volatility berasal dari harga opsi: seberapa mahal kontrak tersebut, yang dinyatakan sebagai volatilitas tahunan. Implied-volatility skew membandingkan harga put downside dengan call upside. Volume put yang besar bisa diperdagangkan pada harga yang tenang, dan volume tipis pada harga yang panik — kedua indikator ini bisa tidak sejalan, dan keduanya bisa benar.
Apa itu $CPC, $CPCE, dan $CPCI?
Itu adalah put-call ratio yang dipublikasikan oleh CBOE: $CPC untuk total volume, $CPCE untuk opsi ekuitas (SPY dan ETF lainnya dihitung sebagai ekuitas di sana), dan $CPCI untuk opsi indeks cash-settled. Pembagian ini penting. Versi tiga arah kami, yang memisahkan ETF pasar luas dari opsi indeks maupun saham tunggal alih-alih mengikuti garis dua arah CBOE, mengukur Juni dua ribu dua puluh enam pada 1.175 untuk ETF pasar luas dan 1.096 untuk opsi indeks, keduanya di atas satu koma nol, dibandingkan dengan 0.588 untuk saham tunggal dan ETF lainnya. ISEE dari ISE adalah indeks terbalik yang terpisah: call dibandingkan put, hanya untuk pembelian pembukaan pelanggan.
Apakah put-call ratio menggunakan volume atau open interest?
Rasio standar menggunakan volume perdagangan harian. Varian open-interest tersedia dan bergerak jauh lebih lambat, dan keduanya bisa menunjukkan arah yang berbeda pada hari yang sama — volume vs open interest membahas perbedaannya.
Setiap nilai di sini adalah query tersimpan dari seluruh data opsi — perluas SQL panel mana pun, atau hitung rasio untuk watchlist Anda sendiri di terminal Strasmore.