Hoe werkt delta hedging in de praktijk
Ontdek hoe delta hedging werkt voor een short optieboek. Leer waarom het aanpassen van aandelenposities bij koersbewegingen leidt tot transactiekosten en beïnvloeding van de cash flow.
Delta hedging is de manier waarop een optiedesk neutraal blijft ten opzichte van de richting: men houdt een aandelenpositie aan die de delta van een optie compenseert en handelt die positie opnieuw naarmate de onderliggende waarde beweegt. Een boeking die short is in opties, koopt uiteindelijk aandelen nadat het aandeel is gestegen en verkoopt ze nadat het is gedaald. De winst-en-verliesrekening van de desk volgt dan de afgelegde afstand van het aandeel, niet de eindstand.
Wat is delta hedging?
Delta is de verandering in de prijs van een optie per beweging van één dollar in de onderliggende waarde, genoteerd van 0 tot 1 voor calls en 0 tot -1 voor puts. Eén Amerikaanse aandelenoptie beslaat 100 aandelen, dus door de delta met 100 te vermenigvuldigen, krijgt men het aantal aandelen: de aandelenpositie waar het contract zich op dit moment als gedraagt. Onze gids over optiedelta legt deze conversie uit.
Een delta hedge zet een compenserende aandelenpositie tegenover dat getal. Verkoop één call met een delta van 0,50 en de boeking draagt het equivalent van 50 short aandelen; het kopen van 50 aandelen vlakt dit af. "Gehedged" heeft hier een nauwe betekenis: neutraal voor een kleine beweging, op dit moment, tegen deze prijs. Delta is geen vaste grootheid. Het verschuift naarmate het aandeel beweegt en naarmate de tijd van het contract verstrijkt, en de aandelenpositie moet dit volgen.
Waarom de hedge nooit op zijn plek blijft
Delta over uitoefenprijzen heen is een curve in plaats van een stap. Het onderstaande paneel middelt de delta van SPY-calls en -puts op basis van de afstand van de uitoefenprijs tot de spotprijs, voor contracten met 25 tot 35 dagen resterende looptijd, gedurende juni 2026.
De exacte SQL achter elk getal
SELECT
concat(if(pct_from_spot >= 0, '+', ''), toString(pct_from_spot), '%') AS strike_vs_spot,
round(avgIf(delta, is_call), 3) AS call_delta,
round(avgIf(delta, is_put), 3) AS put_delta
FROM
(
SELECT
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 100)) AS pct_from_spot,
lower(option_type) IN ('call', 'c') AS is_call,
lower(option_type) IN ('put', 'p') AS is_put,
delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 25 AND 35
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.05
)
GROUP BY pct_from_spot
HAVING countIf(is_call) > 0 AND countIf(is_put) > 0
ORDER BY pct_from_spotLees de curve van links naar rechts en het hele probleem wordt zichtbaar. Calls waarvan de uitoefenprijs -5% van de spotprijs afligt, hadden een gemiddelde delta van 0.839. Bij +5% bedroeg dit voor hetzelfde expiratiewindow gemiddeld 0.099. De put-lijn is het spiegelbeeld daarvan, van -0.164 bij de lage uitoefenprijzen tot -0.864 bij de hoge. Een aandeel dat langs die curve beweegt, levert de hedger op elk punt een andere aandelenbehoefte op. Gamma is de naam voor de steilheid van de curve: de snelheid waarmee de delta zelf verandert.
Hoe groot is elke gedwongen transactie?
Gamma bepaalt de omvang van elke herbalancering. Het onderstaande paneel zet dit om in de eenheid waarin een desk daadwerkelijk handelt. Voor at-the-money SPY-contracten toont het hoeveel aandelen 100 van deze contracten de hedger dwingen te verhandelen bij een beweging van 1% in de onderliggende waarde, gegroepeerd op de resterende looptijd van de contracten.
De exacte SQL achter elk getal
SELECT
multiIf(bucket = 1, '0-2 days',
bucket = 2, '3-7 days',
bucket = 3, '8-21 days',
bucket = 4, '22-45 days',
'46-90 days') AS expiry_window,
toUInt32(round(avg(shares_per_contract) * 100)) AS hedge_shares
FROM
(
SELECT
multiIf(days_to_expiry <= 2, 1,
days_to_expiry <= 7, 2,
days_to_expiry <= 21, 3,
days_to_expiry <= 45, 4,
5) AS bucket,
toFloat64(gamma) * toFloat64(underlying_close) AS shares_per_contract
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 0 AND 90
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.01
AND date >= '2026-06-01'
AND date < '2026-07-01'
)
GROUP BY bucket
ORDER BY bucketContracten met 0-2 days resterende looptijd verschoven de hedge met ongeveer 3429 aandelen bij een beweging van 1%. Dezelfde 100 contracten bij 46-90 days verschoven dit met ongeveer 587. Identiek aantal contracten, identieke onderliggende waarde, totaal verschillende hoeveelheden gedwongen handel. Boekingen met een korte looptijd herbalanceren fors en vaak; boekingen met een langere looptijd driften. Hoe de grieken veranderen in de loop van de tijd volgt die steiler wordende curve richting expiratie.
Vijf slotkoersen en de aandelen erachter
Hier is het mechanisme van begin tot eind aan de hand van een fictief koersverloop. De prijzen zijn verzonnen voor eenvoudige berekeningen en elke delta is simpelweg gesteld, niet gemodelleerd. Een desk verkoopt 10 at-the-money calls op een aandeel van $100 tegen $2,00 per aandeel en incasseert $2.000 (10 contracten, 100 aandelen per stuk, $2,00 per aandeel). Bij elke slotkoers wordt de positie teruggebracht naar neutraal.
- Slot 1, aandeel op $100,00, delta 0,50. De boeking is short 500 delta's, dus de hedge koopt 500 aandelen. Hedgepositie: 500 aandelen long.
- Slot 2, aandeel op $103,00, delta 0,62. Het doel is 620 aandelen, dus de hedge koopt er 120 bij. De 500 aandelen die tijdens de stijging werden aangehouden, wonnen $1.500.
- Slot 3, aandeel op $99,00, delta 0,44. Het doel daalt naar 440, dus de hedge verkoopt er 180. De 620 aandelen die tijdens de daling werden aangehouden, verloren $2.480, waardoor de hedge $980 achterstaat.
- Slot 4, aandeel op $102,00, delta 0,58. Het doel is 580, dus de hedge koopt er 140 bij. De 440 aandelen wonnen $1.320, waardoor de hedge $340 voorstaat.
- Slot 5, aandeel op $100,00, delta 0,48. Het doel is 480, dus de hedge verkoopt er 100. De 580 aandelen verloren $1.160, waardoor de hedge $820 achterstaat.
Het aandeel eindigde precies waar het begon. De hedger kocht op $103 en $102, verkocht op $99 en $100, en staat $820 in de min op de aandelenpositie tegenover de $2.000 aan geïncasseerde premie, terwijl de optie nog open staat. Geen enkele stap was een fout: elke transactie was op dat moment de mechanisch juiste. De tekens zijn het deel dat elke verandering in de cijfers overleeft. Elke aankoop kwam na een slotkoers omhoog en elke verkoop na een slotkoers omlaag, en een boeking die short is in opties kan dat patroon niet omdraaien. Verdubbel het aantal contracten en gamma verdubbelt mee, dus elke transactie in die lijst verdubbelt ook, evenals de rekening voor exact hetzelfde verloop. Waarom market makers geld verliezen volgt die rekenkunde naar de gevallen waarin de premie niet volstaat om dit te dekken.
Tijdswaarde-erosie (time decay) is de andere kant van de balans. Gedurende die vijf slotkoersen verloor de optie ook tijdswaarde, en die winst voor de verkoper is waar de hedgingverliezen tegen worden weggestreept. Een rustig koersverloop laat premie onbenut. Een grillig verloop verbruikt deze, en een voldoende grillig verloop verbruikt meer dan alles.
Het pad is van belang, de bestemming niet
Een hedger handelt op basis van het pad, niet de nettoverandering. Het onderstaande paneel meet beide voor vier bekende namen gedurende juni 2026. De padlengte is de som van elke dagelijkse procentuele beweging zonder rekening te houden met het teken. De netto beweging is de pure afstand van het eerste slot tot het laatste.
De exacte SQL achter elk getal
SELECT
ticker,
round(path, 1) AS path_length_pct,
round(net, 1) AS net_move_pct,
round(path / greatest(net, 0.05), 1) AS path_to_net_ratio
FROM
(
SELECT
ticker,
arraySum(arrayMap((a, b) -> abs(a / b - 1) * 100,
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1))) AS path,
abs(px[-1] / px[1] - 1) * 100 AS net
FROM
(
SELECT
ticker,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
ticker,
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO')
AND date >= '2026-06-01'
AND date < '2026-07-01'
GROUP BY ticker, date
)
GROUP BY ticker
)
)
ORDER BY path_to_net_ratioZelfs de naam met het kleinste verschil, MSFT, legde 43.2% van de dagelijkse beweging af om op 19% van het beginpunt te eindigen, een verhouding van 2.3 op 1. Aan de andere kant van het paneel reisde SPY 11.4 keer zijn eigen netto beweging. Een directionele handelaar wordt betaald op basis van het tweede getal. Een delta-hedger betaalt voor het eerste.
Waar de premie daadwerkelijk voor betaalt
De premie die een verkoper incasseert, wordt geprijsd op basis van impliciete volatiliteit, de beweging die de markt verwacht. De hedgingrekening wordt bepaald door gerealiseerde volatiliteit, de beweging die daadwerkelijk optreedt. Het onderstaande paneel plaatst beide op één as voor SPY, maand na maand, over het afgelopen jaar.
De exacte SQL achter elk getal
WITH
monthly_iv AS
(
SELECT
toStartOfMonth(date) AS m,
round(avg(implied_volatility) * 100, 1) AS implied_vol_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY m
),
monthly_rv AS
(
SELECT
m,
round(arrayReduce('stddevPop', rets) * sqrt(252) * 100, 1) AS realized_vol_pct
FROM
(
SELECT
m,
arrayMap((a, b) -> log(a / b),
arraySlice(px, 2),
arraySlice(px, 1, length(px) - 1)) AS rets
FROM
(
SELECT
toStartOfMonth(session_date) AS m,
arrayMap(t -> t.2, arraySort(t -> t.1, groupArray((session_date, session_close)))) AS px
FROM
(
SELECT
date AS session_date,
toFloat64(max(close)) AS session_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2025-08-01'
AND date < '2026-08-01'
GROUP BY date
)
GROUP BY m
)
WHERE length(rets) > 5
)
)
SELECT
toString(iv.m) AS month,
iv.implied_vol_pct AS implied_vol_pct,
rv.realized_vol_pct AS realized_vol_pct
FROM monthly_iv AS iv
INNER JOIN monthly_rv AS rv ON rv.m = iv.m
ORDER BY iv.mIn de laatste maand op die grafiek hadden at-the-money SPY-contracten met 20 tot 45 dagen tot expiratie gemiddeld 14.8% impliciete volatiliteit, terwijl de onderliggende waarde 12.1% gerealiseerde volatiliteit liet zien. Maanden waarin de lijn van de gerealiseerde volatiliteit onder de lijn van de impliciete volatiliteit ligt, zijn maanden waarin het pad de hedger minder kostte dan de premie die erodeerde. Maanden waarin deze erboven ligt, is het omgekeerde het geval. Dat verschil, en niet de richting van de markt, is het risico dat een delta-gehedgde optieboeking draagt. Hoe market makers geld verdienen behandelt de spread-capture die daarnaast plaatsvindt, en gamma exposure telt deze gedwongen handel op over een hele markt.
Hoe desks in de praktijk hedgen
Bijna niemand herbalanceert bij elke slotkoers, en weinig desks werken volgens een vaste klok. Continu hedgen zou de delta nauwgezet volgen, maar de premie doen verdampen aan commissies en het overbruggen van de spread. De gebruikelijke aanpak is een bandbreedte: laat de positie met rust zolang de netto delta binnen een tolerantie valt, en handel terug richting neutraal zodra deze eruit breekt. Een bredere bandbreedte betekent minder transacties en meer drift daartussen. Desks netten ook de gehele boeking voordat ze iets verhandelen, dus een short call in de ene expiratie en een long call in een andere kunnen tegen elkaar wegvallen voordat er één aandeel beweegt. Bèta-gewogen portefeuilledelta past datzelfde idee van netten toe over verschillende onderliggende waarden.
Veelgestelde vragen
Wat is delta hedging in eenvoudige bewoordingen?
Het is het aanhouden van een aandelenpositie die de directionele blootstelling van een optie opheft. Delta maal 100 geeft het aandelenequivalent van één contract, en de hedger houdt het tegenovergestelde van dat getal aan, waarbij dit wordt bijgewerkt naarmate de delta beweegt.
Hedgen market makers elke optie die ze verkopen?
Ze hedgen de netto blootstelling van de boeking in plaats van elk contract afzonderlijk. Compenserende posities vallen intern eerst tegen elkaar weg, en alleen de resterende delta bereikt de onderliggende waarde als een aandelentransactie.
Waarom verliest een delta hedge geld bij een grillig aandeel?
Elke herbalancering bij een short optieboeking koopt na een stijging en verkoopt na een daling. Bij een heen-en-weergaande beweging liggen de aankopen boven de verkopen, en dat verschil is een gerealiseerde kostenpost. De vooraf geïncasseerde premie is het budget waar dit uit wordt betaald.
Hoe vaak herbalanceren handelaren een delta hedge?
Er is in de praktijk geen enkel interval. Vaker herbalanceren volgt de delta nauwkeuriger, maar kost meer aan spread en commissies, dus veel desks stellen een delta-tolerantieband in en handelen alleen wanneer de positie daarbuiten treedt.
Is een delta-gehedgde positie risicovrij?
Nee. Het neutraliseert kleine bewegingen op één moment. Gaps en sprongen, verschuivingen in impliciete volatiliteit, dividenden en financieringskosten blijven allemaal van kracht, en de hedge zelf realiseert kosten naarmate de onderliggende waarde beweegt.
Hoe deze panelen werden gemeten
De optiepanelen lezen dagelijkse grieken per contract, gefilterd op contracten die zijn verhandeld en waarvan de impliciete volatiliteit correct kon worden berekend. "At the money" betekent een uitoefenprijs binnen 1% van de slotkoers van de onderliggende waarde van die dag in het paneel voor handelsomvang, en binnen 5% in de deltacurve. Het cijfer voor gedwongen handel zet gamma om in aandelen: de hedge van één contract beweegt met ongeveer gamma maal de aandelenprijs voor een beweging van 1%, en het paneel schaalt dat naar 100 contracten. De windows voor juni 2026 en het afgelopen jaar zijn vaste data, dus die waarden blijven bij latere bezoeken ongewijzigd. De doorloop van de vijf slotkoersen is verzonnen, waarbij elke delta is gesteld in plaats van afgeleid uit een prijsmodel.
Elk paneel hier bevat de exacte SQL die het heeft geproduceerd. Open er een om te zien hoe het getal werd geteld, of stel dezelfde vraag in begrijpelijke taal op de Strasmore-terminal.