Strasmore Research
Resúmenes de mercado Matt ConnorPor Matt Connor · Actualizado 2026-07-23

Resumen de mercado 1 de julio de 2026

La segunda mitad inició con índices tranquilos pero alta volatilidad interna. El sector de memoria cayó y META subió mientras la mayoría del S&P cerró en verde.

Miércoles, 1 de julio de 2026 — la primera sesión de la segunda mitad — uno de los días más tranquilos para los índices del mes coincidió con una de las jornadas de mayor volatilidad. SPY cerró -0.08% y QQQ -1.44%, mientras que el complejo de memoria que impulsó el segundo trimestre perdió una décima parte de su valor, META subió 8.88%, y el 7 de los fondos sectoriales del S&P de 11 cerró aún en terreno positivo. Sesión anterior: 30 de junio.

El marcador

Los cambios comparan la última barra de la sesión regular del 1 de julio con la del martes 30 de junio.

ConsultaSPY / QQQ / DIA / IWM — 1 de julio vs cierre del 30 de junio, 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-06-30 13:30:00' AND window_start < '2026-06-30 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-01 13:30:00' AND window_start < '2026-07-01 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_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 AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.ticker

El factor determinante fue el split: DIA en 0.02% y SPY en -0.08% se mantuvieron estables frente al -1.44% de QQQ y el -0.37% de IWM; una liquidación de activos de crecimiento que el mercado amplio apenas registró.

Uno de los días de índices más tranquilos del último mes

ConsultaRango del movimiento de apertura a cierre de SPY frente al mes anterior (rango 1 = mayor movimiento absoluto)
El SQL exacto detrás de cada cifra
SELECT round(anyIf(oc_pct, d = toDate('2026-07-01')), 2) AS day_move_pct,
       arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-01'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-01'))) + 1 AS abs_move_rank,
       count() AS 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-01 00:00:00')
      AND window_start < toDateTime('2026-07-02 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)

El movimiento de apertura a cierre dentro de la sesión —una perspectiva distinta al marcador de cierre sobre cierre— del SPY fue de 0.09%: ocupando el puesto 20 de 22 sesiones consecutivas por tamaño absoluto, con solo dos movimientos menores. El complejo de volatilidad coincidió. Este almacén no contiene el índice VIX al contado, por lo que la verificación se realiza con fondos de futuros del VIX listados, que representan la lectura negociable más cercana al precio de la protección:

ConsultaComplejo de volatilidad al 1 de julio: ETFs de VIX-futures vs cierre del martes, con SPY como referencia
El SQL exacto detrás de cada cifra
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'SVXY', 'UVXY', 'VIXY', 'VXX')
      AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
        OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
    round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY ticker

VXX, el fondo de futuros del VIX de vencimiento más próximo más grande, subió 0.72%; VIXY 0.8%; el apalancado UVXY 1.13% en un rango de 3.68%; el inverso SVXY -0.42%. Sin contar los errores de redondeo frente al desempeño de las acciones individuales.

Amplitud: más caídas que alzas — y más máximos que mínimos

ConsultaAvances, caídas y nuevos máximos/mínimos trimestrales entre tickers con al menos $1M negociados el 1 de julio
El SQL exacto detrás de cada cifra
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start < '2026-07-01 00:00:00') AS quarter_high,
        minIf(toFloat64(low), window_start < '2026-07-01 00:00:00') AS quarter_low,
        maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') AS day_dollar_volume,
        countIf(window_start < '2026-07-01 00:00:00') AS quarter_bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((window_start >= '2026-04-01 13:30:00' AND window_start < '2026-06-30 20:00:00')
        OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker
)
SELECT
    countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
    countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
    countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
    round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
        / countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
    countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high) AS new_quarter_highs,
    countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low) AS new_quarter_lows,
    round(countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high)
        / countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low), 1) AS highs_per_low,
    countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000) AS names_with_a_full_quarter,
    countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
    count() AS tickers_traded_both_sessions,
    count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
    countIf(day_dollar_volume >= 1000000 AND quarter_bars < 1000) AS dropped_short_quarter_history
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0

