Strasmore Research
Educación Matt ConnorPor Matt Connor · Actualizado 2026-07-23

Costo de operar opciones y el bid-ask spread

Las comisiones pueden ser cero, pero el bid-ask spread afecta el costo real. Analizamos el spread mediano para operar SPY, QQQ, IWM, GLD y TSLA en 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.

Por qué los spreads de opciones se ven distintos a los spreads de acciones

Considere una acción cotizada a $745.00 bid / $745.02 ask. El spread de dos centavos representa aproximadamente 0.27 bps del precio de la acción. Una call at-the-money de la misma acción podría cotizarse a $7.20 bid / $7.30 ask —un spread de diez centavos, lo que equivale a cerca de 138 bps del midpoint de $7.25. La opción tiene un spread mayor en centavos y es cientos de veces más amplia en términos del porcentaje del precio pagado. El bajo precio en dólares de la opción es la causa mecánica: diez centavos es una cantidad pequeña en términos absolutos, pero un porcentaje grande de un contrato de $7.25.

La unidad profesional para comparar costos entre distintos instrumentos es el basis point (bp) —una centésima de un por ciento. Un contrato de opción estándar cubre 100 acciones del subyacente, por lo que la consecuencia en dólares de una operación escala con el subyacente, pero el spread se mide respecto al precio cotizado de la propia opción. Esa es la unidad utilizada en toda esta página.

Opciones de SPY vs. acciones de SPY: un análisis comparativo

SPY es el producto de opciones más líquido en los EE. UU., e incluso allí la brecha de costos es drástica. El siguiente panel compara las opciones de SPY y las acciones de SPY en una misma sesión: tráfico de cotizaciones, operaciones ejecutadas y el spread mediano cotizado de cada una.

ConsultaOpciones de SPY vs. acciones de SPY en una sesión: conteo de cotizaciones, conteo de trades y spread mediano
El SQL exacto detrás de cada cifra
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_close

El spread mediano de las opciones de SPY de 80.97 bps significa que una orden de mercado de ida y vuelta —comprar al ask y vender después al bid— implica una pérdida de aproximadamente el spread cotizado completo respecto al punto medio, cerca de la mitad en cada lado de la operación. La misma operación de ida y vuelta en las acciones de SPY implica una pérdida de aproximadamente 0.27 bps. El tráfico de cotizaciones muestra la misma historia de liquidez desde otro ángulo: los market makers emitieron 256.5 actualizaciones de cotización de opciones de SPY por cada operación de opciones de SPY ejecutada, reajustando miles de combinaciones de strike y vencimiento tick por tick.

La distribución del spread de opciones de SPY: no es un número único

La mediana es útil, pero el spread que paga un trader individual depende del contrato. Las opciones de SPY cerca del dinero y cerca del vencimiento suelen cotizar con el spread más ajustado; los contratos muy fuera del dinero y con vencimientos lejanos pueden tener un spread mucho más amplio. El panel a continuación muestra la distribución completa de las cotizaciones de opciones de SPY con dos lados válidos durante la sesión.

ConsultaDistribución del spread cotizado en opciones de SPY: percentiles en basis points
El SQL exacto detrás de cada cifra
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 opts

La mitad central de las cotizaciones de opciones de SPY se situó entre 49.65 bps y 147.12 bps. Una de cada diez cotizaciones fue más ajustada que 35.51 bps, y una de cada diez fue más amplia que 316.51 bps. La cola ancha refleja strikes ilíquidos y vencimientos lejanos, precisamente los contratos con los que un comprador ocasional tiene más probabilidades de encontrarse.

Cómo varía el costo entre los productos más populares

SPY es el benchmark, pero no todos los productos de opciones cotizan con spreads tan estrechos. El siguiente panel mide la mediana del spread cotizado durante el horario regular, en puntos base, a través de cinco activos de opciones ampliamente negociados: tres ETFs de índices (SPY, QQQ, IWM), un ETF de oro (GLD) y una acción individual con alta liquidez de opciones (TSLA). Cada activo se filtra por su rango de ticker con vencimiento en 2026 para que la consulta depure el índice (ticker, sip_timestamp), y las filas se listan alfabéticamente para que cada producto mantenga una posición fija.

