Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-10-03

Wat is het gamma flip-niveau?

Het gamma flip-niveau is de koers waarbij het geschatte totale gamma van dealers de nul passeert. Leer hoe dit wordt berekend uit strike gamma en open interest in optiedata.

Het gamma flip-niveau is de koers van de onderliggende waarde waarbij het geschatte totale gamma van dealers de nul passeert. Boven die koers impliceert het openstaande optieboek hedging-flows die tegen een beweging in gaan. Daaronder zijn de flows juist gericht op het versterken van de beweging. Het niveau is een modeloutput die is samengesteld uit openbare optiedata plus één grote aanname over wie welke positie aanhoudt; het is daarom nuttig om te weten hoe dit wordt opgebouwd.

Waaruit een gamma flip-niveau bestaat

Gamma is de snelheid waarmee de delta van een optie verandert naarmate de onderliggende waarde beweegt, het onderwerp van wat optie-gamma is. Een trading desk die een gehedgde portefeuille beheert, koopt en verkoopt de onderliggende waarde naarmate de delta verschuift – het mechanisme dat wordt behandeld in hoe delta hedging werkt – en gamma bepaalt hoeveel die hedge moet veranderen per punt beweging. Tel het gamma van elk contract in een keten bij elkaar op, met een teken en een weging voor elk, en u heeft gamma exposure, meestal geschreven als GEX. De flip is één specifieke lezing van dat totaal: de koers van de onderliggende waarde waar het door nul gaat.

Er zijn vier inputs voor nodig:

  1. Gamma per contract bij elke strike en expiratiedatum, berekend via Black-Scholes.
  2. Een tekenconventie. De gebruikelijke opbouw gaat ervan uit dat dealers short zijn in calls en long in puts, dus call-gamma wordt negatief in de som opgenomen en put-gamma positief.
  3. Een weging per contract. Gepubliceerde niveaus gebruiken open interest.
  4. Een schaalstap: de contractmultiplier van 100 aandelen, vermenigvuldigd met de spotprijs in het kwadraat maal 0,01, wat het totaal aan delta in dollars per beweging van 1% weergeeft.

De tekenconventie verdient extra aandacht. Stel het spiegelbeeld voor, waarbij dealers long zijn in calls en short in puts; elk getal in het totaal verandert dan van teken. De nuldoorgang verschuift niet. Wat verandert, is aan welke kant van het niveau de waarde als positief wordt aangemerkt.

Stap één: gamma per contract over de strike-ladder

Het gamma per contract is niet gelijkmatig over een keten. Het piekt nabij de money en neemt in beide richtingen af. Het onderstaande paneel is vastgepind op één specifieke sessie uit het verleden, de laatste sessie van juni 2026 in deze data, en middelt het gamma per contract over de looptijden van 20 tot 45 dagen bij elke strike binnen 6% van de slotkoers.

QueryGemiddelde gamma per contract per strike, SPY, één vastgelegde sessie juni 2026
strikecall gammaput gamma
7050.005230.00512
7100.005750.00589
7150.006530.00678
7200.007660.00776
7250.008440.00888
7300.009460.01002
7350.01070.01137
7400.011980.01239
7450.012680.01344
7500.013770.0142
7550.013790.01446
7600.013640.01404
7650.012530.01204
7700.011180.0112
7750.009290.00957
7800.007450.00814
De exacte SQL achter elk getal
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_price
Voer het zelf uit

Bij de onderste strike van dat venster bedraagt het gemiddelde call-gamma 0.00523, en bij de bovenste strike 0.00745, met de piek daartussen over 16 strikes. Call- en put-gamma bij dezelfde strike en expiratiedatum zijn in het model dezelfde grootheid; daarom liggen de twee reeksen in het paneel over elkaar heen. De tekenconventie, niet het gamma, is wat de twee zijden scheidt.

Stap twee: tekens, wegingen en waar de curve draait

De exposure van één contract is klein. Neem een strike met 100 contracten en een gamma van 0,02 terwijl de onderliggende waarde op $600 staat. Vermenigvuldig 0,02 met 100 contracten, met de multiplier van 100 aandelen, met 600 in het kwadraat, maal 0,01, en u krijgt ongeveer $720.000 aan delta per beweging van 1%. Dat is de eenheid van het volgende paneel, uitgedrukt in miljoenen.

Het paneel doorloopt de strike-ladder van dezelfde vastgepinde sessie voor alle looptijden tot 45 dagen. De bijdrage van elke strike krijgt een teken volgens de bovenstaande conventie, wordt gewogen door het verhandelde contractvolume van die sessie, en de lopende kolom accumuleert vanaf de laagste strike naar boven.