2928 ganadores, 3465 perdedores, 82 sin cambios — 45.2% de la cinta líquida subió. Sin embargo, la amplitud no refleja la severidad: frente al rango de horario regular del segundo trimestre, el 836 de los 6217 nombres con un trimestre completo de negociación alcanzó un nuevo máximo trimestral en este día rojo, frente al 246 que registró un nuevo mínimo — 3.4 nuevos máximos por cada nuevo mínimo. La mayoría cayó; pocos rompieron su rango. Caídas: 5435 de 11910 tickers de doble sesión bajo el filtro de un millón de dólares, 258 nombres líquidos sin un trimestre completo de barras.

El tablero sectorial: el daño afectó a un solo sector

Los once fondos sectoriales de SPDR son la sección transversal más económica de todo el mercado; la misma cesta en cada sesión.

ConsultaLos once ETFs de sectores del S&P al 1 de julio, de mejor a peor vs cierre del martes
El SQL exacto detrás de cada cifra
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
    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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
        OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
    round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector,
    sum(if(day_close > prior_close, 1, 0)) OVER (ORDER BY (day_close / prior_close) DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS green_so_far,
    day_dollar_bn
FROM per_name
ORDER BY pct_chg DESC

Servicios de comunicación (XLC) —el fondo sectorial que contiene a META— lideró con un 2.41%, seguido por el sector financiero (XLF) con un 2.2%. Tecnología (XLK) se quedó al final, -2.56% y 4.97 puntos porcentuales por debajo del líder. En total, el 7 de los 11 fondos cerró en verde —consumo discrecional 0.68%, salud 0.57%— frente a las empresas de servicios públicos (-1.28%), industriales (-0.98%) y energía (-0.6%) en rojo. Esto significa que "el índice apenas se movió" desde la base.

El hito del día: la memoria se desplomó, META se movió en sentido contrario

Ocho nombres marcaron la dispersión: las cuatro acciones de memoria y almacenamiento que lideraron el segundo trimestre, y cuatro nombres de chips y plataformas a su alrededor. Se reportan la co-movilidad, la magnitud y el momento; los datos no explican la causa.

ConsultaEl complejo de memoria y las megacaps: cambio vs cierre del martes, timing de rango y volumen en dólares
El SQL exacto detrás de cada cifra
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
        argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS low_bar,
        argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'META', 'MRVL', 'MU', 'NVDA', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
        OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York')) AS low_minute_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    day_dollar_bn
FROM per_name
ORDER BY ticker

SanDisk (-10.45%) y Micron (-10.23%) perdieron más de una décima parte de su valor; Marvell -8.68%, AMD -6.87%, Western Digital -6.3% y Seagate -5.11%. MU registró una rotación de $42.94 mil millones, más de lo que operó SPY durante todo el día; además, MU, AMD y Marvell alcanzaron sus mínimos de sesión en los minutos finales del cierre (15:59, 15:57, 15:58 ET) — vendidas durante la subasta de cierre, no por un vacío de liquidez matutino que se recuperara (el análisis profundo de MU ya dejó atrás el trimestre).

META es la imagen especular: 8.88% sobre $22.72 mil millones negociados, con su mínimo en 09:30 ET —la barra de apertura— que nunca volvió a tocarse. NVDA no tuvo movimiento en -1.09% (el junio de NVDA).

Lo que se dijo

Esta página nunca asigna causas. Pero nuestro feed de noticias con licencia es una tabla como cualquier otra: lo que contenía ese día:

ConsultaLos últimos doce artículos de noticias del día con MU, SNDK, STX, WDC o META (un feed con licencia)
El SQL exacto detrás de cada cifra
SELECT published_et, publisher, names_tagged, headline
FROM (
    SELECT
        published_utc,
        formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%H:%i') AS published_et,
        JSONExtractString(publisher, 'name') AS publisher,
        arrayStringConcat(arrayFilter(x -> x IN ('MU', 'SNDK', 'STX', 'WDC', 'META'), tickers), ' ') AS names_tagged,
        substring(title, 1, 72) AS headline
    FROM global_markets.stocks_news
    WHERE published_utc >= '2026-07-01 04:00:00' AND published_utc < '2026-07-02 04:00:00'
      AND hasAny(tickers, ['MU', 'SNDK', 'STX', 'WDC', 'META'])
      AND NOT has(tickers, 'SPCX')
      AND position(title, 'SPCX') = 0
    ORDER BY published_utc DESC
    LIMIT 12
)
ORDER BY published_utc ASC

El artículo de media tarde de The Motley Fool sobre Micron (14:11 ET) se publicó bajo el titular "Why Micron Stock Is Plummeting Today". Su resumen nocturno (17:12 ET) y el seguimiento cuatro minutos después (17:16 ET) situaron el salto de META junto a un reporte sobre un plan para vender capacidad de cómputo de IA como un negocio de nube. Ese es el enfoque del medio, no un hallazgo en el tape, y 12 artículos de dos editores es la atención de un solo feed, no del mercado.

Dónde se negoció el dinero

ConsultaLíderes de volumen de dos formas: top 6 por dólares negociados, top 4 por acciones negociadas (un símbolo duplicado excluido pendiente de verificación)
El SQL exacto detrás de cada cifra
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
    round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
        / max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
    SELECT
        'by dollars traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESC

MU lideró el volumen con $42.94 mil millones — el SPY fue el segundo con $27.76 mil millones y META el cuarto con $22.72 mil millones — una acción en caída que negoció un cincuenta por ciento más que el fondo indexado. Los extremos del movimiento fueron los nombres con mayor actividad. El tablero de acciones muestra la distorsión habitual: SOXS, el ETF inverso de semiconductores de 3x, lideró con 553.1 millones de acciones — la mayor actividad del día en que los chips cayeron — mientras que una acción de bajo precio cierra la lista con 189.8 millones de acciones por un valor de $319 millones (volumen relativo señala precisamente esto). Base: horario regular del 1 de julio, se excluyó un listado con símbolo reutilizado (recibos).

El tape de opciones

ConsultaUna fila para toda la jornada de opciones: volumen, vencimiento intradía, skew put/call y el contrato más activo
El SQL exacto detrás de cada cifra
WITH
    (
        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
                sum(size), round(avg(toFloat64(price)), 3),
                any(if(substring(ticker, length(ticker) - 14, 6) = '260701', 1, 0)))
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'
        GROUP BY ticker
        ORDER BY sum(size) DESC, ticker ASC
        LIMIT 1
    ) AS top_contract,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
    ) AS spy_regular_close
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
    round(sumIf(toFloat64(size), option_type = 'P') / sumIf(toFloat64(size), option_type = 'C'), 2) AS put_call_ratio,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260701') / sum(size), 1) AS same_day_expiry_pct,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
    countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P')) / 1e6, 2) AS spy_put_contracts_m,
    round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P' AND toFloat64(strike_price) < spy_regular_close * 0.98)
        / sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'), 1) AS spy_puts_2pct_below_pct,
    round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C' AND toFloat64(strike_price) > spy_regular_close * 1.02)
        / sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'), 1) AS spy_calls_2pct_above_pct,
    round(sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'P')
        / sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'C'), 2) AS mu_put_call_ratio,
    round(sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'P')
        / sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'C'), 2) AS meta_put_call_ratio,
    top_contract.1 AS top_contract_underlying,
    top_contract.2 AS top_contract_strike,
    top_contract.3 AS top_contract_type,
    top_contract.4 AS top_contract_volume,
    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.4))), '\\d{1,3}'), ',')) AS top_contract_volume_fmt,
    round(top_contract.5, 3) AS top_contract_avg_price,
    top_contract.6 AS top_contract_is_same_day,
    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
    spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'

