Kosten für den Optionshandel berechnen
Optionen sind oft gebührenfrei, doch der bid-ask spread verursacht Kosten. Wir analysieren die medianen Kosten für SPY, QQQ, IWM, GLD und TSLA in basis points.
Commissions on listed options are zero at most brokerages, but every marketable options order still pays the bid-ask spread — the gap between the best price a buyer will pay and the best price a seller will accept. Options usually trade at far lower dollar prices than the stock they reference, so the same cents-wide gap is a much larger share of the trade. On 2026-07-02, SPY options (every 2026-expiry contract) quoted a median spread of 80.97 basis points during regular hours, while SPY stock itself quoted 0.27 bps — a gap of roughly 299.9×. Every figure below is measured from the consolidated options quote and trade tapes, with the exact SQL behind each number attached.
Warum sich Options-Spreads von Aktien-Spreads unterscheiden
Betrachten Sie eine Aktie mit einem Kurs von 745,00 $ Bid / 745,02 $ Ask. Der Spread von zwei Cent entspricht etwa 0,27 bps des Aktienkurses. Eine At-the-money-Call-Option auf dieselbe Aktie könnte mit 7,20 $ Bid / 7,30 $ Ask notiert sein – ein Spread von zehn Cent. Dies entspricht etwa 138 bps des Mittelkurses von 7,25 $. Die Option weist einen größeren Spread in Cent auf und ist als Anteil am tatsächlich gezahlten Preis um ein Vielfaches höher. Der niedrige Dollar-Preis der Option ist die Ursache: Zehn Cent sind absolut gesehen ein kleiner Betrag, stellen aber einen hohen Prozentsatz eines 7,25 $ Kontrakts dar.
Die professionelle Einheit zum Vergleich von Kosten über verschiedene Instrumente hinweg ist der Basispunkt (bp) – ein Hundertstel eines Prozents. Ein Standard-Optionskontrakt umfasst 100 Aktien des Basiswerts. Die Dollar-Auswirkung eines Trades skaliert somit mit dem Basiswert, aber der Spread wird im Verhältnis zum eigenen notierten Preis der Option gemessen. Dies ist die Einheit, die auf dieser Seite verwendet wird.
SPY-Optionen vs. SPY-Aktie: ein direkter Vergleich
SPY ist das liquideste Optionsprodukt in den USA, und selbst dort ist die Kostendifferenz erheblich. Die folgende Tabelle vergleicht SPY-Optionen und die SPY-Aktie in derselben Sitzung: das Quote-Aufkommen, die ausgeführten Trades und den medianen angebotenen Spread für jeden Wert.
Das exakte SQL hinter jeder Zahl
WITH
opt_q AS (
SELECT
count() AS opt_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS opt_median_spread_ratio
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
stock_q AS (
SELECT
count() AS stock_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS stock_median_spread_ratio
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker = 'SPY'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
opt_t AS (
SELECT count() AS opt_trades FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
),
stock_close AS (
SELECT round(argMax(toFloat64(close), window_start), 2) AS spy_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
)
SELECT
'2026-07-02' AS session_date,
opt_q.opt_updates AS spy_opt_updates,
stock_q.stock_updates AS spy_stock_updates,
round(opt_q.opt_updates / stock_q.stock_updates, 1) AS opt_to_stock_update_ratio,
opt_t.opt_trades AS spy_opt_trades,
round(opt_q.opt_updates / opt_t.opt_trades, 1) AS quotes_per_trade,
round(opt_q.opt_median_spread_ratio * 10000, 2) AS spy_opt_median_spread_bps,
round(stock_q.stock_median_spread_ratio * 10000, 2) AS spy_stock_median_spread_bps,
round(opt_q.opt_median_spread_ratio / stock_q.stock_median_spread_ratio, 1) AS ratio_opt_to_stock_spread,
stock_close.spy_close AS spy_underlying_close
FROM opt_q CROSS JOIN stock_q CROSS JOIN opt_t CROSS JOIN stock_closeDer mediane SPY-Options-Spread von 80.97 bps bedeutet, dass eine Market-Order für einen Round-Trip — Kauf zum Ask und späterer Verkauf zum Bid — im Vergleich zum Midpoint etwa den gesamten angebotenen Spread kostet, also etwa die Hälfte auf jeder Seite des Trades. Derselbe Round-Trip bei der SPY-Aktie kostet etwa 0.27 bps. Das Quote-Aufkommen zeigt dieselbe Liquidität aus einer anderen Perspektive: Market Maker gaben 256.5 SPY-Options-Quote-Updates für jeden ausgeführten SPY-Options-Trade ab, wobei tausende Strike- und Fälligkeitskombinationen Tick für Tick neu bewertet wurden.
Die SPY-Options-Spread-Verteilung: Es gibt nicht nur einen Wert
Ein Median ist nützlich, aber der Spread, den ein einzelner Trader zahlt, hängt vom Kontrakt ab. SPY-Optionen nahe am Geld mit kurzer Laufzeit weisen tendenziell die engsten Kurse auf. Aus dem Geld liegende oder weit in der Zukunft fällige Kontrakte können deutlich weitere Spreads aufweisen. Die folgende Übersicht zeigt die vollständige Verteilung aller gültigen zweiseitigen SPY-Optionskurse der Sitzung.
Das exakte SQL hinter jeder Zahl
WITH opts AS (
SELECT
(toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
SELECT
round(quantileDeterministic(0.10)(spread_bps, det), 2) AS p10_bps,
round(quantileDeterministic(0.25)(spread_bps, det), 2) AS p25_bps,
round(quantileDeterministic(0.50)(spread_bps, det), 2) AS median_bps,
round(quantileDeterministic(0.75)(spread_bps, det), 2) AS p75_bps,
round(quantileDeterministic(0.90)(spread_bps, det), 2) AS p90_bps,
count() AS valid_two_sided_quotes
FROM optsDie mittlere Hälfte der SPY-Optionskurse lag zwischen 49.65 bps und 147.12 bps. Ein Zehntel der Kurse war enger als 35.51 bps, und ein Zehntel war weiter als 316.51 bps. Der breite Ausläufer spiegelt illiquide Strikes und weit in der Zukunft liegende Verfallsdaten wider – genau die Kontrakte, auf die ein Gelegenheitskäufer am ehesten stößt.
Wie sich die Kosten bei gängigen Produkten unterscheiden
SPY ist der Benchmark, aber nicht jedes Optionsprodukt weist so enge Spreads auf. Die folgende Tabelle misst den Median des Spreads während der regulären Handelszeiten in Basispunkten für fünf viel gehandelte Options-Underlyings: drei Index-ETFs (SPY, QQQ, IWM), ein Gold-ETF (GLD) und eine einzelne Aktie mit hoher Optionsliquidität (TSLA). Jedes Underlying ist auf den Ticker-Bereich mit Fälligkeit im Jahr 2026 gefiltert, sodass die Abfrage den (ticker, sip_timestamp)-Index bereinigt. Die Zeilen sind alphabetisch sortiert, damit jedes Produkt eine feste Position behält.
Das exakte SQL hinter jeder Zahl
SELECT
root,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(spread_bps, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width_cents, det), 2) AS median_width_cents
FROM (
SELECT 'SPY' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'QQQ' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:QQQ26' AND ticker < 'O:QQQ27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'IWM' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:IWM26' AND ticker < 'O:IWM27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'GLD' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:GLD26' AND ticker < 'O:GLD27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'TSLA' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:TSLA26' AND ticker < 'O:TSLA27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
GROUP BY root
ORDER BY root ASCDie Index-ETFs weisen die engsten Spreads auf: SPY notierte einen Median-Spread von 80.97 bps, QQQ 123.71 bps und IWM 130.72 bps. Am oberen Ende der Skala notierten TSLA-Optionen 309.93 bps und GLD-Optionen 786.75 bps – ein völlig anderes Kostenniveau. Die Spalte für die Quote-Updates (in Millionen) ergänzt diese Daten: Die am häufigsten notierten Produkte befinden sich am unteren Ende der Spread-Skala.
Der 0DTE- und Weekly-Effekt: kürzere Laufzeit, breiterer Spread
Kontrakte mit kürzerer Restlaufzeit werden tendenziell zu niedrigeren Dollar-Preisen gehandelt. Dies erhöht mechanisch den Spread in Basispunkten, selbst wenn der Unterschied in Cent-Beträgen gering bleibt. Die folgende Tabelle gruppiert At-the-money SPY-Optionskurse (Strikes 730–760) nach Verfallsdatum – alle Verfallsdaten im Jahr 2026, die in dieser Sitzung mindestens eine Million Kursaktualisierungen aufwiesen, in chronologischer Reihenfolge.
Das exakte SQL hinter jeder Zahl
WITH opts AS (
SELECT
toFloat64(ask_price) - toFloat64(bid_price) AS width,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
substring(ticker, -15, 6) AS expiry_code,
toUInt32OrZero(substring(ticker, -8)) / 1000 AS strike,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
AND strike BETWEEN 730 AND 760
)
SELECT
expiry_code,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(width / mid * 10000, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width * 100, det), 2) AS median_width_cents
FROM opts
GROUP BY expiry_code
HAVING count() >= 1000000
ORDER BY expiry_code ASCDer Kontrakt mit derselben Laufzeit – Verfalls-Code 260702, der 0DTE – wies einen medianen Spread von 113.64 bps bei einer medianen Breite von nur 2 Cent auf. Der am weitesten auseinanderliegende Verfallstermin über dem Durchschnitt, 261231, wurde mit einem höheren Cent-Abstand (11) gehandelt, war jedoch in Basispunkten mit 37.16 bps deutlich enger. Dies ist die zentrale Erkenntnis bei den Kosten des Optionshandels: Ein Spread von ein oder zwei Cent ist nicht automatisch günstig, wenn die Option selbst nur für wenige Dollar gehandelt wird. Was 0DTE-Optionen sind erklärt die Mechanik von Kontrakten mit derselben Laufzeit.
Was die Handelsgröße über die Kostenverursacher aussagt
Der Handel mit Optionen erfolgt in Kontrakten, wobei ein Standardkontrakt 100 Aktien umfasst. Der Medianwert der ausgeführten Optionsgeschäfte lag am 2026-07-02 bei nur 1 Kontrakten; selbst das 90. Perzentil lag bei lediglich 10 Kontrakten. Die meisten Optionsgeschäfte sind klein. Privatanleger sind dem angebotenen spread am stärksten ausgesetzt – große institutionelle Aufträge können oft Preisverbesserungen aushandeln oder den Auftrag zeitlich staffeln.
Das exakte SQL hinter jeder Zahl
WITH trades AS (
SELECT toFloat64(size) AS size FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
)
SELECT
round(quantileExact(0.50)(size), 0) AS median_contracts,
round(quantileExact(0.90)(size), 0) AS p90_contracts,
round(avg(size), 1) AS avg_contracts,
count() AS total_prints
FROM tradesFAQ
Sind Optionen teurer im Handel als Aktien?
In der Regel ja, gemessen als Anteil am gehandelten Preis. Ein hochliquider ETF wie SPY weist beim zugrunde liegenden Wert einen Spread von deutlich unter einem Basispunkt auf; die Optionen auf denselben Basiswert kosten routinemäßig dutzende Basispunkte. Der Dollarbetrag hängt vom Preis der Option und der Anzahl der Kontrakte ab, aber der Spread als Prozentsatz des Optionswertes ist fast immer größer als der der Aktie.
Warum sind 0DTE-Optionen in Basispunkten so hoch?
Optionen mit derselben Laufzeit oder wöchentliche Optionen werden gegen Ende ihrer Laufzeit oft zu niedrigen Dollarpreisen gehandelt – manchmal unter 1,00 $. Ein Spread von einem oder zwei Cent bei einer Option für 0,50 $ entspricht 2–4 % des Preises oder 200–400 bps. Die Cent-Beträge wirken gering; die prozentualen Kosten sind es nicht. Deshalb vergleichen Trader Spreads in Basispunkten und nicht in Cent.
Sind Kommissionen wichtiger als der Spread?
Bei einem Einzel-Lot-Retail-Trade dominiert meist der Spread. Ein Quote von 1,00 $ / 1,05 $ kostet pro Kontrakt (100 Aktien pro Kontrakt) vor jeglicher Kommission 5,00 $ für einen vollständigen Round-Trip. Bei Produkten mit niedrigen Preisen oder weiten Spreads kann allein der Spread jede plausible Kommission übersteigen.
Kann ich den Spread durch die Verwendung von Limit-Orders vermeiden?
Eine Limit-Order innerhalb des Spreads kann zu einem Preis ausführen, der unter dem vollen Spread liegt, aber eine Ausführung ist nicht garantiert. Eine Marketable Order zahlt per Definition den Spread. Der Spread ist der Preis für die sofortige Ausführung und keine Gebühr Ihres Brokers.
Welche Optionsprodukte haben die engsten Spreads?
Basierend auf den Messungen dieser Seite weisen die großen Index-ETFs – SPY, QQQ, IWM – die engsten Mediane auf und verzeichnen zudem das höchste Quote-Aufkommen. Rohstoff-ETFs (GLD) und Einzelaktien-Optionen können deutlich weitere Spreads aufweisen. Der Spread variiert von Kontrakt zu Kontrakt – gleicher Basiswert, aber unterschiedlicher Strike und unterschiedliches Verfallsdatum –, sodass ein einzelner Median eine große Varianz verbirgt.
Datenhinweise
Alle Zeitstempel sind in UTC gespeichert; reguläre Handelszeiten am 2. Juli 2026 sind als sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00' (9:30 am–4:00 pm ET) gefiltert. Spread-Statistiken verwenden nur gültige zwei-seitige Kurse (bid_price > 0, ask_price > 0, ask_price > bid_price), konvertieren Decimal-Preise vor der Division in Float64 und nutzen deterministische Median-Schätzer (quantileDeterministic, basierend auf einem Hash aus Ticker und Zeitstempel), sodass eine erneute Berechnung identische Werte liefert. Die folgende Zählung erfasst jeden SPY-Optionsdatensatz innerhalb des Zeitfensters und zeigt auf, welchen Anteil die gültigen zwei-seitigen Kurse am Rohdaten-Feed ausmachen.
Zählung der Quote-Qualität und vollständige Methodik
Das exakte SQL hinter jeder Zahl
WITH opts AS (
SELECT
bid_price,
ask_price
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
)
SELECT
count() AS total_updates,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) AS valid_two_sided,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2) AS valid_pct,
countIf(bid_price = 0 OR ask_price = 0) AS one_sided,
round(100.0 * countIf(bid_price = 0 OR ask_price = 0) / count(), 2) AS one_sided_pct,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) AS locked_or_crossed,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) / count(), 2) AS locked_or_crossed_pct
FROM optsMehr als 99.94% der SPY-Options-Quote-Datensätze in der Sitzung waren gültige zwei-seitige Kurse; einseitige Datensätze machten 0.06% des Feeds aus, während gesperrte oder überkreuzte Kurse vernachlässigbar waren. Jeder oben genannte Spread-Wert wird auf Basis der Teilmenge der gültigen zwei-seitigen Kurse berechnet – also der Kosten, die ein Trader im NBBO tatsächlich beobachten konnte.
- Marktdatenquelle: konsolidierter OPRA-Stil Options-Quote-Tape (
global_markets.cache_options_quotes), der entsprechende Aktien-Quote-Tape und der konsolidierte Options-Trade-Tape (global_markets.options_trades; das Trade-Size-Panel deckt bewusst den gesamten Tape ab, nicht nur SPY). - OCC Ticker-Format:
O:+ Root + sechsstelliges Verfallsdatum (YYMMDD) +C/P+ siebenstelliger Strike ×1000. Das 0DTE-Panel extrahiert Verfallsdatum und Strike aus dem Ticker; Spread-Berechnungen aggregieren Calls und Puts. Der Filter für jeden Root deckt dessen Verfallsbereich für 2026 ab (O:SPY26..O:SPY27und Äquivalente), wodurch jeder Scan auf dem (ticker, sip_timestamp) Index optimiert bleibt. - Spread-Definition:
(ask − bid) / midpoint × 10,000, in Basispunkten, nur für gültige zwei-seitige Kurse. - Mediane und Perzentile:
quantileDeterministicReservoir-Schätzer, basierend aufcityHash64(ticker, sip_timestamp)— speicherbeschränkt und identische Ergebnisse bei jeder erneuten Berechnung. - Schlusskurs des Basiswerts: letzte Minute-Bar der regulären Handelszeit von
delayed_stocks_minute_aggs. - Sitzungszeitfenster: 13:30–20:00 UTC, abgeglichen mit beobachteten SPY Minute-Bars statt mit Kalenderberechnungen.
- Fixierte Sitzung: 2. Juli 2026 — eine abgeschlossene vollständige Sitzung, die zum Zeitpunkt der Erstellung (9. Juli 2026) deutlich vor dem typischen Ingest-Verzug des Warehouse von etwa ein bis zwei Tagen liegt. Die Datumsangaben sind fixiert, sodass eine erneute Berechnung dieselben Werte liefert.
Möchten Sie wissen, was ein bestimmter Kontrakt kostet? Jedes oben genannte Panel ist eine gespeicherte Abfrage — führen Sie diese oder Ihre eigene Variation auf dem Strasmore-Terminal aus. Weitere Informationen zu den Mechanismen finden Sie unter die Kosten für den Aktienhandel, was ein Bid-Ask-Spread ist, 0DTE-Optionen, die Größe des Options-Quote-Feeds und Optionsvolumen vs. Open Interest.