AEX opties expiratie: zo wordt de EDSP bepaald
AEX opties expireren op de derde vrijdag om 16:00 CET. De afrekenprijs is het gemiddelde van de AEX tussen 15:30 en 16:00, niet de slotstand rond 17:40.
AEX opties expireren op de derde vrijdag van de maand, en de handel in de expirerende serie stopt die dag al om 16:00 CET. De afrekenprijs, bij Euronext de EDSP genoemd, is het gemiddelde van de AEX-standen die op elke hele minuut tussen en inclusief 15:30 en 16:00 CET worden berekend, afgerond op twee decimalen. AEX-indexopties zijn Europees van stijl, worden in euro's verrekend en staan voor 100 euro per indexpunt.
Wanneer expireren AEX opties?
Voor de maandserie stopt de handel om 16:00 CET op de derde vrijdag van de expiratiemaand. Is die vrijdag geen handelsdag, dan is de laatste handelsdag normaal gesproken de laatste handelsdag daarvoor. Die situatie komt langs zodra Goede Vrijdag samenvalt met de derde vrijdag van april.
Naast de maandopties noteert Euronext weekopties op de AEX, met de symbolen AX1 tot AX5, één voor elke vrijdag van de maand, en dagopties met de symbolen A1 tot A31, genoemd naar de kalenderdag waarop ze aflopen. Alle drie de families delen dezelfde contractwaarde van 100 euro per indexpunt, dezelfde Europese uitoefenstijl en precies dezelfde EDSP-methode. Ook voor de week- en dagseries stopt de handel om 16:00 CET op hun eigen laatste handelsdag. De systematiek per contractsoort staat in wanneer opties expireren.
Het paneel hieronder rekent de derde vrijdagen van de komende twaalf maanden uit en meet hoeveel dagen er nog tot elke datum zitten.
| date | expiratie_label | dagen_te_gaan | ook_us_beurs_gesloten |
|---|---|---|---|
| 2026-10-16 | 16 oktober 2026 | 19 | nee |
| 2026-11-20 | 20 november 2026 | 54 | nee |
| 2026-12-18 | 18 december 2026 | 82 | nee |
| 2027-01-15 | 15 januari 2027 | 110 | nee |
| 2027-02-19 | 19 februari 2027 | 145 | nee |
| 2027-03-19 | 19 maart 2027 | 173 | nee |
| 2027-04-16 | 16 april 2027 | 201 | nee |
| 2027-05-21 | 21 mei 2027 | 236 | nee |
| 2027-06-18 | 18 juni 2027 | 264 | ja |
| 2027-07-16 | 16 juli 2027 | 292 | nee |
| 2027-08-20 | 20 augustus 2027 | 327 | nee |
De exacte SQL achter elk getal
SELECT
toString(e.expiratie) AS date,
concat(
toString(toDayOfMonth(e.expiratie)), ' ',
arrayElement(['januari', 'februari', 'maart', 'april', 'mei', 'juni',
'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
toMonth(e.expiratie)),
' ', toString(toYear(e.expiratie))
) AS expiratie_label,
dateDiff('day', today(), e.expiratie) AS dagen_te_gaan,
if(h.sluitingsdagen > 0, 'ja', 'nee') AS ook_us_beurs_gesloten
FROM
(
SELECT
toStartOfMonth(addMonths(today(), arrayJoin(range(12)))) AS maand_start,
addDays(maand_start, modulo(5 - toDayOfWeek(maand_start) + 7, 7) + 14) AS expiratie
) AS e
LEFT JOIN
(
SELECT
date AS dag,
countDistinct(name) AS sluitingsdagen
FROM global_markets.stocks_market_holidays
WHERE status = 'closed'
GROUP BY dag
) AS h ON h.dag = e.expiratie
WHERE e.expiratie >= today()
ORDER BY e.expiratieDe eerstvolgende derde vrijdag is 16 oktober 2026, 19 dagen vanaf vandaag. Het paneel bevat 11 datums en loopt door tot 20 augustus 2027. De laatste kolom markeert of de Amerikaanse aandelenbeurzen op diezelfde datum gesloten zijn. Dat is de Amerikaanse kalender en niet die van Euronext, maar de overlap is bruikbaar: Goede Vrijdag staat in beide agenda's als sluitingsdag, en precies op zo'n datum schuift de AEX-expiratie naar de handelsdag ervoor.
Hoe wordt de EDSP berekend?
De EDSP komt niet van één koers. Hij komt uit een reeks van 31 waarnemingen: de AEX-stand om 15:30, om 15:31, en zo verder tot en met 16:00 CET. Het gemiddelde van die 31 standen, afgerond op twee decimalen, is het getal waartegen elke AEX-optieserie van die expiratie in cash wordt afgerekend. De verrekening volgt op de eerste werkdag na de laatste handelsdag. De contractspecificatie noemt uitoefening tot 19:45 CET op die laatste handelsdag, waarbij brokers hun eigen, eerdere deadlines mogen hanteren.
Reken het door als hypothetisch voorbeeld. Zet de EDSP op 912,34 en neem een call met uitoefenprijs 900. De afrekening is dan (912,34 - 900) x 100 euro, oftewel 1.234 euro per contract. Ligt de EDSP op 899,90, dan levert dezelfde call niets op, ook al stond de index om 15:45 nog boven 900. Europees van stijl betekent daarbij dat er voor de expiratiedatum niets uit te oefenen valt. Het verschil met de Amerikaanse stijl staat in Amerikaanse en Europese opties, en wat er in de administratie gebeurt bij een serie die in-the-money afloopt in een optie die in-the-money expireert.
Waarom de slotstand van 17:40 je afrekenkoers niet is
Amsterdam handelt door nadat de expirerende optieserie is gestopt. De doorlopende aandelenhandel loopt tot 17:30 CET, en de slotveiling zet daarna de officiële slotstand rond 17:40 vast. De EDSP staat op dat moment al ruim anderhalf uur vast. Het getal dat bepaalt of jouw uitoefenprijs uitbetaalt, komt dus uit een venster midden in de Amsterdamse middag.
Hoe groot is het verschil tussen een gemiddelde over een halfuur en een slotkoers in de praktijk? De AEX zelf zit niet in de panelen hieronder, dus meten we het mechanisme op de Amerikaanse notering van ASML, het zwaarstwegende aandeel in de index, en op SPY, de grootste ETF op de S&P 500. Per sessie nemen we het gemiddelde van de minuutkoersen over de eerste 31 minuten van de Amerikaanse handelsdag, van 09:30 tot en met 10:00 ET, en zetten dat naast de officiële slotkoers van diezelfde dag. Die 31 minuten zijn geen willekeurige keuze: 15:30 CET is vrijwel het hele jaar 09:30 ET, dus het EDSP-venster van Euronext valt samen met het eerste halfuur in New York.
| date | sessie_label | asml_bps | spy_bps |
|---|---|---|---|
| 2026-06-22 | 22 jun | 23.9 | 63.2 |
| 2026-06-23 | 23 jun | 94.1 | 22.9 |
| 2026-06-24 | 24 jun | -89.3 | 38.9 |
| 2026-06-25 | 25 jun | -153.4 | -3.4 |
| 2026-06-26 | 26 jun | -71.7 | 0.7 |
| 2026-06-29 | 29 jun | -363.6 | -37.6 |
| 2026-06-30 | 30 jun | -213.8 | -59.6 |
| 2026-07-01 | 1 jul | 404.4 | -25.1 |
| 2026-07-02 | 2 jul | 404.6 | 66 |
| 2026-07-06 | 6 jul | 31.7 | -35.3 |
| 2026-07-07 | 7 jul | -52 | 24.6 |
| 2026-07-08 | 8 jul | -49.4 | -19.6 |
| 2026-07-09 | 9 jul | 223.8 | -47.8 |
| 2026-07-10 | 10 jul | -58.4 | -29.8 |
| 2026-07-13 | 13 jul | 133.3 | 51.1 |
| 2026-07-14 | 14 jul | 24.6 | -13.3 |
| 2026-07-15 | 15 jul | -172.9 | -6.3 |
| 2026-07-16 | 16 jul | 119.1 | 15.1 |
| 2026-07-17 | 17 jul | -146.5 | -9.3 |
| 2026-07-20 | 20 jul | 189 | 72.1 |
De exacte SQL achter elk getal
WITH venster AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS sessie,
ticker,
avg(toFloat64(close)) AS gemiddelde
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('ASML', 'SPY')
AND window_start >= today() - 100
AND window_start < today() - 2
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) <= 600
GROUP BY sessie, ticker
),
slot AS
(
SELECT
date AS sessie,
ticker,
toFloat64(any(close)) AS slotkoers
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('ASML', 'SPY')
AND date >= today() - 100
GROUP BY sessie, ticker
),
afwijking AS
(
SELECT
v.sessie AS sessie,
v.ticker AS ticker,
round(10000 * (v.gemiddelde - s.slotkoers) / s.slotkoers, 1) AS bps
FROM venster AS v
INNER JOIN slot AS s ON s.sessie = v.sessie AND s.ticker = v.ticker
)
SELECT
toString(sessie) AS date,
concat(toString(toDayOfMonth(sessie)), ' ',
arrayElement(['jan', 'feb', 'mrt', 'apr', 'mei', 'jun',
'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], toMonth(sessie))) AS sessie_label,
round(anyIf(bps, ticker = 'ASML'), 1) AS asml_bps,
round(anyIf(bps, ticker = 'SPY'), 1) AS spy_bps
FROM afwijking
GROUP BY sessie
HAVING countIf(ticker = 'ASML') > 0 AND countIf(ticker = 'SPY') > 0
ORDER BY sessieElk punt in de lijn is één sessie, en de eenheid is basispunten: één basispunt is 0,01 procent. Het paneel telt 67 sessies. Op de laatste sessie in beeld, 24 sep, kwam het verschil uit op -59.1 basispunten voor ASML en -30.3 basispunten voor SPY. De lijn kruist regelmatig de nullijn en zit er zelden precies op.
De spreiding eronder vat dezelfde sessies samen in absolute afwijking, dus zonder richting.
| ticker | mediaan_afwijking_bps | p90_afwijking_bps | grootste_afwijking_bps |
|---|---|---|---|
| ASML | 70.5 | 217.8 | 404.6 |
| SPY | 26.7 | 69.1 | 129.2 |
De exacte SQL achter elk getal
WITH venster AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS sessie,
ticker,
avg(toFloat64(close)) AS gemiddelde
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('ASML', 'SPY')
AND window_start >= today() - 100
AND window_start < today() - 2
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) <= 600
GROUP BY sessie, ticker
),
slot AS
(
SELECT
date AS sessie,
ticker,
toFloat64(any(close)) AS slotkoers
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('ASML', 'SPY')
AND date >= today() - 100
GROUP BY sessie, ticker
),
afwijking AS
(
SELECT
v.sessie AS sessie,
v.ticker AS ticker,
abs(round(10000 * (v.gemiddelde - s.slotkoers) / s.slotkoers, 1)) AS abs_bps
FROM venster AS v
INNER JOIN slot AS s ON s.sessie = v.sessie AND s.ticker = v.ticker
)
SELECT
ticker,
round(quantileDeterministic(0.5)(abs_bps, toUInt32(sessie)), 1) AS mediaan_afwijking_bps,
round(quantileDeterministic(0.9)(abs_bps, toUInt32(sessie)), 1) AS p90_afwijking_bps,
round(max(abs_bps), 1) AS grootste_afwijking_bps
FROM afwijking
GROUP BY ticker
ORDER BY mediaan_afwijking_bps DESCVan de twee namen heeft ASML de grootste mediane afwijking: 70.5 basispunten, met 404.6 basispunten als uitschieter over de gemeten periode. Voor SPY ligt de mediaan op 26.7 basispunten, en blijft negen van de tien sessies binnen 69.1 basispunten. Een venster van een halfuur en een slotkoers zijn twee verschillende getallen, en op indexniveau is die afstand in punten al snel groter dan de marge waarmee een serie net in of net uit het geld eindigt.
Waar in de sessie zit de beweging?
Het venster van 15:30 tot 16:00 CET ligt in Amsterdam midden in de middag en in New York op de opening. Het paneel meet per klokuur hoe groot de gemiddelde beweging binnen één minuut is, gemeten als het verschil tussen de openings- en slotkoers van elke minuutbalk, uitgedrukt in basispunten.
| et_time | asml_beweging_bps | spy_beweging_bps |
|---|---|---|
| 09:00 | 15.93 | 3.14 |
| 10:00 | 9.82 | 2.52 |
| 11:00 | 7.03 | 1.96 |
| 12:00 | 5.6 | 1.58 |
| 13:00 | 4.68 | 1.4 |
| 14:00 | 4.61 | 1.4 |
| 15:00 | 6.28 | 1.57 |
De exacte SQL achter elk getal
SELECT
concat(leftPad(toString(toHour(toTimeZone(window_start, 'America/New_York'))), 2, '0'), ':00') AS et_time,
round(avgIf(10000 * abs(toFloat64(close) - toFloat64(open)) / toFloat64(open), ticker = 'ASML'), 2) AS asml_beweging_bps,
round(avgIf(10000 * abs(toFloat64(close) - toFloat64(open)) / toFloat64(open), ticker = 'SPY'), 2) AS spy_beweging_bps
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('ASML', 'SPY')
AND window_start >= today() - 100
AND window_start < today() - 2
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(ticker = 'ASML') > 0 AND countIf(ticker = 'SPY') > 0
ORDER BY et_timeIn het uur van 09:00 ET, hetzelfde klokuur waarin het EDSP-venster valt, beweegt ASML gemiddeld 15.93 basispunten per minuut. Rond 12:00 ET is dat 5.6 basispunten. Voor SPY gaat het over dezelfde uren van 3.14 naar 1.58 basispunten. Het venster dat de EDSP vastlegt, ligt dus in een deel van de dag waarin de standen per minuut flink uiteenlopen, en daarom levert een gemiddelde over 31 waarnemingen een ander getal op dan één losse stand.
Drie beurzen, drie manieren om de afrekenkoers vast te leggen
- AEX-indexopties bij Euronext Amsterdam: het gemiddelde van 31 minuutstanden tussen en inclusief 15:30 en 16:00 CET, cash in euro's, Europese stijl.
- DAX-opties bij Eurex, de serie met code
ODAX: één waarde, berekend uit de intraday-veilingprijzen van de DAX-aandelen op Xetra, met een veiling die om 13:00 CET begint. Uitgewerkt in de afrekenprijs van DAX-opties; de codes zelf in Eurex-optiecodes ODAX, ODAP en OESX. - Amerikaanse indexopties: de klassieke SPX-maandserie rekent af op een speciale openingskoers op de expiratieochtend, de wekelijkse series op slotkoersen, en opties op de ETF leveren stukken in plaats van cash. Zie AM- en PM-settlement en SPX versus SPY-opties.
Drie markten, drie soorten getallen: een gemiddelde over een halfuur, een enkele veilingprijs, en een openings- of slotkoers. Wie de Amerikaanse conventie in Amsterdam toepast, kijkt op de verkeerde klok en naar het verkeerde soort prijs. Ook binnen de regio loopt de afwikkeling uiteen, zoals bij de dagopties op de Euro Stoxx 50.
Wat dit betekent voor een positie die tot expiratie blijft staan
- Na 16:00 CET staat het getal vast. Beweging in de index tussen 16:00 en de slotveiling verandert de EDSP niet meer.
- Elke waarneming weegt voor 1/31 mee. Een sprong van tien indexpunten in één minuut verschuift de EDSP met ongeveer een derde punt.
- De stand die om 15:45 op je scherm staat, is één van de 31 waarnemingen en niet de afrekening.
- Bij een serie dicht bij de uitoefenprijs is de uitkomst pas na 16:00 CET vast te stellen, want de EDSP kan aan de andere kant van je strike uitkomen dan de losse stand tijdens het venster.
- De weekserie en de dagserie werken identiek, alleen op hun eigen laatste handelsdag.
FAQ
Hoe wordt de expiratiekoers van AEX opties bepaald?
Euronext berekent de EDSP als het gemiddelde van de AEX-standen op elke hele minuut tussen en inclusief 15:30 en 16:00 CET op de laatste handelsdag, afgerond op twee decimalen. Dat zijn 31 waarnemingen. De afwikkeling gebeurt in cash, op de eerste werkdag na de laatste handelsdag.
Hoe laat stopt de handel in AEX opties op de expiratiedag?
Om 16:00 CET, terwijl de doorlopende aandelenhandel in Amsterdam tot 17:30 CET loopt en de slotveiling daarna de slotstand vastzet. De expirerende serie handelt dus het laatste anderhalve uur van de dag niet meer.
Kun je AEX opties eerder uitoefenen dan op de expiratiedatum?
Nee. AEX-indexopties zijn Europees van stijl, dus uitoefening kan alleen op de expiratiedatum. De contractspecificatie noemt daarvoor een deadline van 19:45 CET op de laatste handelsdag; brokers hanteren vaak een eerder tijdstip.
Wat is het verschil met de afrekenprijs van DAX-opties?
Bij Eurex komt de slotafrekenprijs van DAX-opties uit de intraday-veiling op Xetra die om 13:00 CET begint: één prijs, geen gemiddelde. De AEX gebruikt een gemiddelde van 31 minuutstanden laat in de Amsterdamse middag.
Hoeveel is één AEX-optiecontract waard per indexpunt?
100 euro per indexpunt. Het voorbeeld in de specificatie zelf: bij een indexstand van 390,00 is de contractwaarde 39.000 euro. Eén indexpunt verschil in de EDSP is 100 euro per contract.
Wat de panelen wel en niet meten
- De contractgegevens in dit stuk (100 euro per indexpunt, Europese stijl, cash settlement, handel tot 16:00 CET op de derde vrijdag, EDSP als gemiddelde van de minuutstanden tussen 15:30 en 16:00 CET) komen uit de contractspecificaties van Euronext voor de maand-, week- en dagseries, stand september 2026.
- De panelen rekenen op Amerikaanse koersdata: de notering van ASML en die van SPY. De AEX-index en de AEX-optieseries zitten er niet in. Wat de panelen tonen is het mechanisme, namelijk de afstand tussen een gemiddelde over een halfuur en één enkele koers.
- De feestdagkolom in het eerste paneel volgt de Amerikaanse beurskalender, die ongeveer een jaar vooruit is gevuld. Voor de verste datums kan de vlag op
neestaan terwijl er later alsnog een sluiting bijkomt. De Euronext-kalender is de bron voor Amsterdamse sluitingsdagen. - Basispunten: 1 basispunt is 0,01 procent, 100 basispunten is 1 procent.
- Het venster van 09:30 tot en met 10:00 ET valt samen met 15:30 tot en met 16:00 CET zolang beide zones in dezelfde zomertijdstand zitten. In de paar weken rond de overgang in maart en eind oktober is het verschil een uur.
- De koersdata loopt één tot twee dagen achter op vandaag, dus de laatste sessie in de panelen is niet de dag van vandaag.
Onder elk paneel staat de exacte SQL die het getal heeft geteld, dus je kunt elke stap zelf natrekken. Wil je een eigen venster doorrekenen, bijvoorbeeld een ander halfuur of een andere naam, stel die vraag dan in gewoon Nederlands op de Strasmore terminal.