Se negociaron 68.46 millones de contratos de opciones en 11.22 millones de operaciones — las calls representaron el 58.6% del volumen y los vencimientos intradía el 33.5%. No hubo cobertura de los índices: hubo 0.71 puts por cada call en todo el mercado, y de los 5.76 millones de puts de SPY, solo el 11.6% tenían un strike más de dos por ciento por debajo de su cierre de 745.69 — los strikes de caída extrema que rinden en un crash. El skew se concentró en acciones individuales: los puts de Micron superaron a sus calls (1.11 por cada call), mientras que las calls de META superaron a sus puts en una proporción mayor a dos a uno (0.39). El contrato más activo fue la call de SPY de $748 con vencimiento intradía — 878,947 contratos a un promedio de $0.707 — venciendo 2.31 dólares fuera del dinero, como lo hicieron las del martes. No hubo operaciones para el vencimiento del 3 de julio (0 operaciones — ese viernes está cerrado); la weekly del jueves registró 14.43 millones.

Tasas: tendencia al alza, tramo corto a la baja

Los rendimientos corresponden al cierre diario frente al 30 de junio.

ConsultaLa curva del Tesoro, cierre del 1 de julio vs 30 de junio (solo vencimientos con datos)
El SQL exacto detrás de cada cifra
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jul1_yield_pct,
    round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
    SELECT arrayJoin([
        ('1 month',  toFloat64(d.yield_1_month),  toFloat64(p.yield_1_month)),
        ('3 month',  toFloat64(d.yield_3_month),  toFloat64(p.yield_3_month)),
        ('1 year',   toFloat64(d.yield_1_year),   toFloat64(p.yield_1_year)),
        ('2 year',   toFloat64(d.yield_2_year),   toFloat64(p.yield_2_year)),
        ('5 year',   toFloat64(d.yield_5_year),   toFloat64(p.yield_5_year)),
        ('10 year',  toFloat64(d.yield_10_year),  toFloat64(p.yield_10_year)),
        ('30 year',  toFloat64(d.yield_30_year),  toFloat64(p.yield_30_year)),
        ('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
    ]) AS t
    FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-30') AS p
)