QueryNetto gamma per strike en het lopend totaal, $mm aan delta per 1% beweging
strikestrike gamma (MUSD)running gamma (MUSD)
70542.442.4
710130.8173.2
71541214.2
72099.8314
725200.1514.1
730253.4767.5
735442.21209.7
7401162.12371.8
7451536.83908.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
De exacte SQL achter elk getal
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_num
Voer het zelf uit

De onderste strike van het venster draagt 42.4 miljoen dollar aan delta per beweging van 1% bij en de bovenste strike -2.5 miljoen. Over de volledige bandbreedte van 12% komt de ladder uit op -2455.5 miljoen. Lees de lopende lijn van links naar rechts: deze stijgt zolang strikes met een put-weging domineren en keert om zodra strikes met een call-weging de balans overnemen. De koers waar dit gebeurt, is de flip-schatting. Elke stap hiervan is boekhouding die een lezer zelf kan narekenen, en dat is precies het punt.

Wat het niveau niet is

Niets in die constructie observeert een dealer. Open interest zegt alleen dat een contract bestaat. Het zegt niet aan welke kant ervan een market maker zit. Het project achter het open source GEX-dashboard vermeldt de beperking in de eigen README en beschrijft de output als een Black-Scholes-benadering berekend op basis van open interest en

geen maatstaf voor werkelijke posities van market makers

(project README, per september 2026)

Dekking is het tweede hiaat. De gratis databron achter dat dashboard biedt geen optieketen-endpoint voor de cash index-symbolen SPX, XSP, NDX, RUT, DJX en VIX, precies de symbolen waarover beoefenaars het luidst flip-niveaus citeren. Een niveau dat voor een van deze wordt gepubliceerd, is ergens anders berekend, op een betaalde keten of op een ETF-proxy. SPX- en SPY-opties volgen dezelfde index tegen een notionele ratio van ongeveer tien op één, en een niveau dat op de een is gebouwd, moet worden herschaald voordat het de ander beschrijft.

De curve zelf is het derde punt. Een correcte flip herwaardeert het gamma van elk contract bij elke kandidaat-koers van de onderliggende waarde en vindt het nulpunt van de resulterende functie. De ladder-proxy hierboven herwaardeert niets: deze leest de balans van het boek zoals die was bij één slotkoers. De panelen hier wegen ook op basis van verhandeld volume in plaats van open interest, aangezien volume de per-contract weging is die deze dagelijkse greeks-data bevat. Dezelfde vorm, andere weging.

Waarom twee aanbieders verschillende niveaus publiceren voor dezelfde index

Elke input hierboven is een keuze, en aanbieders stellen deze verschillend in. Het expiratievenster is de meest prominente factor. Het onderstaande paneel herrekent dezelfde schatting op dezelfde sessie op basis van vier segmenten van de expiratiekalender.

QuerySchatting van de ladder flip per expiratievenster, één vastgelegde sessie juni 2026
DTE bucketspot closeflip estimate
0 to 1 days746.3745
2 to 7 days746.3744
8 to 30 days746.3746
31 to 90 days746.3745
De exacte SQL achter elk getal
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_order
Voer het zelf uit

Het segment van 0 tot 1 dag plaatst de schatting op 745 tegenover een slotkoers van 746.3. Het segment van 31 tot 90 dagen plaatst deze op 745. Eén boek, één sessie, één formule, vier antwoorden. Een dashboard dat elke genoteerde expiratie optelt en een dashboard dat stopt bij de eerstvolgende maand beschrijven niet dezelfde grootheid, en geen van beide is onjuist.

De andere knoppen werken op dezelfde manier:

  • De weging: open interest bij de vorige settlement, intraday ververste open interest, of verhandeld volume.
  • De strike-band: hoe ver out of the money de som loopt voordat deze wordt afgekapt.
  • De tekenconventie, die de zijden herbenoemt zonder de doorgang te verplaatsen.
  • Het tijdstip van de snapshot.
  • Of het niveau afkomstig is van indexopties direct of van een herschaalde ETF-proxy.

Waarom het niveau beweegt tijdens de sessie

Open interest in contracten die op dezelfde dag expireren, wordt binnen die sessie gecreëerd en afgewikkeld. Het segment van 0 tot 1 dag is het snelst bewegende deel van het boek en bevat inmiddels een groot deel van het volume in indexopties, een onderwerp dat wordt behandeld in 0DTE-opties en hun risico's. Een niveau dat om 09:45 uur ET wordt berekend en hetzelfde niveau berekend om 14:00 uur ET rusten op verschillende open interest bij de strikes die het dichtst bij de spotprijs liggen, waar het gamma per contract het grootst is. Aanbieders die intraday verversen, publiceren een niveau dat gedurende de dag meebeweegt. Aanbieders die één keer bij de vorige slotkoers een snapshot maken, publiceren een niveau dat stilstaat.

