Strasmore Research
Resúmenes de mercado Matt ConnorPor Matt Connor · Actualizado 2026-08-02

Resumen de mercado del 27 de julio de 2026

Cifras de la sesión: marcador, amplitud, spread sectorial, flujo de opciones, cotizaciones, tasas y calendario, con datos respaldados por consultas almacenadas.

Este resumen de mercado del lunes 27 de julio de 2026 cubre toda la sesión a partir de consultas almacenadas: el cambio de SPY frente al cierre del viernes fue de 0.02%, la proporción de acciones al alza en el mercado líquido fue de 65.4% y el mercado de opciones registró 64.69 millones de contratos. Cada ventana que aparece a continuación está delimitada por fechas explícitas en ambos extremos, por lo que volver a ejecutar el SQL de cualquier panel devuelve estas mismas cifras.

El marcador

Cada cambio compara la última barra de un minuto de la sesión regular del 27 de julio con la del viernes 24 de julio, dos sesiones consecutivas separadas por un fin de semana. Las filas están en orden alfabético, por lo que cada ETF conserva una posición fija.

ConsultaSPY / QQQ / DIA / IWM: 27 de julio vs. cierre del 24 de julio, horario regular
El SQL exacto detrás de cada cifra
WITH prior AS (
    SELECT ticker, argMax(close, window_start) AS prior_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00'
    GROUP BY ticker
),
sess AS (
    SELECT ticker,
           argMin(open, window_start) AS day_open,
           argMax(close, window_start) AS day_close,
           max(high) AS day_high,
           min(low) AS day_low,
           round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
    GROUP BY ticker
)
SELECT
    s.ticker AS ticker,
    round(toFloat64(p.prior_close), 2) AS prior_close,
    round(toFloat64(s.day_open), 2) AS day_open,
    round(toFloat64(s.day_close), 2) AS day_close,
    round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
    round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
    round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
    round(toFloat64(s.day_high), 2) AS day_high,
    round(toFloat64(s.day_low), 2) AS day_low,
    s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY ticker
Run this yourself

DIA se movió 0.49%, IWM 0.59%, QQQ -0.32% y SPY 0.02%, hasta cerrar en $739.02. Cada fila divide el movimiento en sus dos tramos: SPY abrió 0.82% respecto al cierre del viernes, una brecha que incorpora todo el fin de semana, y se movió -0.79% desde la apertura hasta el cierre. El lunes, el tramo nocturno es en realidad un tramo de dos días. La división entre ese tramo y el tramo intradía es la primera señal de la sesión.

¿Fue inusual la jornada?

El dato de una sola sesión dice poco sin conocer su distribución. Por eso, la jornada se ubica dentro de su propio mes móvil con la misma lógica.

ConsultaMovimiento diario de SPY en contexto histórico reciente (apertura-cierre, del 26 de junio al 27 de julio)
El SQL exacto detrás de cada cifra
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-27')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-27'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-27'))) + 1 AS spy_abs_move_rank,
    count() AS spy_sessions_compared,
    toString(min(d)) AS first_session
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-26 13:30:00')
      AND window_start < toDateTime('2026-07-28 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

El movimiento de apertura a cierre de SPY, de -0.79%, ocupó el puesto 1 entre 21 sesiones móviles según su magnitud absoluta, en una ventana que se remonta hasta 2026-06-26. El puesto cuenta cuántas sesiones de la ventana registraron un movimiento mayor, más uno. Por lo tanto, el primer puesto correspondería al mayor movimiento del mes móvil.

Amplitud

El nivel de un índice es un solo número. La amplitud cuenta cuántas acciones se movieron en la misma dirección durante el gap del fin de semana.

ConsultaAmplitud del mercado líquido: cierre del 27 de julio vs. cierre del 24 de julio, filtro de $1M negociados
El SQL exacto detrás de cada cifra
SELECT
    countIf(c27 > c24 AND liquid) AS advancers,
    countIf(c27 < c24 AND liquid) AS decliners,
    countIf(c27 = c24 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c27 > c24 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c24, c27, dv27 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv27
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0
    )
)
Run this yourself

Entre 5935 acciones que superaron un umbral de un millón de dólares de volumen negociado en el horario regular, 3880 cerraron por encima del cierre del viernes y 1972 cerraron por debajo, lo que representa una proporción de acciones al alza de 65.4%. El filtro excluyó 5336 acciones con menor liquidez, que aquí se contabilizan en lugar de descartarse silenciosamente.

