Resumen del mercado: 1 de julio de 2026
El segundo semestre abrió tranquilo en los índices, pero con violencia debajo: cayó el complejo de memoria, META avanzó y la mayoría de sectores del S&P cerró al alza.
El miércoles 1 de julio de 2026, primera sesión del segundo semestre, combinó uno de los días más tranquilos del mes para los índices con la sesión más volátil. SPY cerró en -0.08% y QQQ en -1.44%, pero el complejo de memoria que impulsó el segundo trimestre perdió una décima de su valor, META avanzó 8.88% y 7 de los fondos sectoriales del S&P 11 cerraron al alza. 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.
| ticker | cierre previo | apertura del día | cierre del día | cambio porcentual | máximo del día | mínimo del día | acciones negociadas (M) |
|---|---|---|---|---|---|---|---|
| DIA | 522.28 | 521.43 | 522.41 | 0.02 | 526.72 | 519.62 | 3.2 |
| IWM | 300.42 | 299.93 | 299.31 | -0.37 | 302.72 | 298.92 | 18.3 |
| QQQ | 735.76 | 729.19 | 725.16 | -1.44 | 731.92 | 724.6 | 34.7 |
| SPY | 746.32 | 745 | 745.69 | -0.08 | 749.44 | 742.38 | 37.2 |
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.tickerLa división es el dato clave: DIA, en 0.02%, y SPY, en -0.08%, se mantuvieron estables frente a -1.44% de QQQ y -0.37% de IWM; fue una venta masiva de acciones de crecimiento que el mercado amplio apenas registró.
Uno de los días más tranquilos del índice en el último mes
| movimiento diario (%) | rango de movimiento absoluto | sesiones comparadas | primera sesión |
|---|---|---|---|
| 0.09 | 20 | 22 | 2026-06-01 |
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
)En términos de apertura a cierre durante la sesión, una perspectiva distinta del balance de cierre contra cierre, SPY se movió 0.09%: ocupó el puesto 20 de 22 sesiones recientes por magnitud absoluta; solo dos registraron un movimiento menor. El complejo de volatilidad coincidió. Esta base de datos no incluye el índice VIX al contado, por lo que la comprobación se realiza con fondos cotizados de futuros del VIX, la referencia negociable más cercana al precio de la protección:
| ticker | cierre previo | cierre del día | cambio (%) | rango (%) |
|---|---|---|---|---|
| SPY | 746.32 | 745.69 | -0.08 | 0.95 |
| SVXY | 57.25 | 57.01 | -0.42 | 1.19 |
| UVXY | 24.87 | 25.15 | 1.13 | 3.68 |
| VIXY | 21.3 | 21.47 | 0.8 | 2.38 |
| VXX | 22.11 | 22.27 | 0.72 | 2.45 |
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 tickerVXX, el mayor fondo de futuros del VIX del primer vencimiento, subió 0.72%; VIXY, 0.8%; y el apalancado UVXY, 1.13%, dentro de un rango de 3.68%; el inverso SVXY, -0.42%. Movimientos insignificantes frente a lo que hicieron las acciones individuales.
Amplitud: más valores bajaron que subieron, pero hubo más nuevos máximos que nuevos mínimos
| alzas | bajas | sin cambios | porcentaje de alzas | nuevos máximos trimestrales | nuevos mínimos trimestrales | máximos por mínimo | instrumentos con un trimestre completo | tickers líquidos | tickers negociados en ambas sesiones | excluidos por filtro de liquidez | excluidos por historial trimestral corto |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2928 | 3465 | 82 | 45.2 | 836 | 246 | 3.4 | 6217 | 6475 | 11910 | 5435 | 258 |
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 > 02928 valores avanzaron, 3465 retrocedieron y 82 no registraron cambios; 45.2% del tape líquido subió. Pero la amplitud no mide la magnitud del movimiento: frente al rango de horario regular del segundo trimestre, 836 de los 6217 nombres con un trimestre completo de cotización registró un nuevo máximo trimestral en esta jornada bajista, frente a 246 que marcaron un nuevo mínimo: 3.4 nuevos máximos por cada nuevo mínimo. La mayoría retrocedió; pocos rompieron su rango. Caídas: 5435 de los tickers con dos sesiones incluidos en el filtro de $1 millón, 11910, y 258 nombres líquidos sin un trimestre completo de datos.
La tabla sectorial: el daño se limitó a un sector
Los once fondos sectoriales SPDR ofrecen la sección transversal más barata de todo el mercado: la misma canasta en cada sesión.
| ticker | cierre previo | cierre del día | cambio (%) | porcentaje por encima del peor sector | positivo hasta ahora | volumen diario en dólares (miles de millones) |
|---|---|---|---|---|---|---|
| XLC | 107.16 | 109.74 | 2.41 | 4.97 | 1 | 1.46 |
| XLF | 53.61 | 54.79 | 2.2 | 4.76 | 2 | 2.35 |
| XLY | 117.27 | 118.07 | 0.68 | 3.24 | 3 | 1.02 |
| XLV | 158.67 | 159.57 | 0.57 | 3.13 | 4 | 1.48 |
| XLRE | 44.02 | 44.18 | 0.36 | 2.93 | 5 | 0.33 |
| XLB | 50.84 | 51 | 0.31 | 2.88 | 6 | 0.63 |
| XLP | 83.08 | 83.33 | 0.3 | 2.86 | 7 | 0.85 |
| XLE | 53.14 | 52.82 | -0.6 | 1.96 | 7 | 1.66 |
| XLI | 185.22 | 183.41 | -0.98 | 1.59 | 7 | 1.35 |
| XLU | 45.34 | 44.76 | -1.28 | 1.28 | 7 | 1.17 |
| XLK | 190.42 | 185.54 | -2.56 | 0 | 7 | 1.7 |
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 DESCServicios de comunicación (XLC), el fondo sectorial que mantiene META, lideró con 2.41%; el sector financiero (XLF) quedó detrás, con 2.2%. Tecnología (XLK) ocupó en solitario el último lugar, -2.56% y 4.97 puntos porcentuales por debajo del líder. En total, 7 de los 11 fondos cerraron al alza: consumo discrecional 0.68% y salud 0.57%, frente a servicios públicos (-1.28%), industriales (-0.98%) y energía (-0.6%), que cerraron a la baja. Esa es la explicación, desde dentro, de que «el índice apenas se moviera».
El punto destacado de la sesión: se desplomaron las acciones de memoria y META avanzó en sentido contrario
Ocho nombres explicaron la dispersión: las cuatro acciones de memoria y almacenamiento que lideraron el segundo trimestre, y cuatro nombres de chips y plataformas relacionados. Se reportan la co-movilidad, la magnitud y el momento; los datos no explican por qué ocurrió.
| ticker | cierre previo | cierre del día | cambio (%) | máximo del día (ET) | mínimo del día (ET) | minuto del mínimo (ET) | rango (%) | volumen diario en dólares (miles de millones) |
|---|---|---|---|---|---|---|---|---|
| AMD | 580.82 | 540.89 | -6.87 | 09:51 | 15:57 | 957 | 4.71 | 12 |
| META | 562.94 | 612.92 | 8.88 | 11:05 | 09:30 | 570 | 5.58 | 22.72 |
| MRVL | 297.79 | 271.95 | -8.68 | 10:08 | 15:58 | 958 | 7.8 | 7.14 |
| MU | 1151.01 | 1033.29 | -10.23 | 09:48 | 15:59 | 959 | 6.28 | 42.94 |
| NVDA | 199.76 | 197.58 | -1.09 | 15:09 | 09:33 | 573 | 3.31 | 21.73 |
| SNDK | 2272.59 | 2035.07 | -10.45 | 09:51 | 14:49 | 889 | 6.39 | 18.38 |
| STX | 964.55 | 915.25 | -5.11 | 09:51 | 09:35 | 575 | 5.69 | 2.84 |
| WDC | 638.57 | 598.37 | -6.3 | 09:51 | 10:46 | 646 | 5.39 | 4 |
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 tickerSanDisk (-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 negoció $42.94 mil millones, más de lo que operó SPY durante toda la sesión, y MU, AMD y Marvell marcaron sus mínimos de la sesión en los minutos finales (15:59, 15:57, 15:58 ET), con ventas hacia la subasta de cierre, no en un bache de apertura que después se recuperó (el análisis detallado de MU recoge los datos del trimestre).
META mostró la imagen opuesta: 8.88% con un volumen negociado de $22.72 mil millones, marcó su mínimo a las 09:30 ET, en la barra de apertura, y nunca volvió a ese nivel. NVDA no registró cambios relevantes en la sesión -1.09% (junio de NVDA).
Lo que se dijo
Esta página nunca atribuye causas. Pero nuestro feed de noticias con licencia es una tabla como cualquier otra: muestra lo que publicó ese día:
| publicado ET | editor | nombres etiquetados | titular |
|---|---|---|---|
| 11:30 | The Motley Fool | MU | Could Micron Stock Reach $2,000 on Memory Demand Alone? |
| 12:15 | The Motley Fool | MU | If You'd Invested $1,500 in Micron Stock 1 Year Ago, Here's How Much You |
| 12:26 | The Motley Fool | META | Why CoreWeave Stock Is Tumbling Today |
| 14:11 | The Motley Fool | MU | Why Micron Stock Is Plummeting Today |
| 14:24 | Investing.com | META | Markets Whipsaw as Semiconductors Fall and Magnificent 7 Stocks Move Hig |
| 15:23 | The Motley Fool | SNDK MU WDC | Will Sandisk Stock Split by Year-End 2026? |
| 15:32 | Investing.com | META | Nasdaq Posts Best Quarter in 6 Years as AI Backlogs Grow |
| 15:43 | Investing.com | META MU | S&P 500 Breadth Shows Rotation Is Replacing Mega-Cap Dependence |
| 17:12 | The Motley Fool | META MU SNDK | Stock Market Today, July 1: Meta Shakes Up Cloud Sector and Tech Stocks |
| 17:16 | The Motley Fool | META | Stock Market Today, July 1: Meta Surges on Reported Plan for AI Cloud Bu |
| 17:33 | The Motley Fool | META | Stock Market Today, July 1: CoreWeave Stock Tumbles as Meta Cloud Report |
| 22:20 | The Motley Fool | META | Why Meta Platforms Stock Surged Today |
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 ASCEl artículo de media tarde de The Motley Fool sobre Micron (14:11 ET) se publicó con el titular «Why Micron Stock Is Plummeting Today». Su resumen vespertino (17:12 ET) y el seguimiento cuatro minutos después (17:16 ET) situaron el salto de META junto a un plan reportado para vender el exceso de capacidad de cómputo de IA como un negocio de nube. Ese es el enfoque del medio, no una conclusión extraída del tape, y 12 artículos de dos editores representan la atención de un feed, no la del mercado.
Dónde se concentró el dinero negociado
| ticker | tabla de posiciones | volumen en dólares (B) | valor en dólares (M) | acciones (M) | % del líder del tablero |
|---|---|---|---|---|---|
| MU | by dollars traded | 42.94 | None | 40.6 | 100 |
| SPY | by dollars traded | 27.76 | None | 37.2 | 64.6 |
| QQQ | by dollars traded | 25.24 | None | 34.7 | 58.8 |
| META | by dollars traded | 22.72 | None | 36.9 | 52.9 |
| NVDA | by dollars traded | 21.73 | None | 110.4 | 50.6 |
| SNDK | by dollars traded | 18.38 | None | 8.9 | 42.8 |
| SOXS | by shares traded | 2.05 | None | 553.1 | 100 |
| TZA | by shares traded | 0.87 | 867 | 230.4 | 41.7 |
| BITO | by shares traded | 1.84 | None | 227.1 | 41.1 |
| LHAI | by shares traded | 0.32 | 319 | 189.8 | 34.3 |
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) DESCMU lideró la cinta con $42.94 mil millones, seguido por SPY con $27.76 mil millones. META ocupó el cuarto lugar con $22.72 mil millones. Una acción en descenso registró un volumen de negociación un 50% superior al del fondo indexado. Los nombres que marcaron los extremos del movimiento fueron los más activos. El tablero de acciones suele ser un reflejo distorsionado: SOXS, el ETF de semiconductores con apalancamiento inverso 3x, lideró con 553.1 millones de acciones, en la sesión de mayor actividad justo cuando las acciones de chips se desplomaron. Un valor de bajo precio completó la lista con 189.8 millones de acciones por un valor de $319 millones (volumen relativo lo identifica exactamente). Base: horario regular del 1 de julio; se excluyó una cotización con símbolo reutilizado (recibos).
La cinta de opciones
| operaciones de opciones (M) | contratos (M) | % de calls del volumen | ratio put/call | % con vencimiento el mismo día | contratos con vencimiento jue. 2 jul. (M) | operaciones del vie. 3 jul. | contratos put de SPY (M) | % de puts de SPY 2% por debajo | % de calls de SPY 2% por encima | ratio put/call de MU | ratio put/call de META | activo subyacente del contrato principal | strike del contrato principal | tipo de contrato principal | volumen del contrato principal | volumen formateado del contrato principal | precio promedio del contrato principal | el contrato principal vence el mismo día | strike principal menos cierre de SPY | cierre de SPY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 11.22 | 68.46 | 58.6 | 0.71 | 33.5 | 14.43 | 0 | 5.76 | 11.6 | 3.7 | 1.11 | 0.39 | SPY | 748 | C | 878947 | 878,947 | 0.707 | 1 | 2.31 | 745.69 |
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 ejecutadas. Las calls representaron 58.6% del volumen y las opciones con vencimiento ese mismo día, 33.5%. Nadie estaba cubriendo el índice: hubo 0.71 puts por cada call en todo el mercado. De los 5.76 millones de puts de SPY, solo 11.6% tenían un strike más de dos por ciento por debajo del cierre de 745.69, es decir, strikes muy alejados del precio actual que pagan en un desplome. La asimetría se concentró en acciones individuales. Las puts de Micron superaron a sus calls (1.11 por cada call), mientras que las calls de META superaron a sus puts por más de dos a uno (0.39). El contrato con mayor actividad fue la call de SPY con vencimiento ese mismo día y strike de $748: 878,947 contratos a un precio promedio de $0.707. Vencía con el activo 2.31 dólares out of the money, como las del martes. No se registró ninguna operación durante el día en opciones con vencimiento el 3 de julio (0 operaciones; ese viernes el mercado está cerrado). El vencimiento semanal del jueves concentró 14.43 millones.
Tasas: al alza, con bajas en el tramo corto
Los rendimientos corresponden a cierres diarios frente al 30 de junio.
| punto de la curva | rendimiento del 1 jul. (%) | cambio de un día (pb) |
|---|---|---|
| 1 month | 3.67 | -3 |
| 3 month | 3.85 | -2 |
| 1 year | 4 | 2 |
| 2 year | 4.17 | 3 |
| 5 year | 4.24 | 5 |
| 10 year | 4.48 | 4 |
| 30 year | 4.97 | 6 |
| 2s10s spread | 0.31 | 1 |
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 rendimiento del bono a 10 años subió 4 pb, hasta 4.48%, y el del bono a 30 años avanzó 6 pb. El rendimiento de la letra a 1 mes se movió -3 pb. El tramo intermedio y el largo subieron, mientras que el tramo corto bajó. El spread 2s10s cerró en 0.31 puntos porcentuales. Nada de esto reflejó la dispersión de la renta variable.
El calendario detrás de la jornada
| registros ex dividendo | pagadores mensuales | pagadores trimestrales | % de pagadores mensuales | splits ejecutados | IPOs listadas | presentaciones ante la SEC | presentaciones Form 4 de insiders | presentaciones 8-K | nombres de IPOs | artículos de noticias | medios de noticias | ticker más cubierto | artículos sobre el ticker más cubierto |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 746 | 572 | 123 | 76.7 | 9 | 3 | 4283 | 1072 | 248 | BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc. | 201 | 3 | MSFT | 16 |
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_articlesEl giro trimestral alcanzó su punto máximo aquí: 746 registros de dividendos pasaron a cotizar ex-dividendo, la ola cuya formación siguió el resumen de junio, junto con 9 splits y 3 listings (BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc.). El flujo de filings se reactivó: 4283 filings, de los cuales 1072 fueron Form 4s y 248 fueron 8-Ks, después del día casi vacío del índice del 30 de junio (la nota sobre la brecha de fin de mes). Nuestro feed publicó 201 artículos, y MSFT fue el valor más cubierto, con 16.
Pero un recuento no dice quién estaba pagando. Ordenado por el dinero negociado en ellos, el tablero no es corporativo en absoluto:
| ticker | efectivo por acción | pagos por año | cierre del día | % del precio | rendimiento anualizado (%) | volumen diario en dólares (miles de millones) |
|---|---|---|---|---|---|---|
| SGOV | 0.2958 | 12 | 100.4 | 0.29 | 3.54 | 3.5 |
| HYG | 0.3688 | 12 | 79.62 | 0.46 | 5.56 | 2.77 |
| LQD | 0.3815 | 12 | 108.46 | 0.35 | 4.22 | 2.57 |
| TLT | 0.318 | 12 | 85.52 | 0.37 | 4.46 | 2.01 |
| BITO | 0.0104 | 12 | 8.14 | 0.13 | 1.53 | 1.84 |
| BND | 0.2445 | 12 | 73.04 | 0.33 | 4.02 | 1.51 |
| BIL | 0.2676 | 12 | 91.39 | 0.29 | 3.51 | 1.47 |
| VCIT | 0.3319 | 12 | 82.18 | 0.4 | 4.85 | 0.93 |
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 8Cada uno de los ocho tickers ex-dividendo con mayor volumen es un fondo que paga 12 veces al año: SGOV, un fondo de letras del Tesoro, pasó a cotizar ex-dividendo con un pago de $0.2958 por participación (0.29% del precio, 3.54% anualizado), sobre un volumen negociado de $3.5 mil millones; HYG, un fondo de bonos high yield, lo hizo con un pago de $0.3688. Es una ola de comienzos de mes: 572 de los 746 registros del día (76.7%) corresponden a pagadores mensuales, fondos que distribuyen intereses, frente a 123 pagadores trimestrales. La caída en la fecha ex-dividendo es mecánica, no una pérdida.
¿El primer día de un trimestre es alguna vez un día ordinario?
La narrativa parece obvia: nuevo trimestre, nuevo capital y nuevas asignaciones. Los datos dicen otra cosa.
| aperturas trimestrales medidas | mediana de apertura trimestral (%) | aperturas trimestrales positivas | aperturas trimestrales negativas | variación apertura-cierre del 1 de julio (%) | rango del 1 de julio, de peor a mejor | peor apertura trimestral (%) | mejor apertura trimestral (%) | primera medición |
|---|---|---|---|---|---|---|---|---|
| 91 | 0.01 | 46 | 45 | 0.09 | 50 | -2.28 | 3.18 | January 2004 |
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 91 sesiones de apertura de trimestre desde January 2004, el movimiento mediano de apertura a cierre de SPY en el primer día de cada trimestre es de 0.01%, con 46 sesiones al alza frente a 45 a la baja. El rango va de -2.28% a 3.18%: prácticamente un volado, con un pequeño error de redondeo. El 1 de julio registró 0.09% y ocupó el puesto 50 de 91, de peor a mejor: justo en el centro. Base: apertura a cierre de SPY durante el horario regular, en la primera sesión de cada trimestre incluida en la base de datos.
Lo que deja la jornada al lector
El índice se movió 0.09%; el panel de ocho nombres abarca de -10.45% a 8.88%; la protección apenas se repreció. Esa es la aritmética habitual de un mercado concentrado: las pérdidas de un sector se compensan con las ganancias de 7 de 11 sectores. Eso es lo que refleja el índice. Una mirada al nivel del índice no detecta nada aquí; una mirada a nivel de posición muestra que una décima parte de una tenencia desapareció en un día.
La sesión, verificada
| primera barra de SPY (ET) | última barra de SPY (ET) | barras de SPY de 1 minuto | barras de sesión regular | sesiones diarias | filas del feriado del 1 de julio |
|---|---|---|---|---|---|
| 04:00 | 19:59 | 893 | 390 | 1 | 0 |
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 velas de SPY abarcan de 04:00 a 19:59, hora de Nueva York, con 390 velas de la sesión regular y 0 filas correspondientes a feriados en la fecha: una sesión completa, verificada en el tape.
Preguntas frecuentes
¿La bolsa subió o bajó el 1 de julio de 2026?
Depende de dónde se mire. SPY cerró en -0.08%, DIA en 0.02% y QQQ en -1.44%; 3465 acciones líquidas bajaron, frente a 2928 que subieron. Sin embargo, 7 de los fondos sectoriales 11 cerraron al alza. Tecnología fue la excepción.
¿Por qué cayeron Micron, SanDisk, Western Digital y Seagate el 1 de julio de 2026?
Estos datos muestran un movimiento conjunto, no una causa: las cuatro acciones cayeron entre -5.11% y -10.45%. El artículo de The Motley Fool sobre Micron publicado ese mismo día —en el panel de noticias de esta página, a las 14:11 ET— llevaba el titular «Why Micron Stock Is Plummeting Today». Ese es el enfoque de ese medio, no una conclusión basada en las operaciones ejecutadas.
¿Por qué subió META el 1 de julio de 2026?
META cerró 8.88% al alza, después de marcar su mínimo en la primera vela de la sesión. La cobertura de The Motley Fool atribuyó el movimiento a informes según los cuales la compañía planeaba vender su capacidad excedente de cómputo para inteligencia artificial como un negocio de servicios en la nube. Esa es la atribución del medio, no la nuestra.
¿Suele ser fuerte el primer día de negociación de un trimestre?
No de forma estadísticamente significativa. En 91 aperturas trimestrales desde January 2004, el movimiento mediano de SPY entre la apertura y el cierre fue de 0.01%: 46 sesiones terminaron al alza y 45 a la baja. Fue prácticamente un volado; el 1 de julio quedó en la zona media.
¿El mercado de opciones estaba cubriendo la venta masiva del 1 de julio de 2026?
No a nivel de índices: hubo 0.71 puts por cada call en todo el mercado, y solo 11.6% del volumen de puts de SPY tuvo un strike más de dos por ciento por debajo del cierre.
Notas metodológicas
- El volumen negociado en dólares es un indicador por minuto: cierre × volumen, sumado en cada vela de un minuto durante el horario regular. Los extremos mostrados se verificaron frente a las velas adyacentes. En caso de empate, se toma el primero.
- Aquí no existe un índice VIX spot. El panel de volatilidad muestra fondos de futuros del VIX cotizados en bolsa. Estos fondos mantienen y renuevan futuros relacionados con el índice, pero nunca son idénticos a él.
- Los nuevos máximos y mínimos trimestrales comparan los extremos del horario regular del 1 de julio con el rango de cada nombre entre el 1 de abril y el 30 de junio. El cálculo incluye nombres líquidos con un trimestre completo de velas. Las caídas aparecen en el panel.
- El tablero sectorial es una cesta seleccionada de once ETFs SPDR, no un campo del proveedor. El panel de noticias utiliza un único feed con licencia (12 artículos de dos editores). Una cotización con ticker reutilizado queda excluida de las clasificaciones (sus comprobantes).
Metodología
- Una sesión de trading (1 sesión, verificada a partir de las barras observadas y la tabla de feriados; nunca se da por supuesta). Las marcas de tiempo se almacenan en UTC y se convierten a la hora de Nueva York dentro de las consultas. «Cierre» es la última barra de un minuto de la sesión regular. Las variaciones diarias se calculan frente al 30 de junio.
- Los decimales se convierten a números de coma flotante de 64 bits antes de realizar operaciones de ratios. Los vencimientos de las opciones se vuelven a analizar a partir del ticker de OCC. Los paneles se ejecutan una sola vez, al momento de redactar, mediante la ruta de solo lectura con acceso controlado. Estado del almacén de datos al 13 de julio de 2026. Esta edición incorpora los paneles de sector, volatilidad, noticias, dividendos e historial trimestral.
Cada panel consta de un resultado de consulta almacenado, un gráfico, una tabla y SQL en un único objeto. Puede pegar cualquiera de ellos en la terminal de Strasmore. Siguiente: 2 de julio; la semana: la semana de feriados.