Beweegt de schatting van dag tot dag

Over de 21 sessies van juni 2026 volgt dezelfde ladder-schatting de slotkoers op een afstand die dagelijks verandert.

QueryDagelijkse schatting van de ladder flip ten opzichte van de slotkoers, SPY, juni 2026
21 rows (showing 20)
datumsessie labelspot closeflip estimate
2026-06-01Jun 1756.58757
2026-06-02Jun 2759.63759
2026-06-03Jun 3750.55753
2026-06-04Jun 4754.56756
2026-06-05Jun 5735.36742.5
2026-06-08Jun 8738.72742.5
2026-06-09Jun 9735.7735
2026-06-10Jun 10722.88729
2026-06-11Jun 11739.48730
2026-06-12Jun 12742.45740
2026-06-15Jun 15753.91754
2026-06-16Jun 16750.75751
2026-06-17Jun 17745.6744
2026-06-18Jun 18746.94746
2026-06-22Jun 22743.67745
2026-06-23Jun 23735.02734
2026-06-24Jun 24737.2732
2026-06-25Jun 25732.7735
2026-06-26Jun 26731.2733
2026-06-29Jun 29740.76739
De exacte SQL achter elk getal
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 d
Voer het zelf uit

Op Jun 1 kwam de schatting uit op 757 tegenover een slotkoers van 756.58. Op Jun 30 kwam deze uit op 746 tegenover 746.3. De twee reeksen bewegen samen, wat logisch is voor een statistiek die verankerd is aan waar het volume zich concentreert. De kloof daartussen is het deel dat men daadwerkelijk afleest.

Hoe u een gepubliceerd flip-niveau toetst

  • Vraag welke expiraties zijn inbegrepen en hoe ver out of the money de som loopt voordat deze wordt afgekapt.
  • Vraag welke weging wordt gebruikt en op welk tijdstip die weging is vastgelegd.
  • Vraag of het is berekend op de index zelf of op een ETF-proxy en vervolgens herschaald.
  • Bouw de ladder opnieuw op voor dezelfde sessie en kijk of uw draaipunt in dezelfde buurt uitkomt. Twee eerlijke berekeningen die 30 punten uit elkaar liggen, vertellen u iets over de methode in plaats van over de markt.
  • Let op de precisie. Index-strike-ladders hebben een afstand van 5 punten of meer en de greeks zijn dagelijks, dus een niveau dat tot op de cent wordt geciteerd, is nauwkeuriger dan de onderliggende data toelaat.

Veelgestelde vragen

Wat is het gamma flip-niveau bij opties?

Het is de koers van de onderliggende waarde waarbij een schatting van het totale gamma van dealers de nul passeert. De schatting wordt opgebouwd door het gamma van elk contract van een teken te voorzien, te wegen op basis van open interest, te schalen met de contractmultiplier en de keten op te tellen. Het is afkomstig van openbare optiedata, niet van enig inzicht in de inventaris van dealers.

Is de gamma flip hetzelfde als GEX?

Nee. GEX is het totale gamma-getal zelf, meestal uitgedrukt in dollars aan delta per beweging van 1%. De flip is de specifieke koers van de onderliggende waarde waarbij dat totaal door nul gaat. GEX is de curve, de flip is één punt op die curve.

Waarom tonen twee dashboards verschillende gamma flip-niveaus voor dezelfde index?

Ze hanteren verschillende inputs: het expiratievenster, de strike-band, de weging en het tijdstip van de snapshot, de tekenconventie en of het niveau afkomstig is van indexopties of een herschaalde ETF-proxy. Het expiratiepaneel hierboven produceert vier verschillende schattingen uit één sessie door één enkele input te variëren.

Verandert het gamma flip-niveau gedurende de handelsdag?

Voor elke berekening die intraday ververst, ja. Open interest in expiraties van dezelfde dag wordt binnen de sessie gecreëerd en afgewikkeld, en de strikes die het dichtst bij de spotprijs liggen, dragen het zwaarste gamma-gewicht. Een niveau dat één keer bij de vorige slotkoers is vastgelegd, blijft staan tot de volgende snapshot.


Elk paneel op deze pagina bevat de exacte SQL eronder. Bouw de ladder opnieuw op voor een ander symbool of een andere sessie op de Strasmore-terminal en kijk waar het draaipunt uitkomt.

#gamma#gex#dealer hedging#options#spx