magkano ang gastos sa options trading
Zero ang komisyon sa options, pero may bid-ask spread. Tingnan ang median cost sa SPY, QQQ, IWM, GLD, at TSLA options, sa basis points.
Zero ang komisyon sa listed options sa karamihan ng brokerage, pero bawat marketable options order ay nagbabayad pa rin ng bid-ask spread—ang agwat sa pagitan ng pinakamataas na presyong handang bayaran ng buyer at pinakamataas na presyong handang tanggapin ng seller. Karaniwang mas mababa ang dollar price ng options kumpara sa stock na kanilang tinutukoy, kaya ang parehong cents-wide gap ay mas malaking bahagi ng trade. Noong 2026-07-02, ang SPY options (bawat kontratang mag-e-expire sa 2026) ay nag-quote ng median spread na 80.97 basis points sa regular trading hours, habang ang SPY stock mismo ay nag-quote ng 0.27 bps—isang agwat na halos 299.9×. Bawat figure sa ibaba ay sinusukat mula sa consolidated options quote at trade tapes, kasama ang eksaktong SQL sa likod ng bawat figure.
Bakit iba ang itsura ng option spreads kumpara sa stock spreads
Isipin ang isang stock na may presyong $745.00 bid / $745.02 ask. Ang dalawang-sentimong spread ay halos 0.27 bps ng presyo ng bahagi. Ang isang at-the-money call sa parehong stock ay maaaring nasa $7.20 bid / $7.30 ask, isang sampung-sentimong spread, na katumbas ng halos 138 bps ng $7.25 midpoint. Mas malapad ang option sa sentimo, at daang beses na mas malapad bilang bahagi ng presyong aktuwal na binabayaran. Ang mababang presyo ng option sa dolyar ang gumagawa ng mekanikal na trabaho: ang sampung sentimo ay maliit sa ganap na halaga at malaking porsyento ng isang $7.25 contract.
Ang propesyonal na yunit para sa paghahambing ng gastos sa iba't ibang instrumento ay ang basis point (bp), isang daan ng isang porsyento. Ang isang karaniwang option contract ay sumasaklaw sa 100 bahagi ng underlying, kaya ang epekto sa dolyar ng isang trade ay sumusukat sa underlying, ngunit ang spread ay sinusukat laban sa sariling quoted price ng option. Iyan ang yunit na ginagamit sa buong pahinang ito.
SPY options vs. SPY stock: isang head-to-head
Ang SPY ang pinaka-likidong options product sa US, at kahit doon ay kapansin-pansin ang agwat sa gastos. Ipinapakita ng panel sa ibaba ang SPY options at SPY stock nang magkatabi sa iisang session: quote traffic, executed trades, at ang median quoted spread ng bawat isa.
Ang eksaktong SQL sa likod ng bawat numero
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_closeAng median SPY options spread na 80.97 bps ay nangangahulugang ang isang round-trip market order — pagbili sa ask at pagbenta sa bid — ay halos ibinibigay ang buong quoted spread kumpara sa midpoint, mga kalahati sa bawat panig ng trade. Ang parehong round trip sa SPY stock ay halos nagbibigay ng 0.27 bps. Ang quote traffic ay nagkukuwento ng parehong liquidity story mula sa ibang anggulo: nag-print ang market makers ng 256.5 SPY option quote updates para sa bawat executed SPY options trade, na nagre-reprice ng libu-libong strike-and-expiry combinations nang tick by tick.
Ang distribusyon ng spread ng SPY options: hindi ito iisang numero
Ang median ay kapaki-pakinabang, pero ang spread na binabayaran ng isang indibidwal na trader ay depende sa kontrata. Ang SPY options na malapit sa-the-money at malapit sa expiration ay may posibilidad na mag-quote ng pinakamahigpit; ang malayo out-of-the-money at malayong-dated na kontrata ay maaaring mas malawak. Ipinapakita ng panel sa ibaba ang buong distribusyon sa mga valid na two-sided SPY option quotes sa sesyon.
Ang eksaktong SQL sa likod ng bawat numero
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 optsAng gitnang kalahati ng SPY option quotes ay nasa pagitan ng 49.65 bps at 147.12 bps. Isang quote sa sampu ay mas mahigpit sa 35.51 bps, at isa sa sampu ay mas malawak sa 316.51 bps. Ang malawak na buntot ay sumusubaybay sa mga illiquid strikes at malayong-dated na expiry, eksaktong mga kontrata na malamang na matisod ng isang kaswal na mamimili.
Paano nag-iiba ang gastos sa mga sikat na produkto
Ang SPY ang benchmark, ngunit hindi lahat ng options product ay may kasing-tigas na quote. Ang panel sa ibaba ay sumusukat sa median na regular-hours quoted spread, sa basis points, sa limang malawakang kinakalakal na option roots: tatlong index ETFs (SPY, QQQ, IWM), isang gold ETF (GLD), at isang solong stock na may malalim na options liquidity (TSLA). Ang bawat root ay sinala sa 2026-expiry ticker range nito upang ang query ay mag-prune sa (ticker, sip_timestamp) index, at ang mga row ay nakalista nang paalpabeto upang ang bawat produkto ay may nakapirming posisyon.
Ang eksaktong SQL sa likod ng bawat numero
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 ASCAng mga index ETF ang nasa masikip na dulo ng board: SPY ay nag-quote ng median spread na 80.97 bps, QQQ 123.71 bps, at IWM 130.72 bps. Sa malawak na dulo, ang TSLA options ay nag-quote ng 309.93 bps at GLD options 786.75 bps, isang ganap na kakaibang cost regime. Ang column ng quote-updates (sa milyon) ay nagsasabi ng kasamang kwento: ang mga produktong pinakamabigat na na-quote ay nasa masikip na dulo ng board.
Ang epekto ng 0DTE at lingguhan: mas maikling buhay, mas malawak na spread
Ang mga kontratang may mas kaunting oras na natitira ay may posibilidad na mag-trade sa mas mababang presyo ng dolyar, na mekanikal na nagpapataas ng spread sa basis points kahit maliit lang ang agwat sa sentimo. Ang panel sa ibaba ay nag-grupo ng mga near-the-money SPY option quotes (strikes 730–760) ayon sa expiration date, bawat 2026 expiry na nag-print ng kahit isang milyong quote updates sa session, sa pagkakasunod-sunod ng kalendaryo.
Ang eksaktong SQL sa likod ng bawat numero
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 ASCAng kontrata para sa parehong araw, expiry code 260702, ang 0DTE, ay nagpakita ng median spread na 113.64 bps sa median width na 2 sentimo lamang. Ang pinakamahabang expiry sa bar, 261231, ay nag-quote ng mas malawak sa sentimo (11) ngunit mas mahigpit sa basis points, sa 37.16 bps. Iyan ang pangunahing aral ng options trading costs: ang isa o dalawang sentimong spread ay hindi awtomatikong mura kapag ang option mismo ay nagte-trade sa ilang dolyar lamang. Ano ang 0DTE options ang nagpapaliwanag ng mekanika ng mga kontrata para sa parehong araw.
Ano ang sinasabi ng datos ng trade-size tungkol sa kung sino ang nagbabayad ng mga gastos na ito
Ang options ay kinakalakal sa pamamagitan ng kontrata, at ang isang karaniwang kontrata ay sumasaklaw sa 100 shares. Ang median na naisagawang options trade noong 2026-07-02 ay 1 kontrata lamang; kahit ang 90th percentile na print ay 10 kontrata lang. Karamihan sa mga options trade ay maliit, at ang retail-sized na trader ang pinaka-exposed sa quoted spread — ang isang malaking institutional order ay kadalasang makakapag-negotiate ng price improvement o makakapaghati-hati ng sarili nito sa paglipas ng panahon.
Ang eksaktong SQL sa likod ng bawat numero
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
Mas mahal bang i-trade ang options kumpara sa stocks?
Karaniwan, oo, kung susukatin bilang bahagi ng presyo ng trade. Ang isang deeply liquid ETF tulad ng SPY ay may quoted spread na mas mababa sa isang basis point sa mismong stock; ang options ng parehong underlying ay regular na nagbabayad ng sampu-sampung basis points. Ang halaga sa dolyar ay depende sa presyo ng option at bilang ng contracts, ngunit ang spread bilang porsyento ng halaga ng option ay halos palaging mas malaki kaysa sa stock.
Bakit napakalawak ng 0DTE options sa basis points?
Ang same-day at weekly options ay madalas na nagte-trade sa mababang presyo ng dolyar, minsan nasa ilalim ng $1.00, malapit sa katapusan ng kanilang buhay. Ang isa o dalawang sentimo na spread sa isang $0.50 na option ay 2–4% ng presyo, o 200–400 bps. Mukhang maliit ang mga sentimo; ang porsyentong gastos ay hindi. Iyan ang dahilan kung bakit inihahambing ng mga trader ang spreads sa basis points, hindi sa sentimo.
Mas mahalaga ba ang commissions kaysa sa spread?
Para sa isang single-lot retail trade, karaniwang nangingibabaw ang spread. Ang isang $1.00 / $1.05 na quote ay nagkakahalaga ng $5.00 bawat contract sa isang buong round trip (100 shares bawat contract) bago ang anumang commission. Sa mga produktong mababa ang presyo o malawak ang spread, ang spread lamang ay maaaring lumampas sa anumang makatwirang commission.
Maiiwasan ko ba ang spread sa pamamagitan ng paggamit ng limit order?
Ang isang limit order sa loob ng spread ay maaaring mapuno sa mas mababa kaysa sa buong spread, ngunit hindi ito garantisadong mapupuno. Ang isang marketable order ay nagbabayad ng spread ayon sa depinisyon. Ang spread ay ang presyo ng immediacy, hindi isang fee na sinisingil ng iyong broker.
Aling mga options products ang may pinakamahigpit na spreads?
Sa mga sukat ng pahinang ito, ang malalaking index ETFs, SPY, QQQ, IWM, ang may pinakamahigpit na median, at sila rin ang may pinakamabigat na quote traffic. Ang commodity ETFs (GLD) at single-stock options ay maaaring mag-quote nang mas malawak. Ang spread ay nag-iiba bawat contract, kahit pareho ang underlying, magkaibang strike at expiry, kaya ang isang solong median ay nagtatago ng maraming pagkakaiba-iba.
Mga tala sa datos
Lahat ng timestamp ay naka-store sa UTC; ang regular na oras noong Hulyo 2, 2026 ay naka-filter bilang sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00' (9:30 am–4:00 pm ET). Ang mga istatistika ng spread ay gumagamit lamang ng valid na two-sided quotes (bid_price > 0, ask_price > 0, ask_price > bid_price), kino-convert ang Decimal na presyo sa Float64 bago ang paghahati, at gumagamit ng deterministic median estimators (quantileDeterministic, na naka-key sa hash ng ticker at timestamp) upang ang muling pag-generate ay mag-produce ng parehong mga numero. Ang census sa ibaba ay binibilang ang bawat SPY-options record sa window at ipinapakita kung gaano kalaki sa raw feed ang kinakatawan ng mga valid na two-sided quotes na iyon.
Quote-quality census at buong metodolohiya
Ang eksaktong SQL sa likod ng bawat numero
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 optsMahigit 99.94% ng SPY option quote records sa session ay valid na two-sided quotes; ang one-sided records ay 0.06% ng feed, at ang locked o crossed records ay bale-wala. Bawat spread number sa itaas ay kinakalkula sa valid na two-sided subset, ang gastos na aktwal na makikita ng isang trader sa NBBO.
- Pinagmulan ng market data: consolidated OPRA-style options quote tape (
global_markets.cache_options_quotes), ang kaukulang stock quote tape, at ang consolidated options trade tape (global_markets.options_trades; ang trade-size panel ay sadyang sumasaklaw sa buong tape, hindi lang SPY). - Format ng OCC ticker:
O:+ root + anim-digit na expiry (YYMMDD) +C/P+ pitong-digit na strike ×1000. Ang 0DTE panel ay nag-parse ng expiry at strike mula sa ticker; ang spread calculations ay pinagsasama ang calls at puts. Ang filter ng bawat root ay sumasaklaw sa 2026-expiry range nito (O:SPY26..O:SPY27at mga katumbas), na nagpapanatili sa bawat scan na naka-prune sa (ticker, sip_timestamp) index. - Depinisyon ng spread:
(ask − bid) / midpoint × 10,000, sa basis points, sa valid na two-sided quotes lamang. - Medians at percentiles:
quantileDeterministicreservoir estimators na naka-key sacityHash64(ticker, sip_timestamp), bounded memory, at identical na output sa bawat muling pag-generate. - Pagsasara ng underlying: huling regular-hours minute bar mula sa
delayed_stocks_minute_aggs. - Session window: 13:30–20:00 UTC, na naka-check laban sa naobserbahang SPY minute bars sa halip na calendar arithmetic.
- Naka-pin na session: Hulyo 2, 2026, isang kumpletong full session na komportableng nasa likod ng ~1–2 araw na ingest lag ng warehouse sa oras ng pagsulat (Hulyo 9, 2026). Ang mga date literal ay fixed, kaya ang muling pag-generate ay nag-produce ng parehong mga numero.
Nagtataka kung magkano ang halaga ng isang partikular na kontrata? Bawat panel sa itaas ay isang stored query, patakbuhin ang mga ito, o ang sarili mong variation, sa Strasmore terminal. Para sa higit pa sa mekanika, tingnan ang gastos sa pag-trade ng stocks, ano ang bid-ask spread, 0DTE options, laki ng options quote feed, at options volume vs. open interest.