El bono a 10 años sumó 4 pb para situarse en 4.48% y el de 30 años subió 6 pb, mientras que la letra a 1 mes bajó -3 pb; el tramo medio y el largo subieron, el tramo corto bajó. El spread 2s10s cerró en 0.31 puntos porcentuales: ninguna cifra igualó la dispersión de las acciones.

The calendar behind the day

ConsultaCalendario corporativo y flujo de información del 1 de julio, en una fila
El SQL exacto detrás de cada cifra
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
    ) AS news,
    (
        SELECT (argMax(t, n), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS ex_dividend_records,
    (SELECT countIf(frequency = 12) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payers,
    (SELECT countIf(frequency = 4) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS quarterly_payers,
    (SELECT round(100.0 * countIf(frequency = 12) / count(), 1) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payer_pct,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-01') AS splits_executed,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01') AS ipos_listed,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS sec_filings,
    (SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS insider_form4_filings,
    (SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS filings_8k,
    (SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
        SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
    )) AS ipo_names,
    news.1 AS news_articles,
    news.2 AS news_publishers,
    top_news.1 AS most_covered_ticker,
    top_news.2 AS most_covered_articles

The quarter turn crested here: 745 dividend records went ex-dividend — the wave the June recap watched building — alongside 9 splits and 3 listings (BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc.). The filing feed revived: 4282 filings, 1072 of them Form 4s and 248 8-Ks, after June 30's near-empty index day (the month-end gap note). Our feed carried 201 articles, most-covered MSFT at 16.

But a count says nothing about who was paying. Ranked by the money that traded in them, the board is not corporate at all:

ConsultaLos nombres con mayor volumen en dólares que van ex-dividend el 1 de julio
El SQL exacto detrás de cada cifra
WITH divs AS (
    SELECT ticker, max(toFloat64(cash_amount)) AS cash, max(frequency) AS freq
    FROM global_markets.stocks_dividends
    WHERE ex_dividend_date = '2026-07-01' AND distribution_type = 'recurring'
    GROUP BY ticker
),
tape AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume,
           toFloat64(argMax(close, (window_start, close))) AS day_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
)
SELECT
    d.ticker AS ticker,
    round(d.cash, 4) AS cash_per_share,
    d.freq AS payments_per_year,
    round(t.day_close, 2) AS day_close,
    round(100 * d.cash / t.day_close, 2) AS pct_of_price,
    round(100 * d.cash * d.freq / t.day_close, 2) AS annualized_yield_pct,
    round(t.dollar_volume / 1e9, 2) AS day_dollar_bn
FROM divs d JOIN tape t ON d.ticker = t.ticker
WHERE t.dollar_volume > 0 AND d.cash > 0
ORDER BY t.dollar_volume DESC
LIMIT 8

Every one of the eight busiest ex-dividend tickers is a fund paying 12 times a year: SGOV, a Treasury-bill fund, went ex on $0.2958 a share (0.29% of price, 3.54% annualized) on $3.5 billion traded; HYG, a high-yield bond fund, on $0.3688. That is a first-of-month wave: 572 of the day's 745 records (76.8%) are monthly payers — funds distributing interest — against 123 quarterly payers. The ex-date drop is mechanical, not a loss.

¿Es el primer día de un trimestre alguna vez un día ordinario?

El planteamiento es evidente: nuevo trimestre, nuevo capital, nuevas asignaciones. La base de datos no está de acuerdo.

ConsultaCada sesión de apertura trimestral desde 2004: movimiento de apertura a cierre de SPY, con el 1 de julio rankeado en el histórico
El SQL exacto detrás de cada cifra
SELECT
    count() AS quarter_opens_measured,
    round(quantileExact(0.5)(oc_pct), 2) AS median_quarter_open_pct,
    countIf(oc_pct > 0) AS quarter_opens_green,
    countIf(oc_pct <= 0) AS quarter_opens_red,
    round(anyIf(oc_pct, first_day = toDate('2026-07-01')), 2) AS jul1_oc_pct,
    arrayCount(x -> x < anyIf(oc_pct, first_day = toDate('2026-07-01')), groupArrayIf(oc_pct, first_day != toDate('2026-07-01'))) + 1 AS jul1_rank_worst_to_best,
    round(min(oc_pct), 2) AS worst_quarter_open_pct,
    round(max(oc_pct), 2) AS best_quarter_open_pct,
    concat(monthName(min(first_day)), ' ', toString(toYear(min(first_day)))) AS first_measured
FROM (
    SELECT f.first_day AS first_day, d.oc_pct AS oc_pct
    FROM (
        SELECT toStartOfQuarter(d) AS q, min(d) AS first_day
        FROM (
            SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2004-01-01 00:00:00')
              AND window_start < toDateTime('2026-07-02 00:00:00')
              AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
            GROUP BY d
        )
        GROUP BY q
    ) f
    INNER JOIN (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               (argMax(toFloat64(close), (window_start, close)) / argMin(toFloat64(open), (window_start, open)) - 1) * 100 AS oc_pct
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime('2004-01-01 00:00:00')
          AND window_start < toDateTime('2026-07-02 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY d
    ) d ON d.d = f.first_day
)

En las 91 sesiones de apertura de trimestre desde January 2004, el movimiento mediano de SPY de apertura a cierre en el primer día de un trimestre es 0.01% — 46 en verde frente a 45 en rojo, abarcando desde -2.28% hasta 3.18%: un lanzamiento de moneda con un error de redondeo. El primero de julio registró 0.09%, el puesto 50 de 91 del peor al mejor — justo en el centro. Base: movimiento de SPY de apertura a cierre en horario regular, en la primera sesión de cada trimestre en la base de datos.

Conclusión de la jornada para el lector

El índice se movió 0.09%; el panel de ocho nombres abarca desde -10.45% hasta 8.88%; la protección apenas tuvo reajuste de precio. Esa es la aritmética común de un mercado concentrado: las pérdidas de un sector se compensan con las ganancias en el 7 de otros 11, que es lo que resulta de un índice. Un análisis a nivel de índice no muestra nada aquí; un análisis a nivel de posición muestra la pérdida de una décima parte de una posición en un solo día.

La sesión, verificada

ConsultaControl de sesión: rango observado en barras de un minuto de SPY
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,
    count() AS spy_minute_bars,
    countIf(window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-01') AS jul1_holiday_rows
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 00:00:00' AND window_start < '2026-07-02 00:00:00'

Las barras de SPY abarcan desde las 04:00 hasta las 19:59 hora de Nueva York, con 390 barras de horario regular y 0 filas de días festivos en la fecha — una sesión completa, verificada mediante el tape.

Preguntas frecuentes

¿El mercado de acciones subió o bajó el 1 de julio de 2026?

Depende del índice que se analice. SPY cerró -0.08%, DIA 0.02%, QQQ -1.44%; los nombres líquidos 3465 cayeron frente al alza de 2928 — aunque el 7 de los fondos sectoriales de 11 cerró en verde, siendo el sector tecnológico la excepción.

¿Por qué Micron, SanDisk, Western Digital y Seagate cayeron el 1 de julio de 2026?

Estos datos reportan movimiento conjunto, no causalidad: las cuatro cayeron entre -5.11% y -10.45%. El artículo de The Motley Fool del mismo día sobre Micron (en el panel de noticias de esta página, 14:11 ET) se publicó bajo el titular "Why Micron Stock Is Plummeting Today". Ese es el enfoque del medio, no un hallazgo del tape.

¿Por qué META subió el 1 de julio de 2026?

META cerró un 8.88% más arriba, con su punto más bajo en la barra de apertura. La cobertura de The Motley Fool atribuyó el movimiento a reportes de que la empresa planeaba vender su capacidad excedente de cómputo de IA como un negocio de cloud: es la atribución del medio, no la nuestra.

¿Es el primer día de negociación de un trimestre usualmente un día fuerte?

No de manera medible. En las 91 aperturas trimestrales desde January 2004, el movimiento mediano de apertura a cierre de SPY fue de 0.01%: 46 en verde, 45 en rojo; es como lanzar una moneda al aire. El 1 de julio se situó en el promedio.

¿Estaba el mercado de opciones cubriendo la venta masiva el 1 de julio de 2026?

No a nivel de índice: hubo un ratio de 0.71 puts por cada call en todo el mercado, y solo el 11.6% del volumen de puts de SPY se ejecutó a más de dos por ciento por debajo del cierre.

Notas de datos

  • El volumen en dólares es un indicador por minuto — precio de cierre × volumen sumados por barra de un minuto, durante el horario regular. Los extremos mostrados se verificaron contra las barras adyacentes; en caso de empate, se toma el más temprano.
  • No existe un índice VIX spot aquí. El panel de volatilidad muestra fondos de futuros del VIX que mantienen y renuevan contratos de futuros; están relacionados con el índice, pero nunca son idénticos.
  • Nuevos máximos/mínimos trimestrales comparan los extremos del horario regular del 1 de julio con el rango de cada activo del 1 de abril al 30 de junio, para activos líquidos con un trimestre completo de barras; las caídas se muestran en el panel.
  • El tablero de sectores es una cesta curada (once ETFs de SPDR, no un campo de un proveedor); el panel de noticias es una única fuente con licencia (12 artículos, dos editores); se excluye una lista de símbolos reutilizados de las tablas de líderes (sus recibos).

Metodología

  • Una sesión de trading (sesión 1, verificada mediante las barras observadas y la tabla de feriados; nunca se asume). Las marcas de tiempo se almacenan en UTC y se convierten a la hora de Nueva York dentro de las consultas; el "close" es la última barra de un minuto de la sesión regular, con el cambio de día respecto al 30 de junio.
  • Los decimales se convierten a floats de 64 bits antes de realizar aritmética de ratios; los vencimientos de opciones se procesan nuevamente desde el ticker de la OCC. Los paneles se ejecutan una sola vez, al momento de la redacción, a través de la ruta de solo lectura restringida. Estado del warehouse al 13 de julio de 2026; esta edición añade los paneles de sector, volatilidad, noticias, dividendos e historial trimestral.

Cada panel es el resultado de una consulta almacenada: el gráfico, la tabla y el SQL son un mismo objeto. Pegue cualquiera de ellos en la terminal de Strasmore. Siguiente: 2 de julio; la semana: la semana de feriados.