La canasta de mega caps

Los mismos ocho nombres de mega capitalización aparecen en cada sesión, ordenados alfabéticamente para que cada uno conserve su fila. La canasta fija es el objetivo: el lector aprende las filas y ningún editor selecciona ganadores después de los hechos.

ConsultaOcho mega caps: cambio vs. 24 de julio y dólares negociados en horario regular, 27 de julio
El SQL exacto detrás de cada cifra
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-27 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-27 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
        OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker
Run this yourself

AAPL se movió 1.16%, META -0.21%, MSFT 1.94% y NVDA -5.04%, con 25.42 mil millones de dólares de negociación en horario regular; TSLA registró -1.2%. La columna en dólares muestra cuánto del flujo de operaciones concentran por sí solos estos ocho nombres; el panel de amplitud de mercado de arriba sirve para comprobar hasta dónde los acompañó el resto del mercado.

Los movimientos del día

Ambos tableros exigen una rotación de cinco millones de dólares durante el horario regular. Excluyen cualquier nombre cuyo split se haya ejecutado entre los dos cierres que miden. También excluyen un ticker reutilizado conforme al control de ambigüedad interno descrito en las notas.

ConsultaMayores alzas y bajas: cierre del 27 de julio vs. cierre del 24 de julio, $5M+ negociados, splits excluidos
El SQL exacto detrás de cada cifra
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c27 / c24 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c27 / c24 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

El mayor avance del tablero, DFNS, subió 214.9% con un volumen negociado de 486.4 millones de dólares. La mayor caída, MPLT, registró -72.9% con 83.3 millones de dólares negociados. Esta página registra las magnitudes y los comprobantes. No les atribuye ninguna explicación.

Dispersión sectorial

Los once fondos SPDR de sectores selectos, con el cierre del 27 de julio frente al del 24 de julio, ordenados de mejor a peor. La canasta está definida y es fija; no corresponde a una clasificación de un proveedor.

