Eurex Option Codes: ODAX, ODAP, OESX
Eurex option codes explained: ODAX and ODAP on the DAX, OESX and OEXP on the EURO STOXX 50, with the contract value and settlement style for each line.
Eurex option codes are product IDs: ODAX names the standard DAX index option, ODAP names the DAX End-of-Day option that expires every weekday, OESX names the standard EURO STOXX 50 index option, and OEXP is its daily sibling. None of those four-letter codes carries a strike or an expiry inside it. On Eurex an instrument is a product ID plus an expiry plus a strike plus a call or put flag, and that structure is where readers trained on US option symbols get stuck.
What do the Eurex option codes ODAX, ODAP and OESX mean?
Every contract listed on Eurex carries a short alphabetic product ID. Index options begin with O (ODAX, ODAP, OESX, OEXP, ODXS) and index futures begin with F (FDAX, FESX). The ID identifies a product line, not a tradable series. One product ID stands over hundreds of live series at any moment, and the exchange's trading files pin an individual series with a numeric instrument ID underneath the product ID rather than with a packed text symbol.
That single fact clears up most of the confusion. ODAP is not something you can buy. It is the line inside which you then pick an expiry date, a strike in index points, and a call or a put. Broker screens differ in how they print that combination, which is how one position ends up looking like three different symbols across three platforms. Our note on why ticker symbols break datasets covers that mismatch in general terms.
ODAX and ODAP: the two DAX option lines
ODAX is the long-standing DAX index option. The Eurex contract specification puts its contract value at EUR 5 per index point, cash settled on the first exchange day following final settlement, European style, meaning exercise only on the final settlement day. Its final settlement price comes from the Xetra auction prices of the index component shares, with the intraday auction starting at 13:00 CET, and the listing schedule runs out to 60 months.
ODAP is the DAX End-of-Day option, introduced on 13 November 2023 under Eurex circular 085/23. Its product page keeps the same EUR 5 per index point, the same cash settlement and the same European exercise. Two things differ. The final settlement price is taken from the closing auction price of the index constituents at 17:30 CET, and the listed terms reach roughly three months instead of five years, with settlement days available Monday through Friday. The name says what changed: the contract settles at the end of the day rather than at midday.
OESX and OEXP: the EURO STOXX 50 pair
OESX is the EURO STOXX 50 Index Option, cash settled and European style at EUR 10 per index point, twice the multiplier of the DAX line. Its final settlement price is the average of the index values calculated between 11:50 and 12:00 CET, and its term structure stretches out to 119 months.
OEXP is the EURO STOXX 50 End-of-Day Index Option. Same EUR 10 per index point, same cash settlement, same European exercise, with the final settlement price read from the 17:30 CET closing auction and expirations running Monday through Friday plus month end.
Two neighbours are easy to misread. ODXS is the Micro-DAX option at EUR 1 per index point, one fifth of ODAX. OSTX is an option on the STOXX Europe 50, a different index from the EURO STOXX 50 with different constituents.
Why a US options symbol will not parse here
US listed options use the OSI format: a root padded to six characters, a six-digit YYMMDD expiry, a single C or P, then an eight-digit strike carrying three implied decimals. Twenty-one characters, every field at a fixed offset. The panel below takes the most active SPY contracts from the session of 17 June 2026 and splits them into those fields.
| contract_code | root | expiry_field | call_put | strike_field | contracts_traded |
|---|---|---|---|---|---|
| O:SPY260618C00750000 | SPY | 260618 | C | 00750000 | 128199 |
| O:SPY260618C00760000 | SPY | 260618 | C | 00760000 | 88539 |
| O:SPY260618C00755000 | SPY | 260618 | C | 00755000 | 79928 |
| O:SPY260618P00740000 | SPY | 260618 | P | 00740000 | 74895 |
| O:SPY260618P00745000 | SPY | 260618 | P | 00745000 | 73805 |
| O:SPY260618C00751000 | SPY | 260618 | C | 00751000 | 72531 |
| O:SPY260618P00730000 | SPY | 260618 | P | 00730000 | 67968 |
| O:SPY260618C00752000 | SPY | 260618 | C | 00752000 | 61391 |
The exact SQL behind every number
SELECT
ticker AS contract_code,
underlying_symbol AS root,
formatDateTime(expiration_date, '%y%m%d') AS expiry_field,
upper(substring(option_type, 1, 1)) AS call_put,
right(concat('00000000', toString(toUInt64(round(toFloat64(strike_price) * 1000)))), 8) AS strike_field,
sum(volume) AS contracts_traded
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-17'
AND volume > 0
GROUP BY ticker, underlying_symbol, expiration_date, option_type, strike_price
ORDER BY contracts_traded DESC
LIMIT 8Read the top row across and the whole convention is visible: root SPY, expiry field 260618 in YYMMDD form, the C flag, and strike field 00750000, which is the dollar strike multiplied by 1,000. The full walkthrough sits in how to read an options symbol.
Eurex publishes no equivalent string. A parser that expects twenty-one fixed characters receives ODAP and stops: no strike inside it, no expiry, no option type. The fields a US symbol packs together have to travel as separate columns instead. Futures symbology follows the same product-first habit on the European side, as the futures symbol guide shows, where FDAX names the DAX future line and the delivery month rides alongside it.
Does ODAP mean DAX daily options?
In search traffic, yes. ODAP is the line carrying Monday through Friday settlement days on the DAX, and OEXP does the same job on the EURO STOXX 50. The trading mechanics live in DAX daily options and EURO STOXX 50 daily options.
How lopsided short-dated volume gets is measurable in the US listed market, where SPY has carried weekday expirations for years. The panel buckets one session of SPY option volume by the number of days each contract had left to run.
| expiry_bucket | contracts_traded | share_pct |
|---|---|---|
| 1 | 2310803 | 50.4 |
| 5 | 379342 | 8.3 |
| 6 | 128420 | 2.8 |
| 7 | 106366 | 2.3 |
| 8 or more | 1658342 | 36.2 |
The exact SQL behind every number
WITH spy AS
(
SELECT
days_to_expiry,
volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-17'
AND volume > 0
AND days_to_expiry >= 0
)
SELECT
if(days_to_expiry >= 8, '8 or more', toString(days_to_expiry)) AS expiry_bucket,
sum(volume) AS contracts_traded,
round(100 * sum(volume) / (SELECT sum(volume) FROM spy), 1) AS share_pct
FROM spy
GROUP BY expiry_bucket
ORDER BY min(days_to_expiry)Contracts with 1 days left took 50.4% of SPY option volume that session, while everything eight days out or longer took 36.2%. That shape is the behaviour the European daily lines are built around. Which US names carry a comparable weekday calendar is the subject of which stocks have daily options.
What is the contract value behind each code?
A US equity option covers 100 shares, so the amount of stock behind one contract moves with the share price. The panel shows what a single contract covered across five household names on the same pinned session.
| underlying | dollars_per_contract | deliverable_usd_label |
|---|---|---|
| SPY | 74560 | 74.56 thousand |
| QQQ | 72993 | 72.99 thousand |
| AAPL | 29710 | 29.71 thousand |
| IWM | 29242 | 29.24 thousand |
| KO | 7995 | 8.00 thousand |
The exact SQL behind every number
SELECT
underlying_symbol AS underlying,
round(toFloat64(max(underlying_close)) * 100, 0) AS dollars_per_contract,
formatReadableQuantity(round(toFloat64(max(underlying_close)) * 100, 0)) AS deliverable_usd_label
FROM global_markets.options_greeks
WHERE date = '2026-06-17'
AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'KO')
AND volume > 0
GROUP BY underlying_symbol
ORDER BY dollars_per_contract DESCSPY carried the largest deliverable of the five at about 74.56 thousand dollars of stock per contract. Eurex index options work from index points instead of share counts. One contract covers the contract value times the index level, which is plain arithmetic: at an index level of 24,000, an ODAX or ODAP contract covers EUR 120,000 of index exposure at EUR 5 a point, and at a level of 5,500 an OESX or OEXP contract covers EUR 55,000 at EUR 10 a point.
Code, underlying, contract value, settlement
- ODAX: DAX, EUR 5 per index point, cash settled, European style, final settlement from the Xetra auction beginning 13:00 CET. Source: Eurex ODAX
- ODAP: DAX, EUR 5 per index point, cash settled, European style, final settlement from the 17:30 CET closing auction, weekday settlement days. Source: Eurex ODAP
- OESX: EURO STOXX 50, EUR 10 per index point, cash settled, European style, final settlement from the average index value between 11:50 and 12:00 CET. Source: Eurex OESX
- OEXP: EURO STOXX 50, EUR 10 per index point, cash settled, European style, final settlement from the 17:30 CET closing auction, weekday and month-end expirations. Source: Eurex OEXP
- ODXS: DAX, EUR 1 per index point, cash settled, European style. Source: Eurex ODXS
Those terms were read from the Eurex product pages in September 2026. Exchanges revise contract specifications, and the page linked on each line is the authority.
FAQ
What is the difference between ODAX and ODAP?
Both are cash-settled, European-style DAX index options worth EUR 5 per index point. ODAX settles against the Xetra auction that starts at 13:00 CET and lists terms out to 60 months. ODAP settles against the 17:30 CET closing auction, lists about three months of terms, and offers settlement days Monday through Friday.
Does ODAP mean DAX daily options?
In practice, yes. ODAP is the product ID for DAX End-of-Day options, the line that carries Monday through Friday expirations on the index.
What is the contract value of an OESX option?
EUR 10 per index point, per the Eurex product page, with a minimum price change of 0.1 points worth EUR 1. OEXP carries the same EUR 10 multiplier on the same index.
Can I use the OCC options symbol format for Eurex contracts?
No. The OSI format packs root, expiry, option type and strike into one 21-character string. A Eurex instrument is identified by its product ID, with expiry, strike and option type carried as separate fields.
Is OESX the same as OSTX?
No. OESX is written on the EURO STOXX 50. OSTX is written on the STOXX Europe 50, a different index with a different constituent list.
Data notes
The query panels on this page measure US listed option activity on 17 June 2026, one pinned session, and stand in as the measurable analogue for expiry concentration and per-contract coverage. European contract terms come from the Eurex product pages linked above, never from the panels. One more view of the same session: how many distinct expiration dates each US root traded.
| underlying | expiries_traded |
|---|---|
| SPY | 33 |
| QQQ | 30 |
| AAPL | 25 |
| MSFT | 24 |
| KO | 16 |
The exact SQL behind every number
SELECT
underlying_symbol AS underlying,
countDistinct(expiration_date) AS expiries_traded
FROM global_markets.options_greeks
WHERE date = '2026-06-17'
AND underlying_symbol IN ('SPY', 'QQQ', 'AAPL', 'MSFT', 'KO')
AND volume > 0
GROUP BY underlying_symbol
ORDER BY expiries_traded DESCSPY traded 33 distinct expiration dates that day. Each one occupies its own six-digit field inside a US symbol, and its own separate expiry selection inside a Eurex order.
Every panel here ships with the SQL underneath it. To run the same breakdown on another root or another session, ask the question in plain English on the Strasmore terminal.