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.
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 tickerDIA 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.
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
)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.
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
)
)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.
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 tickerAAPL 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.
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) DESCEl 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.
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 DESCStaples 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
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) DESCMU 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
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'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.
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'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.
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 tickerEl 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.
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
)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.
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_mLa 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
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 dateEl 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
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_10q91 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.
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'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
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'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_aggspara precios y volúmenes,options_tradespara la cinta de opciones, ycache_stocks_quotesycache_options_quotespara 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
toTimeZoneaparece ú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.