ConsultaSpreads bid-ask de opciones por producto: mediana en basis points, 2 de julio de 2026 horario regular
El SQL exacto detrás de cada cifra
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 ASC

Los ETFs de índices dominan el extremo de costos bajos: SPY cotizó un spread mediano de 80.97 bps, QQQ 123.71 bps e IWM 130.72 bps. En el extremo de costos altos, las opciones de TSLA cotizaron 309.93 bps y las opciones de GLD 786.75 bps, lo que representa un régimen de costos totalmente distinto. La columna de actualizaciones de cotizaciones (en millones) complementa la información: los productos con mayor volumen de cotizaciones se encuentran en el extremo de costos bajos.

El efecto 0DTE y semanal: vida más corta, spread más amplio

Los contratos con menos tiempo de vencimiento tienden a negociarse a precios de dólar más bajos. Esto aumenta mecánicamente el spread en puntos base, incluso si la diferencia en centavos se mantiene pequeña. El siguiente panel agrupa cotizaciones de opciones SPY near-the-money (strikes 730–760) por fecha de vencimiento; cada vencimiento de 2026 que registró al menos un millón de actualizaciones de cotización en la sesión, en orden cronológico.

ConsultaSpread mediano de opciones de SPY por fecha de vencimiento, solo strikes near-the-money
El SQL exacto detrás de cada cifra
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 ASC

El contrato del mismo día —código de vencimiento 260702, el 0DTE— mostró un spread mediano de 113.64 bps con un ancho mediano de solo 2 centavos. El vencimiento más largo del gráfico, 261231, cotizó con un spread más amplio en centavos (11) pero materialmente más ajustado en puntos base, con 37.16 bps. Esa es la lección fundamental de los costos de negociación de opciones: un spread de uno o dos centavos no es automáticamente barato cuando la opción se negocia por unos pocos dólares. Qué son las opciones 0DTE explica la mecánica de los contratos del mismo día.

Lo que los datos de tamaño de operación indican sobre quién asume estos costos

El comercio de opciones se realiza en contratos, y un contrato estándar cubre 100 acciones. La mediana de las operaciones de opciones ejecutadas en 2026-07-02 fue de apenas 1 contrato; incluso el percentil 90 fue de solo 10 contratos. La mayoría de las operaciones de opciones son pequeñas, y el operador de tamaño minorista es el más expuesto al spread cotizado; una orden institucional grande a menudo puede negociar una mejora de precio o dividirse en el tiempo.

ConsultaDistribución del tamaño de trades de opciones al 2 de julio de 2026 (contratos de whole-tape por print)
El SQL exacto detrás de cada cifra
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 trades

Preguntas frecuentes

¿Es más caro operar con opciones que con acciones?

Generalmente sí, si se mide como una proporción del precio negociado. Un ETF con alta liquidez como SPY tiene un spread cotizado muy inferior a un punto básico sobre la acción misma; las opciones del mismo subyacente suelen tener decenas de puntos básicos. El monto en dólares depende del precio de la opción y del número de contratos, pero el spread como porcentaje del valor de la opción es casi siempre mayor que el de la acción.

¿Por qué los spreads de las opciones 0DTE son tan amplios en puntos básicos?

Las opciones de vencimiento intradía y semanales suelen negociarse a precios bajos en dólares —a veces por debajo de $1.00— cerca del final de su vigencia. Un spread de uno o dos centavos en una opción de $0.50 representa entre el 2% y el 4% del precio, o 200 a 400 bps. Los centavos parecen poco; el costo porcentual no lo es. Por eso los traders comparan los spreads en puntos básicos, no en centavos.

¿Importan más las comisiones que el spread?

Para una operación minorista de un solo lote, el spread suele ser el factor dominante. Una cotización de $1.00 / $1.05 cuesta $5.00 por contrato en un ciclo completo de compra y venta (100 acciones por contrato) antes de cualquier comisión. En productos de bajo precio o con spreads amplios, el spread por sí solo puede exceder cualquier comisión plausible.

¿Puedo evitar el spread usando órdenes limitadas?