ConsultaETFs sectoriales, cierre del 27 de julio vs. cierre del 24 de julio, ordenados
El SQL exacto detrás de cada cifra
SELECT sector, day_pct, round(max(day_pct) OVER () - day_pct, 2) AS points_behind_best
FROM (
    SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
                   ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
                   ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
                   ticker = 'XLV', 'Health Care', 'Consumer Discretionary') AS sector,
           round((c27 / c24 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-27 00:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 00:00:00') AS c27
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
          AND ((window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
            OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'))
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Staples encabezó la lista con 1.5%, mientras que Energy quedó al final con -2.06%, 3.56 puntos porcentuales por detrás. Ese spread representa la dispersión sectorial del día: una sesión en la que los once terminan dentro de un punto porcentual se lee de forma muy distinta de otra en la que la diferencia se extiende a varios puntos.

Dónde se negociaron los dólares

ConsultaTop 6 por dólares negociados, top 4 por acciones negociadas: horario regular del 27 de julio
El SQL exacto detrás de cada cifra
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price
FROM (
    SELECT
        'by dollars traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY dollar_volume_bn DESC
    LIMIT 6
    UNION ALL
    SELECT
        'by shares traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESC
Run this yourself

MU lideró el tablero en dólares con una rotación de 35.71 mil millones durante el horario regular, seguido por SPY con 27.03 mil millones. El tablero por número de acciones responde a otra pregunta: KIDZ lo encabezó con 198.3 millones de acciones y un precio promedio implícito de $0.66. El volumen en dólares identifica dónde está la atención del mercado; el volumen de acciones muestra su rotación; y la versión por activo de esta medida es el volumen relativo.

El flujo de opciones

ConsultaFlujo de opciones: contratos, participación de calls, participación del mismo día vs. viernes, contrato más activo de SPY
El SQL exacto detrás de cada cifra
WITH
    (
        SELECT (strike, typ, vol_m, is_0dte)
        FROM (
            SELECT toFloat64(any(strike_price)) AS strike, any(option_type) AS typ,
                   round(toFloat64(sum(size)) / 1e6, 2) AS vol_m,
                   if(substring(ticker, length(ticker) - 14, 6) = '260727', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
              AND underlying_symbol = 'SPY'
            GROUP BY ticker
            ORDER BY vol_m DESC, strike ASC
            LIMIT 1
        )
    ) AS top_spy,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260724') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul24_contracts_m,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1) AS pct_0dte,
    jul24_pct_0dte,
    spy_regular_close,
    top_spy.1 AS top_spy_strike,
    top_spy.2 AS top_spy_type,
    top_spy.3 AS top_spy_contracts_m,
    top_spy.4 AS top_spy_is_0dte,
    round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

El flujo de opciones registró 11.07 millones de operaciones por 64.69 millones de contratos, frente a los 71.14 millones del viernes. Las calls representaron 55.1% del volumen de contratos. Los contratos que vencían en la misma sesión, el grupo de cero días hasta el vencimiento, representaron 39.3%, frente a 49% el viernes, un ritmo determinado por el calendario de vencimientos. El contrato más activo de SPY fue el 740 C, con 0.59 millones de contratos. Su strike se ubicó a 0.98 dólares del cierre regular de SPY en $739.02, calculado como strike menos cierre.

La cinta de cotizaciones

Los datos de cotizaciones son el conjunto de datos más escaso de esta mesa, y se miden en cada sesión. Los días ordinarios también quedan registrados.

ConsultaNúmero de actualizaciones NBBO de acciones: 27 de julio vs. 24 de julio, con actualizaciones de tickers identificados (millones)
El SQL exacto detrás de cada cifra
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-24')) / 1e6, 2) AS jul24_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / countIf(toDate(sip_timestamp) = toDate('2026-07-24')) - 1) * 100, 1) AS session_over_session_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'SPY') / 1e6, 2) AS jul27_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'QQQ') / 1e6, 2) AS jul27_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'NVDA') / 1e6, 2) AS jul27_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

La cinta de cotizaciones accionarias registró 553.53 millones de actualizaciones de NBBO, frente a 500.88 millones el viernes, un cambio entre sesiones de 10.5%. SPY registró 4.84 millones de actualizaciones, QQQ 6.78 millones y NVDA 2.93 millones.

ConsultaSiete nombres: spread mediano cotizado en RTH en puntos base, con conteos de calidad de cotización, 27 de julio
El SQL exacto detrás de cada cifra
SELECT ticker,
       round(quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(bid_price <= 0 OR ask_price <= 0) AS one_sided_quote_count,
       countIf(bid_price > ask_price AND bid_price > 0 AND ask_price > 0) AS crossed_quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'DIA', 'IWM', 'NVDA', 'QQQ', 'SPY', 'TSLA')
  AND sip_timestamp >= '2026-07-27 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY ticker
Run this yourself

El spread mediano de cotización de SPY en el horario regular midió 0.27 puntos base del punto medio; el de QQQ, 0.59, y el de NVDA, 1.02. Las dos últimas columnas muestran la divulgación: las cotizaciones unilaterales y cruzadas se contabilizan por nombre y se separan de la mediana, en lugar de descartarse silenciosamente. Una cotización cruzada, con la oferta por encima de la demanda, es un resultado habitual de una fuente consolidada integrada a partir de muchos centros de negociación con resolución de nanosegundos.

ConsultaSpread mediano de SPY comparado con cada sesión de julio hasta el 27, del más estrecho al más amplio
El SQL exacto detrás de cada cifra
SELECT round(anyIf(spread_bps, d = toDate('2026-07-27')), 2) AS jul27_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-27')), groupArrayIf(spread_bps, d != toDate('2026-07-27'))) + 1 AS rank_tightest,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(sip_timestamp) AS d,
           quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
    HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)
Run this yourself

Al compararla con todas las sesiones de julio bajo una lógica idéntica, la mediana del spread de SPY de 0.27 puntos base del día se ubicó en 18 de 18, contando desde el spread más estrecho, dentro de una ventana que comenzó en 2026-07-01. En una cinta tranquila, esa oración expresa el objetivo del panel: un día ordinario para la liquidez es un hallazgo, publicado y delimitado.

ConsultaCinta NBBO de opciones: actualizaciones totales vs. la cinta de acciones, más el segmento del root de SPY, 27 de julio
El SQL exacto detrás de cada cifra
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00') AS jul27_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00') AS jul27_stock_quote_rows
SELECT
    round(jul27_options_rows / 1e9, 2) AS jul27_options_bn,
    round(jul27_options_rows / jul27_stock_quote_rows, 1) AS options_to_stock_ratio,
    round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-27 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00') / 1e6, 0) AS jul27_spy_options_m
Run this yourself

La cinta de NBBO de opciones registró 10.38 mil millones de actualizaciones, 18.8 veces el volumen de la cinta de cotizaciones accionarias, y solo la raíz de SPY alcanzó 440 millones de actualizaciones en el horario regular.

Tasas

ConsultaRegistros de la curva del Tesoro, del 22 al 27 de julio
El SQL exacto detrás de cada cifra
SELECT toString(date) AS date,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct,
       round(toFloat64(yield_10_year), 2) AS yield_10y_pct,
       round(toFloat64(yield_30_year), 2) AS yield_30y_pct,
       round((toFloat64(yield_10_year) - toFloat64(yield_2_year)) * 100) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-22' AND date <= '2026-07-27'
ORDER BY date
Run this yourself

El archivo del Tesoro tiene un retraso aproximado de una sesión respecto del mercado. Por eso, este panel muestra las operaciones ejecutadas que contiene: 4 filas con fecha dentro del periodo del 22 al 27 de julio. La más reciente, con fecha 2026-07-27, ubicó el rendimiento del bono a dos años en 4.31%, el del bono a diez años en 4.65% y el del bono a treinta años en 5.12%. El spread entre los bonos a dos y diez años fue de 34 puntos base.

El calendario detrás de la jornada

ConsultaEx-dividendos, splits, listados, noticias y composición de filings ante la SEC del 27 de julio
El SQL exacto detrás de cada cifra
WITH
    (
        SELECT (argMax(t, (n, t)), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-07-27'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-27') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-27') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00') AS news_publishers,
    top_news.1 AS top_news_ticker,
    top_news.2 AS top_news_n,
    fil.1 AS fil_total,
    fil.2 AS fil_filers,
    fil.3 AS fil_form4,
    fil.4 AS fil_8k,
    fil.5 AS fil_424b2,
    fil.6 AS fil_10q
Run this yourself

91 registros de dividendos pasaron a ex-dividendo el 27 de julio; se ejecutaron 7 splits inversos y 1 splits directos, y 0 nuevas cotizaciones llegaron al mercado. El feed de noticias incluyó 166 artículos de 2 publishers. MSFT fue el ticker con mayor cobertura en el periodo de este feed, con 12 artículos. El índice diario de EDGAR contiene 3997 presentaciones correspondientes a esa fecha, de 2163 emisores distintos: 587 reportes de insiders mediante Form 4, 226 reportes corrientes 8-K, 555 suplementos de precios 424B2 y 23 reportes trimestrales 10-Q. Este índice se publica según su propio calendario. Este panel informa lo que contiene al momento de generarse.

En agenda

El resto de la semana, del martes 28 de julio al viernes 31 de julio, se puede analizar con las mismas tablas y mirando deliberadamente más allá del periodo.

ConsultaDel 28 al 31 de julio en el calendario: cierres, ex-dividendos, splits, vencimiento del viernes y rezago del short interest
El SQL exacto detrás de cada cifra
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-28' AND date <= '2026-07-31' AND status != 'open') AS closures_rest_of_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-28' AND ex_dividend_date <= '2026-07-31') AS exdiv_records_rest_of_week,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-28' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-28' AND execution_date <= '2026-07-31') AS splits_rest_of_week,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_mon_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-27') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

La tabla de feriados muestra 0 cierres en las cuatro sesiones restantes de la semana. 843 registros de dividendos pasan a ex-dividendo durante esas sesiones; 0 corresponden a diez empresas conocidas revisadas, y está previsto ejecutar 18 splits. Del volumen de opciones del lunes, 17.1% ya correspondía a contratos con vencimiento el viernes 31 de julio. El dato más reciente de interés en corto disponible corresponde a 2026-07-15, un archivo que se publica con un retraso suficiente para tener su propia explicación.

La sesión, verificada

ConsultaVerificación de la sesión: primera/última barra de SPY en ET, número de barras regulares, registros de feriados, próximo cierre
El SQL exacto detrás de cada cifra
SELECT
    formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
    formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
    countIf(window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-27') AS jul27_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-27' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-27' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-27 00:00:00' AND window_start < '2026-07-28 00:00:00'
Run this yourself

Una sesión regular completa: primera barra de SPY a las 04:00 ET, última a las 19:59 ET, 390 barras de horario regular, 1 sesión en la ventana y 0 filas de feriados para la fecha. El próximo cierre programado es Labor Day el 2026-09-07.

Preguntas frecuentes

¿Cómo se comportó el mercado accionario el lunes 27 de julio de 2026?

SPY cambió 0.02% frente al cierre del viernes, a $739.02, mientras que QQQ se ubicó en -0.32%, DIA en 0.49% e IWM en 0.59%. Entre las acciones líquidas, 3880 subió y 1972 cayó.

¿Qué sector encabezó el mercado el 27 de julio de 2026?

Staples, en 1.5%, medido entre los once fondos SPDR de sectores selectos. El más débil de los once, Energy, registró -2.06%.

¿Qué tan activo estuvo el mercado de opciones el 27 de julio de 2026?

Se negociaron 64.69 millones de contratos, frente a 71.14 millones en la sesión anterior. Los contratos con vencimiento el mismo día representaron 39.3% del volumen y los calls representaron 55.1%.

¿Qué acción registró el mayor volumen en dólares el 27 de julio de 2026?

MU, con 35.71 mil millones en volumen en dólares durante el horario regular, por delante de SPY, con 27.03 mil millones.

Notas sobre los datos

Esta edición completa una sesión del lunes en la serie diaria reanudada y se publicó el 1 de agosto. La sesión diaria anterior por fecha de sesión es 10 de julio de 2026, la edición del 29 de julio cubre el miércoles de esta misma semana, y el resumen semanal corresponde a la semana que terminó el viernes 24 de julio, la sesión en la que se basa cada comparación de esta página. Los paneles identificados por ticker están ordenados alfabéticamente para que las referencias del texto apunten a filas fijas. Las tablas de posiciones y de movimientos están ordenadas por valor, y cada afirmación posicional que contienen está codificada como un límite de control. La canasta de mega caps y la canasta sectorial de once fondos son conjuntos definidos y fijos, no clasificaciones de proveedores. Las tablas de movimientos aplican un umbral de volumen negociado de cinco millones de dólares durante el horario regular, excluyen cualquier nombre cuyo split se haya ejecutado entre los dos cierres que miden y excluyen un símbolo reutilizado conforme al control interno de ambigüedad. Por eso, cada referencia siempre corresponde a un nombre verificable. Todas las cifras de cierre contra cierre abarcan el fin de semana, del viernes 24 de julio al lunes 27 de julio, y la columna de gap del tablero cubre todo ese periodo. Los paneles de cotizaciones contabilizan las cotizaciones de un solo lado y las cotizaciones cruzadas por nombre, en lugar de eliminarlas silenciosamente. El archivo del Tesoro y el índice diario de EDGAR se publican según sus propios calendarios. Por eso, esos paneles reportan los datos disponibles en cada fuente, sin asumir que ya fueron recibidos. Aquí no aparece ningún índice de volatilidad implícita. Esas series no están licenciadas para este almacén de datos. Por eso, la volatilidad se analiza directamente en el tape mediante rangos, la participación de las opciones del mismo día y el comportamiento de las cotizaciones.

Metodología

  • Fuente de datos de mercado: cinta consolidada. delayed_stocks_minute_aggs para precios y volúmenes, options_trades para la cinta de opciones, y cache_stocks_quotes y cache_options_quotes para los paneles NBBO.
  • Cierre: la última barra de un minuto de la sesión regular. Nunca se usa una operación supuesta a las 16:00 ni una operación de horario extendido.
  • Gestión de zonas horarias: todas las marcas de tiempo almacenadas están en UTC. Las cláusulas WHERE usan literales UTC sin modificar, y toTimeZone aparece únicamente en las listas SELECT para las etiquetas ET.
  • Verificación de la sesión: se realiza a partir de la tabla de feriados y las barras observadas. Nunca se supone a partir del calendario.
  • Comparaciones con la sesión previa: se calculan dentro de la consulta a partir del viernes 24 de julio, la sesión de trading previa al fin de semana. Nunca se arrastran desde una publicación anterior.
  • Decimales: las columnas de precio, tamaño y volumen se convierten a Float64 antes de cualquier división o producto.
  • Agregados deterministas: se usan cuantiles exactos y desempates basados en claves de tupla en todo el análisis. Cada afirmación de orden o signo en el texto está codificada como un límite de validación.
  • Fecha de corte del warehouse: 1 de agosto de 2026, cinco días después de la sesión y una vez superado el retraso habitual de ingestión de la cinta, de uno a dos días. Los comprobantes acotados anteriores mantienen la publicación si falta algún dataset al momento de generarla.

Enlaces relacionados: el resumen diario anterior, la edición del 29 de julio, el resumen semanal, cuándo vencen las opciones, qué es un bid-ask spread, y el spread de dos a diez años.

Cada consulta anterior se ejecuta sin cambios en la terminal Strasmore si quieres volver a definir una ventana para otra sesión.