Apa Itu Level Gamma Flip?
Level gamma flip adalah harga saat estimasi dealer gamma melintasi nol. Pelajari pembentukannya dari strike gamma dan open interest, serta cara memeriksanya.
Level gamma flip adalah harga underlying saat estimasi aggregate dealer gamma melintasi nol. Di atas harga tersebut, posisi opsi yang ada mengindikasikan arus hedging yang bergerak berlawanan dengan pergerakan harga. Di bawahnya, arus hedging cenderung mengikuti pergerakan harga. Level ini merupakan output model yang disusun dari data opsi publik ditambah satu asumsi besar mengenai pihak yang memegang masing-masing posisi. Karena itu, hal yang penting untuk dipahami adalah cara pembentukannya.
Komponen level gamma flip
Gamma adalah laju perubahan delta opsi ketika underlying bergerak. Topik ini dibahas dalam apa itu gamma opsi. Desk yang mengelola book dengan hedging membeli dan menjual underlying ketika delta-nya berubah. Mekanismenya dibahas dalam cara kerja delta hedging. Gamma menentukan seberapa besar hedge tersebut harus berubah untuk setiap satu poin pergerakan. Jumlahkan gamma setiap kontrak dalam satu chain, lalu terapkan tanda dan bobot pada masing-masing kontrak. Hasilnya adalah gamma exposure, yang biasanya ditulis GEX. Flip adalah satu pembacaan tertentu dari total tersebut: harga underlying saat nilainya melewati nol.
Ada four input yang digunakan:
- Gamma per kontrak pada setiap strike dan expiration, berdasarkan perhitungan Black-Scholes.
- Konvensi tanda. Perhitungan yang umum mengasumsikan dealer short call dan long put. Karena itu, gamma call masuk ke dalam penjumlahan dengan tanda negatif dan gamma put dengan tanda positif.
- Bobot per kontrak. Level yang dipublikasikan menggunakan open interest.
- Tahap penskalaan: pengali kontrak sebesar 100 saham, kemudian spot kuadrat dikalikan 0,01. Ini menyatakan total delta dalam dolar untuk setiap pergerakan 1%.
Konvensi tanda perlu dilihat kembali. Misalkan kebalikannya yang digunakan, yaitu dealer long call dan short put. Setiap angka dalam aggregate akan berubah tanda. Namun, titik perpotongan dengan nol tidak berubah. Yang berubah adalah sisi level yang disebut positif.
Tahap satu: gamma per kontrak di sepanjang ladder strike
Gamma per kontrak tidak datar di seluruh chain. Nilainya memuncak di dekat at-the-money lalu menurun ke kedua arah. Panel di bawah menggunakan satu sesi historis yang tetap, yaitu sesi terakhir Juni 2026 yang tersedia dalam data ini. Panel tersebut menghitung rata-rata gamma per kontrak untuk expiration 20 hingga 45 hari pada setiap strike dalam rentang 6% dari harga penutupan.
| strike | gamma call | gamma put |
|---|---|---|
| 705 | 0.00523 | 0.00512 |
| 710 | 0.00575 | 0.00589 |
| 715 | 0.00653 | 0.00678 |
| 720 | 0.00766 | 0.00776 |
| 725 | 0.00844 | 0.00888 |
| 730 | 0.00946 | 0.01002 |
| 735 | 0.0107 | 0.01137 |
| 740 | 0.01198 | 0.01239 |
| 745 | 0.01268 | 0.01344 |
| 750 | 0.01377 | 0.0142 |
| 755 | 0.01379 | 0.01446 |
| 760 | 0.01364 | 0.01404 |
| 765 | 0.01253 | 0.01204 |
| 770 | 0.01118 | 0.0112 |
| 775 | 0.00929 | 0.00957 |
| 780 | 0.00745 | 0.00814 |
SQL tepat di balik setiap angka
SELECT
toString(toInt32(strike_price)) AS strike,
round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'c'), 5) AS call_gamma,
round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'p'), 5) AS put_gamma
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date <= '2026-06-30'
)
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND modulo(toInt32(strike_price), 5) = 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
GROUP BY strike_price
HAVING countIf(lower(substring(option_type, 1, 1)) = 'c') > 0
AND countIf(lower(substring(option_type, 1, 1)) = 'p') > 0
ORDER BY strike_pricePada strike terbawah dalam rentang tersebut, rata-rata gamma call tercatat sebesar 0.00523, sedangkan pada strike teratas sebesar 0.00745. Puncaknya berada di antara keduanya, mencakup 16 strike. Gamma call dan put pada strike serta expiration yang sama memiliki nilai yang sama dalam model. Itu sebabnya kedua seri dalam panel saling menumpuk. Konvensi tanda, bukan gamma, yang membedakan kedua sisi tersebut.
Tahap dua: tanda, bobot, dan titik pembelokan kurva
Exposure satu kontrak relatif kecil. Misalkan satu strike memiliki 100 kontrak dengan gamma 0,02 ketika underlying berada di $600. Kalikan 0,02 dengan 100 kontrak, pengali 100 saham, kuadrat 600, dan 0,01. Hasilnya sekitar $720.000 delta untuk setiap pergerakan 1%. Itulah satuan pada panel berikutnya, yang dinyatakan dalam jutaan dolar.
Panel tersebut menelusuri ladder strike dari sesi yang sama di seluruh expiration hingga 45 hari. Kontribusi setiap strike diberi tanda sesuai konvensi di atas, dibobot berdasarkan volume kontrak yang diperdagangkan pada sesi tersebut, lalu kolom kumulatif menjumlahkannya dari strike terendah ke atas.
| strike | gamma strike (juta USD) | gamma berjalan (juta USD) |
|---|---|---|
| 705 | 42.4 | 42.4 |
| 710 | 130.8 | 173.2 |
| 715 | 41 | 214.2 |
| 720 | 99.8 | 314 |
| 725 | 200.1 | 514.1 |
| 730 | 253.4 | 767.5 |
| 735 | 442.2 | 1209.7 |
| 740 | 1162.1 | 2371.8 |
| 745 | 1536.8 | 3908.6 |
| 750 | -4878.8 | -970.2 |
| 755 | -881.6 | -1851.8 |
| 760 | -395.7 | -2247.5 |
| 765 | -115.3 | -2362.8 |
| 770 | -43.8 | -2406.6 |
| 775 | -26.8 | -2433.4 |
| 780 | -14 | -2447.4 |
| 785 | -5.6 | -2453 |
| 790 | -2.5 | -2455.5 |
SQL tepat di balik setiap angka
SELECT
strike,
strike_gamma_musd,
round(sum(strike_gamma_musd) OVER (ORDER BY strike_num), 1) AS running_gamma_musd
FROM
(
SELECT
toInt32(strike_price) AS strike_num,
toString(toInt32(strike_price)) AS strike,
round(sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
* toFloat64(gamma) * volume * 100
* pow(toFloat64(underlying_close), 2) * 0.01) / 1e6, 1) AS strike_gamma_musd
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date <= '2026-06-30'
)
AND iv_converged = 1
AND volume > 0
AND days_to_expiry <= 45
AND modulo(toInt32(strike_price), 5) = 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
GROUP BY strike_price
)
ORDER BY strike_numStrike terbawah dalam rentang tersebut menyumbang 42.4 juta dolar delta untuk setiap pergerakan 1%, sedangkan strike teratas menyumbang -2.5 juta dolar. Di seluruh rentang 12%, ladder tersebut menghasilkan neto -2455.5 juta dolar. Baca garis kumulatif dari kiri ke kanan. Garis naik ketika strike berbobot put mendominasi, lalu berbalik ketika strike berbobot call mengambil alih. Harga saat garis berbalik adalah estimasi flip. Semua tahap ini merupakan pencatatan yang dapat dihitung ulang secara manual oleh pembaca. Itulah intinya.
Apa yang bukan merupakan bagian dari level ini
Tidak ada bagian dari konstruksi tersebut yang mengamati dealer secara langsung. Open interest menunjukkan bahwa suatu kontrak ada. Namun, open interest tidak menunjukkan pihak mana yang memegang sisi tertentu. Proyek di balik dashboard GEX open source menyatakan keterbatasan ini dalam README-nya. Output tersebut dijelaskan sebagai pendekatan Black-Scholes yang dihitung dari open interest dan
bukan ukuran posisi market maker yang sebenarnya
(README proyek, per September 2026)
Cakupan data adalah kesenjangan kedua. Sumber data gratis di balik dashboard tersebut tidak menyediakan endpoint option chain untuk simbol cash index SPX, XSP, NDX, RUT, DJX, dan VIX. Simbol-simbol inilah yang paling sering digunakan pelaku pasar ketika mengutip level flip. Level yang dipublikasikan untuk salah satu simbol tersebut dihitung di tempat lain, menggunakan chain berbayar atau proxy ETF. Opsi SPX dan SPY melacak indeks yang sama dengan rasio notional sekitar ten-to-one. Karena itu, level yang dibangun dari salah satunya harus diskalakan ulang sebelum digunakan untuk menggambarkan yang lain.
Kurva itu sendiri adalah kesenjangan ketiga. Flip yang tepat menghitung ulang gamma setiap kontrak pada setiap kandidat harga underlying, lalu mencari titik nol dari fungsi yang dihasilkan. Proxy ladder di atas tidak melakukan repricing. Proxy tersebut hanya membaca keseimbangan book pada satu harga penutupan. Panel-panel ini juga menggunakan volume yang diperdagangkan sebagai bobot, bukan open interest, karena volume merupakan bobot per kontrak yang tersedia dalam data greeks harian ini. Bentuknya sama, tetapi bobotnya berbeda.
Mengapa dua vendor menerbitkan level berbeda untuk indeks yang sama
Setiap input di atas merupakan pilihan, dan vendor menetapkannya secara berbeda. Rentang expiration adalah pilihan yang paling menentukan. Panel di bawah menghitung ulang estimasi yang sama pada sesi yang sama dengan menggunakan empat bagian kalender expiration.
| kelompok DTE | penutupan spot | estimasi flip |
|---|---|---|
| 0 to 1 days | 746.3 | 745 |
| 2 to 7 days | 746.3 | 744 |
| 8 to 30 days | 746.3 | 746 |
| 31 to 90 days | 746.3 | 745 |
SQL tepat di balik setiap angka
SELECT
dte_bucket,
round(any(spot), 2) AS spot_close,
round(argMax(strike, running), 2) AS flip_estimate
FROM
(
SELECT
dte_bucket,
bucket_order,
spot,
strike,
sum(net_gamma) OVER (PARTITION BY dte_bucket ORDER BY strike) AS running
FROM
(
SELECT
multiIf(days_to_expiry <= 1, '0 to 1 days',
days_to_expiry <= 7, '2 to 7 days',
days_to_expiry <= 30, '8 to 30 days',
'31 to 90 days') AS dte_bucket,
multiIf(days_to_expiry <= 1, 1,
days_to_expiry <= 7, 2,
days_to_expiry <= 30, 3, 4) AS bucket_order,
toFloat64(strike_price) AS strike,
any(toFloat64(underlying_close)) AS spot,
sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
* toFloat64(gamma) * volume * 100) AS net_gamma
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date <= '2026-06-30'
)
AND iv_converged = 1
AND volume > 0
AND days_to_expiry <= 90
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
GROUP BY dte_bucket, bucket_order, strike
)
)
GROUP BY dte_bucket, bucket_order
ORDER BY bucket_orderRentang 0 hingga 1 hari menghasilkan estimasi 745, dibandingkan dengan harga penutupan 746.3. Rentang 31 hingga 90 hari menghasilkan estimasi 745. Satu book, satu sesi, satu formula, tetapi four jawaban. Dashboard yang menjumlahkan setiap expiration yang tercatat dan dashboard yang berhenti pada front month tidak menggambarkan besaran yang sama. Namun, tidak satu pun otomatis salah.
Parameter lainnya bekerja dengan cara yang sama:
- Bobot: open interest pada settlement sebelumnya, open interest yang diperbarui intraday, atau volume yang diperdagangkan.
- Rentang strike: seberapa jauh out-of-the-money penjumlahan dilakukan sebelum dipotong.
- Konvensi tanda, yang mengubah label sisi tanpa mengubah titik perpotongan.
- Waktu snapshot.
- Apakah level berasal langsung dari opsi indeks atau dari proxy ETF yang telah diskalakan ulang.
Mengapa level bergerak selama sesi
Open interest pada kontrak yang berakhir di hari yang sama terbentuk dan ditutup di dalam sesi tersebut. Rentang 0 hingga 1 hari adalah bagian book yang bergerak paling cepat. Rentang ini kini mencakup porsi besar volume opsi indeks, yang dibahas dalam opsi 0DTE dan risikonya. Level yang dihitung pada pukul 09.45 ET dan level yang sama dihitung pada pukul 14.00 ET menggunakan open interest berbeda pada strike terdekat dengan spot. Di area tersebut, gamma per kontrak paling besar. Vendor yang memperbarui data secara intraday menerbitkan level yang bergerak sepanjang hari. Vendor yang hanya mengambil snapshot pada penutupan sebelumnya menerbitkan level yang tetap hingga snapshot berikutnya.
Apakah estimasi berubah dari hari ke hari
Selama 21 sesi pada Juni 2026, estimasi ladder yang sama bergerak terhadap harga penutupan dengan jarak yang berubah setiap hari.
| tanggal | label sesi | penutupan spot | estimasi flip |
|---|---|---|---|
| 2026-06-01 | Jun 1 | 756.58 | 757 |
| 2026-06-02 | Jun 2 | 759.63 | 759 |
| 2026-06-03 | Jun 3 | 750.55 | 753 |
| 2026-06-04 | Jun 4 | 754.56 | 756 |
| 2026-06-05 | Jun 5 | 735.36 | 742.5 |
| 2026-06-08 | Jun 8 | 738.72 | 742.5 |
| 2026-06-09 | Jun 9 | 735.7 | 735 |
| 2026-06-10 | Jun 10 | 722.88 | 729 |
| 2026-06-11 | Jun 11 | 739.48 | 730 |
| 2026-06-12 | Jun 12 | 742.45 | 740 |
| 2026-06-15 | Jun 15 | 753.91 | 754 |
| 2026-06-16 | Jun 16 | 750.75 | 751 |
| 2026-06-17 | Jun 17 | 745.6 | 744 |
| 2026-06-18 | Jun 18 | 746.94 | 746 |
| 2026-06-22 | Jun 22 | 743.67 | 745 |
| 2026-06-23 | Jun 23 | 735.02 | 734 |
| 2026-06-24 | Jun 24 | 737.2 | 732 |
| 2026-06-25 | Jun 25 | 732.7 | 735 |
| 2026-06-26 | Jun 26 | 731.2 | 733 |
| 2026-06-29 | Jun 29 | 740.76 | 739 |
SQL tepat di balik setiap angka
SELECT
toString(d) AS date,
formatDateTime(d, '%b %e') AS session_label,
round(any(spot), 2) AS spot_close,
round(argMax(strike, running), 2) AS flip_estimate
FROM
(
SELECT
d,
spot,
strike,
sum(net_gamma) OVER (PARTITION BY d ORDER BY strike) AS running
FROM
(
SELECT
date AS d,
toFloat64(strike_price) AS strike,
any(toFloat64(underlying_close)) AS spot,
sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
* toFloat64(gamma) * volume * 100) AS net_gamma
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry <= 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
GROUP BY d, strike
)
)
GROUP BY d
ORDER BY dPada Jun 1, estimasi berada di 757, dibandingkan dengan harga penutupan 756.58. Pada Jun 30, estimasi berada di 746, dibandingkan dengan 746.3. Kedua seri bergerak bersama. Hal itu wajar bagi statistik yang berpusat pada area konsentrasi volume. Selisih di antara keduanya adalah bagian yang sebenarnya dibaca pelaku pasar.
Cara memeriksa kewajaran level flip yang dipublikasikan
- Tanyakan expiration apa saja yang termasuk dan seberapa jauh out-of-the-money penjumlahan dilakukan sebelum dipotong.
- Tanyakan bobot yang digunakan dan kapan bobot tersebut diambil sebagai snapshot.
- Tanyakan apakah perhitungan dilakukan pada indeks itu sendiri atau pada proxy ETF yang kemudian diskalakan ulang.
- Bangun kembali ladder pada sesi yang sama dan lihat apakah titik pembelokan Anda berada di area yang sama. Dua perhitungan yang dibuat secara wajar tetapi terpaut 30 poin menunjukkan perbedaan metode, bukan perbedaan pasar.
- Perhatikan tingkat presisinya. Jarak antarstrike pada ladder indeks adalah 5 poin atau lebih, dan data greeks diperbarui harian. Karena itu, level yang dikutip hingga dua angka desimal lebih presisi daripada informasi yang mendasarinya.
FAQ
Apa itu level gamma flip dalam opsi?
Level tersebut adalah harga underlying saat estimasi total dealer gamma melintasi nol. Estimasi ini dibangun dengan memberi tanda pada gamma setiap kontrak, membobotnya berdasarkan open interest, melakukan penskalaan dengan pengali kontrak, lalu menjumlahkan seluruh chain. Estimasi ini berasal dari data opsi publik, bukan dari informasi mengenai inventory dealer.
Apakah gamma flip sama dengan GEX?
Tidak. GEX adalah angka aggregate gamma itu sendiri, yang biasanya dinyatakan dalam dolar delta untuk setiap pergerakan 1%. Flip adalah satu harga underlying saat aggregate tersebut melewati nol. GEX adalah kurvanya, sedangkan flip adalah satu titik pada kurva tersebut.
Mengapa dua dashboard menampilkan level gamma flip yang berbeda untuk indeks yang sama?
Keduanya menggunakan input yang berbeda: rentang expiration, rentang strike, bobot dan waktu snapshot-nya, konvensi tanda, serta apakah level berasal dari opsi indeks atau proxy ETF yang telah diskalakan ulang. Panel expiration di atas menghasilkan four estimasi berbeda dari satu sesi dengan mengubah satu input saja.
Apakah level gamma flip berubah selama hari perdagangan?
Untuk perhitungan yang diperbarui secara intraday, ya. Open interest pada expiration di hari yang sama terbentuk dan ditutup selama sesi berlangsung. Strike yang paling dekat dengan spot memiliki bobot gamma terbesar. Level yang diambil sebagai snapshot satu kali pada penutupan sebelumnya akan tetap sama hingga snapshot berikutnya.
Setiap panel pada halaman ini dilengkapi SQL yang persis di bawahnya. Bangun kembali ladder untuk simbol atau sesi lain di terminal Strasmore dan amati di mana titik pembelokannya berada.