Una orden limitada dentro del spread puede ejecutarse por un valor menor al spread total, pero no se garantiza su ejecución. Una orden a mercado paga el spread por definición. El spread es el precio de la inmediatez, no una comisión que cobra su broker.

¿Qué productos de opciones tienen los spreads más ajustados?

Según las mediciones de esta página, los grandes ETFs de índices —SPY, QQQ, IWM— presentan las medianas más ajustadas y también concentran el mayor volumen de cotizaciones. Los ETF de materias primas (GLD) y las opciones de acciones individuales pueden tener spreads mucho más amplios. El spread varía según el contrato —mismo subyacente, diferente strike y vencimiento— por lo que una sola mediana oculta mucha variación.

Notas de datos

Todas las marcas de tiempo se almacenan en UTC; las horas regulares del 2 de julio de 2026 se filtran como sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00' (9:30 am–4:00 pm ET). Las estadísticas del spread utilizan únicamente cotizaciones bidireccionales válidas (bid_price > 0, ask_price > 0, ask_price > bid_price), convierten los precios Decimal a Float64 antes de la división, y utilizan estimadores de mediana deterministas (quantileDeterministic, indexados por un hash del ticker y la marca de tiempo) para que la regeneración reproduzca cifras idénticas. El censo a continuación contabiliza cada registro de opciones de SPY en el intervalo y muestra qué porcentaje de la transmisión de datos brutos representan esas cotizaciones bidireccionales válidas.

Censo de calidad de cotización y metodología completa
ConsultaCalidad de cotizaciones de opciones de SPY: registros válidos, one-sided y locked/crossed
El SQL exacto detrás de cada cifra
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 opts

Más del 99.94% de los registros de cotización de opciones de SPY en la sesión fueron cotizaciones bidireccionales válidas; los registros unidireccionales representaron el 0.06% de la transmisión, y los registros bloqueados o cruzados fueron insignificantes. Cada cifra de spread anterior se calcula sobre el subconjunto válido de cotizaciones bidireccionales: el costo que un trader podría observar realmente en el NBBO.

  • Fuente de datos de mercado: cinta de cotización de opciones consolidada estilo OPRA (global_markets.cache_options_quotes), la cinta de cotización de acciones correspondiente y la cinta de transacciones de opciones consolidada (global_markets.options_trades; el panel de tamaño de transacción cubre deliberadamente toda la cinta, no solo SPY).
  • Formato de ticker de OCC: O: + raíz + vencimiento de seis dígitos (YYMMDD) + C/P + strike de siete dígitos ×1000. El panel 0DTE analiza el vencimiento y el strike desde el ticker; los cálculos del spread agregan calls y puts. El filtro de cada raíz cubre su rango de vencimiento de 2026 (O:SPY26..O:SPY27 y equivalentes), lo que mantiene cada escaneo depurado en el índice (ticker, sip_timestamp).
  • Definición de spread: (ask − bid) / midpoint × 10,000, en puntos básicos, únicamente en cotizaciones bidireccionales válidas.
  • Medianas y percentiles: estimadores de reservorio quantileDeterministic indexados por cityHash64(ticker, sip_timestamp) — memoria limitada y salida idéntica en cada regeneración.
  • Cierre del subyacente: última barra de un minuto de horas regulares desde delayed_stocks_minute_aggs.
  • Ventana de la sesión: 13:30–20:00 UTC, verificada contra las barras de un minuto observadas de SPY en lugar de aritmética de calendario.
  • Sesión fijada: 2 de julio de 2026 — una sesión completa finalizada con margen respecto al retraso de ingesta de ~1–2 días del almacén al momento de la autoría (9 de julio de 2026). Las fechas literales son fijas, por lo que la regeneración reproduce las mismas cifras.

¿Desea saber el costo de un contrato específico? Cada panel anterior es una consulta almacenada; ejecútelas, o su propia variación, en la terminal Strasmore. Para más información sobre la mecánica, consulte el costo de operar acciones, qué es un spread bid-ask, opciones 0DTE y el tamaño de la transmisión de cotizaciones de opciones, y volumen de opciones vs. open interest.