MU: Micron en junio de dos mil veintiséis
Micron en junio de dos mil veintiséis registró 995.7 billones de dólares en turnover, el puesto first del mercado, con un repricing del 14 por ciento.
Micron experimentó una revalorización violenta durante la primera mitad de 2026. En junio, el precio se estabilizó, pero el volumen de negociación no lo hizo. MU cerró junio en $1151.01, un aumento de 14%, siendo su mes más tranquilo desde febrero tras un mayo con un 89.8%. Su volumen de negociación en horario regular de $995.7 mil millones lo posicionó en el puesto first de todo el mercado estadounidense, superando al propio SPY. Analizado día a día, también fue el mes más volátil del semestre (127.6% anualizado): la calma es una ilusión. Estos son los resultados de junio: volumen, registros de la semana de resultados, volatilidad, pares, spread, opciones, posiciones cortas y el arco de seis meses. Cada cifra proviene de una consulta almacenada; puede expandir cualquier panel para ver su SQL.
El mes en una sola fila
El SQL exacto detrás de cada cifra
WITH
(
SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-19 00:00:00') AND window_start < toDateTime('2026-06-20 00:00:00')
) AS spy_jun19,
(
SELECT max(toFloat64(high)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS hi,
(
SELECT min(toFloat64(low)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS lo
SELECT
round(argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_open,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close,
round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
round(hi, 2) AS month_high,
formatDateTime(toTimeZone(minIf(window_start, toFloat64(high) >= hi - 0.011), 'America/New_York'), '%Y-%m-%d %H:%i') AS month_high_first_bar_et,
round(lo, 2) AS month_low,
formatDateTime(toTimeZone(minIf(window_start, toFloat64(low) <= lo + 0.011), 'America/New_York'), '%Y-%m-%d %H:%i') AS month_low_first_bar_et,
round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - lo, 2) AS rth_minus_extended_low,
round(toFloat64(sum(volume)) / 1e9, 2) AS month_shares_bn,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS session_days_observed,
spy_jun19 AS spy_bars_june19
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')El rango intrames fue enorme para una empresa de este tamaño: un mínimo de $850.1 (2026-06-05 16:34 ET) y un máximo de $1255 (2026-06-25 09:35 ET) — más amplio que el año completo de la mayoría de las acciones. El 19 de junio hubo un cierre en todo el mercado (0 barras de SPY), por lo que el mes tuvo 21 sesiones.
Junio frente al arco de seis meses
¿Es +14% una cifra grande? Para este ticker, en este semestre, fue el periodo de calma. El panel recalcula los datos cada mes de forma idéntica y en tiempo real.
El SQL exacto detrás de cada cifra
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start,
round((argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS month_return_pct,
round(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS month_close,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 1e9, 1) AS rth_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start
ORDER BY period_startEl arco: 40.5% en enero, un 0% plano en febrero, un -15.9% en marzo que marcó el cierre mínimo del semestre ($337.62), luego 48.4% en abril y 89.8% en mayo — de $414.73 a $1151.01 en seis meses. El volumen de negociación aumentó con ello: de 235.8 billones en enero a 995.7 billones en junio. El movimiento de precio de junio fue el más pequeño desde febrero; el volumen de operaciones de junio fue el más alto del periodo.
El precio se enfrió. La volatilidad no.
¿Es un mes de +14% tranquilo? La volatilidad realizada —los movimientos de cierre diarios, anualizados— muestra un panorama muy distinto para junio.
El SQL exacto detrás de cada cifra
SELECT
toString(toStartOfMonth(et_date)) AS period_start,
round(stddevSamp(log_ret) * sqrt(252) * 100, 1) AS realized_vol_ann_pct,
round(100 * stddevSamp(log_ret) / max(stddevSamp(log_ret)) OVER (), 1) AS pct_of_peak_vol,
round(avg(day_range_pct), 1) AS avg_day_range_pct,
round(max(abs(day_move_pct)), 1) AS biggest_day_move_pct,
count() AS return_days
FROM (
SELECT et_date, day_range_pct,
if(prev_close > 0, ln(close_usd / prev_close), NULL) AS log_ret,
if(prev_close > 0, (close_usd / prev_close - 1) * 100, NULL) AS day_move_pct
FROM (
SELECT et_date, close_usd, day_range_pct,
lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_usd,
(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100 AS day_range_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
)
)
)
WHERE isFinite(log_ret) AND log_ret IS NOT NULL
GROUP BY period_start
ORDER BY period_startJunio fue el mes más volátil del semestre según esta medida: 127.6% anualizada, incluso por encima del 101.4% de mayo, con un rango promedio de sesión de 7.6% y un movimiento de cierre sobre cierre de 15.8%. Los puntos finales fueron estables; los días intermedios no lo fueron.
Sesión por sesión
El SQL exacto detrás de cada cifra
SELECT et_date, close_usd,
round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
shares_m
FROM (
SELECT et_date, close_usd, shares_m,
lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS close_usd,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
)
)
ORDER BY et_dateLa tabla presenta una alta volatilidad, pasando de $1034.83 en 2026-06-01 durante el periodo de turbulencia a $1151.01 en la sesión final. Esto es lo que oculta el "+14% en el mes": solo los puntos extremos fueron estables. Los valores más altos se encuentran en la semana de reportes de ganancias, que se presenta a continuación.
¿Coincidieron las oscilaciones con un trimestre reportado?
Se pueden fechar: el rastro documental de MU de junio, según el propio índice de la SEC, junto con el comportamiento del tape en esas fechas.
El SQL exacto detrás de cada cifra
WITH
(
SELECT maxIf(filing_date, form_type = '8-K')
FROM global_markets.stocks_sec_edgar_index
WHERE cik = '0000723125' AND filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')
) AS last_8k_date,
(
SELECT minIf(filing_date, form_type = '10-Q')
FROM global_markets.stocks_sec_edgar_index
WHERE cik = '0000723125' AND filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')
) AS tenq_date,
(
SELECT (count(), countIf(form_type = '8-K'), countIf(form_type = '4'))
FROM global_markets.stocks_sec_edgar_index
WHERE cik = '0000723125' AND filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')
) AS filing_census,
(
SELECT toDate(toTimeZone(min(window_start), 'America/New_York'))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND toFloat64(high) >= (
SELECT max(toFloat64(high)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) - 0.011
) AS month_high_date
SELECT
toString(last_8k_date) AS earnings_8k_filed,
if(last_8k_date = toDate('2026-06-24'), 1, 0) AS eightk_on_jun24,
toString(tenq_date) AS tenq_filed,
dateDiff('day', last_8k_date, tenq_date) AS days_8k_to_10q,
filing_census.1 AS june_filings_total,
filing_census.2 AS eightk_filings,
filing_census.3 AS form4_filings,
round((anyIf(close_usd, et_date = toDate('2026-06-25')) / anyIf(close_usd, et_date = toDate('2026-06-24')) - 1) * 100, 1) AS next_session_move_pct,
round(anyIf(shares_m, et_date = toDate('2026-06-25')), 1) AS next_session_shares_m,
round(anyIf(shares_m, et_date = toDate('2026-06-25')) - maxIf(shares_m, et_date != toDate('2026-06-25')), 1) AS shares_lead_over_next_busiest_m,
if(month_high_date = toDate('2026-06-25'), 1, 0) AS month_high_on_jun25
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS close_usd,
toFloat64(sum(volume)) / 1e6 AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
)El 8-K trimestral de MU tiene fecha de 2026-06-24, y el 10-Q un día después (1, con los archivos de junio en 8 y los Form 4 de insiders en 3). La sesión posterior a la fecha del 8-K cerró 15.8% más alto con 77.2 millones de acciones —el volumen más pesado del mes, con 5.9 millones de diferencia respecto al siguiente— y el máximo mensual de $1255 se registró en esa misma sesión (2026-06-25 09:35 ET; la columna de acuerdos confirma la coincidencia). La observación es la alineación; este análisis termina ahí.
¿Una historia de Micron o una historia de la memoria?
¿Se movió también el resto del sector de memoria y almacenamiento? El grupo de referencia está definido: los tres nombres de almacenamiento que la noticia de junio vinculó más con MU, además de NVDA y SPY como indicadores de referencia.
El SQL exacto detrás de cada cifra
WITH (
SELECT (argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS mu_return
SELECT ticker,
round(june_return_pct, 1) AS june_return_pct,
round(june_return_pct - mu_return, 1) AS vs_mu_pct_points,
rth_dollar_bn,
round(100 * rth_dollar_bn / max(rth_dollar_bn) OVER (), 1) AS pct_of_top_turnover
FROM (
SELECT ticker,
(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100 AS june_return_pct,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'WDC', 'INTC', 'NVDA', 'SPY')
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
)
ORDER BY june_return_pct DESCFue un movimiento de la memoria, y MU se quedó atrás. SNDK subió 31.3%, INTC 27.5%, WDC 19.1% — cada nombre de almacenamiento superó a MU por entre 5.1 y 17.3 puntos — mientras que SPY y NVDA cerraron junio a la baja. El rasgo distintivo de MU: su rotación supera a todas las demás en esta lista.
El ticker con mayor volumen
El SQL exacto detrás de cada cifra
SELECT ticker,
round(sum(toFloat64(volume) * toFloat64(close)) / 1e9, 1) AS regular_hours_dollar_bn,
round(100 * sum(toFloat64(volume) * toFloat64(close)) / max(sum(toFloat64(volume) * toFloat64(close))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY regular_hours_dollar_bn DESC
LIMIT 10El SQL exacto detrás de cada cifra
WITH (
SELECT sum(toFloat64(volume) * toFloat64(close))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
) AS mu_d
SELECT
countIf(d > mu_d AND ticker != 'MU') + 1 AS mu_rank,
round(mu_d / 1e9, 1) AS mu_dollar_bn,
round((mu_d - maxIf(d, d < mu_d AND ticker != 'MU')) / 1e9, 1) AS lead_over_next_bn
FROM (
SELECT ticker, sum(toFloat64(volume) * toFloat64(close)) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)MU ocupó el puesto first de todos los símbolos listados en EE. UU. por volumen de dólares en horario regular durante junio — $995.7 mil millones, con $224.3 mil millones de diferencia frente al SPY en segundo lugar. Que una sola empresa supere el volumen de negociación del ETF principal durante un mes es una estructura de mercado poco común; las secciones de reportes de ganancias y de pares arriba proporcionan su contexto. Base: del 1 al 30 de junio en horario regular, se excluyó un listado con símbolo reutilizado pendiente de verificación de entidad (sus recibos). La visión general del mercado se encuentra en el resumen de junio.
De qué se compuso la cinta
El SQL exacto detrás de cada cifra
WITH
(
SELECT (round(count() / 1e6, 2),
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2),
countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price),
countIf(bid_price <= 0 OR ask_price <= 0))
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'MU'
AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
) AS quote_census
SELECT
round(count() / 1e6, 2) AS prints_m,
quantileDeterministic(0.5)(toFloat64(size), toUInt64(abs(sequence_number))) AS median_print_shares,
round(avg(toFloat64(size)), 1) AS avg_print_shares,
round(100.0 * countIf(size < 100) / count(), 1) AS odd_lot_pct_of_prints,
round(100.0 * countIf(toFloat64(size) != round(toFloat64(size))) / count(), 2) AS fractional_pct_of_prints,
quote_census.1 AS nbbo_updates_m,
quote_census.2 AS clean_two_sided_pct,
quote_census.3 AS crossed_updates,
quote_census.4 AS one_sided_or_empty_updates
FROM global_markets.stocks_trades
WHERE ticker = 'MU'
AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)35.17 millones de operaciones con una mediana de 8 acciones — y 91.7% lotes irregulares, una de las cintas con mayor fragmentación minorista que hemos medido (la de NVDA en junio fue materialmente más baja; su análisis profundo contiene el panel doble). Con un precio por acción de cuatro dígitos, un "lote redondo" implica sumas considerables, por lo que las operaciones pequeñas dominan por naturaleza; las operaciones fraccionarias (9.04%) indican lo mismo. La mitad de las cotizaciones: 19.64 millones de actualizaciones de NBBO, 99.86% con bid-ask limpio, 16963 cruzadas, 78 unidireccionales o vacías — todas divulgadas, no omitidas.
El spread durante una revalorización
Una acción que casi triplica su valor en un trimestre plantea la cuestión del spread de forma distinta: ¿se mantuvo con cotizaciones ajustadas mientras el precio alcanzaba un nuevo nivel?
El SQL exacto detrás de cada cifra
SELECT session,
round(quantileDeterministicIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price), toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS med_spread_cents,
round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 2) AS med_spread_bps,
count() AS quote_updates,
countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'MU'
AND sip_timestamp >= toDateTime64('2026-06-01 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session
ORDER BY sessionEn puntos básicos, el spread se mantuvo en niveles institucionales durante todo el movimiento: 3.96 bps en 2026-06-01, 4.19 bps en la última sesión; la columna de los centavos sigue aproximadamente el nivel del precio. Para entender la mecánica, consulte la explicación del spread.
Opciones: un libro de doble vía
El SQL exacto detrás de cada cifra
SELECT
round(count() / 1e6, 2) AS prints_m,
uniqExact(ticker) AS distinct_contracts,
round(sum(size) / 1e6, 2) AS contracts_traded_m,
round(sum(toFloat64(price) * size) * 100 / 1e9, 2) AS premium_notional_busd,
round(toFloat64(sumIf(size, substring(ticker, 11, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 11, 1) = 'C')), 2) AS month_put_call_ratio,
uniqExact(substring(ticker, 5, 6)) AS expiries_traded,
round(intDiv(toUInt32OrZero(substring(argMax(ticker, sz), 12, 8)), 1000), 0) AS busiest_strike_usd
FROM (
SELECT ticker, price, size, sum(size) OVER (PARTITION BY ticker) AS sz
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:MU') AND length(ticker) = 19
AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
)16.76 millones de contratos en 11789 contratos distintos, con una prima de $77.13 mil millones — y el libro era de doble vía: un ratio put/call mensual de 0.99, esencialmente paridad (el de junio de NVDA estuvo cargado hacia las calls; comparar). La paridad cercana durante una revalorización violenta indica que el mercado de opciones está dividido en ambos lados del movimiento — los datos muestran la división, no la intención.
El SQL exacto detrás de cada cifra
SELECT
concat('$', toString(toUInt32(bucket))) AS strike_bucket,
call_contracts,
put_contracts,
round(100.0 * put_contracts / (call_contracts + put_contracts), 1) AS put_share_pct
FROM (
SELECT
least(floor(toFloat64(toUInt32OrZero(substring(ticker, 12, 8))) / 1000 / 100) * 100, 1500) AS bucket,
toUInt64(sumIf(size, substring(ticker, 11, 1) = 'C')) AS call_contracts,
toUInt64(sumIf(size, substring(ticker, 11, 1) = 'P')) AS put_contracts
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:MU') AND length(ticker) = 19
AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY bucket
)
ORDER BY toUInt32OrZero(substring(strike_bucket, 2))El mapa de strikes abarca un rango que habría sido absurdo en enero — volumen real desde el segmento $0 hasta el límite de $1500+; una huella de cuánto se movió el subyacente. ¿Cuál fue el costo de capturar ese movimiento? Los precios de la última sesión del mes lo determinan:
El SQL exacto detrás de cada cifra
WITH (
SELECT argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU' AND window_start >= toDateTime('2026-06-30 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS spot
SELECT
toString(any(expiry)) AS nearest_expiry,
dateDiff('day', toDate('2026-06-30'), any(expiry)) AS calendar_days_to_expiry,
round(spot, 2) AS spot_close,
argMin(strike_usd, (dist, strike_usd)) AS atm_strike,
round(argMin(call_last + put_last, (dist, strike_usd)), 2) AS straddle_usd,
round(argMin(call_last + put_last, (dist, strike_usd)) / spot * 100, 2) AS straddle_pct_of_spot,
count() AS two_sided_strikes
FROM (
SELECT expiry, strike_usd, abs(strike_usd - spot) AS dist,
anyIf(last_px, opt_type = 'C') AS call_last,
anyIf(last_px, opt_type = 'P') AS put_last
FROM (
SELECT
toDateOrNull(concat('20', substring(ticker, 5, 2), '-', substring(ticker, 7, 2), '-', substring(ticker, 9, 2))) AS expiry,
substring(ticker, 11, 1) AS opt_type,
toFloat64(toUInt32OrZero(substring(ticker, 12, 8))) / 1000 AS strike_usd,
argMax(toFloat64(price), (sip_timestamp, toFloat64(price))) AS last_px
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:MU') AND length(ticker) = 19
AND sip_timestamp >= toDateTime64('2026-06-30 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY expiry, opt_type, strike_usd
)
WHERE expiry > toDate('2026-06-30')
GROUP BY expiry, strike_usd
HAVING countIf(opt_type = 'C') > 0 AND countIf(opt_type = 'P') > 0
)
WHERE expiry = (
SELECT min(toDateOrNull(concat('20', substring(ticker, 5, 2), '-', substring(ticker, 7, 2), '-', substring(ticker, 9, 2))))
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:MU') AND length(ticker) = 19
AND sip_timestamp >= toDateTime64('2026-06-30 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
AND toDateOrNull(concat('20', substring(ticker, 5, 2), '-', substring(ticker, 7, 2), '-', substring(ticker, 9, 2))) > toDate('2026-06-30')
)Al cierre del 30 de junio, el vencimiento más cercano estaba a 2 días naturales; el par at-the-money — una call más una put en el strike de $1150 — cotizó finalmente por un total de $69.95: 6.08% del precio de la acción de $1151.01. Un comprador necesitaba un movimiento de esa magnitud, en cualquier dirección, dentro de esos 2 días para alcanzar el punto de equilibrio — junio terminó con precios que aún anticipaban un movimiento extraordinario.
El flujo de noticias
El SQL exacto detrás de cada cifra
WITH
(
SELECT (JSONExtractString(any(publisher), 'name'), count())
FROM global_markets.stocks_news
WHERE has(tickers, 'MU')
AND published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 04:00:00')
GROUP BY JSONExtractString(publisher, 'name') ORDER BY count() DESC LIMIT 1
) AS top_pub
SELECT
count() AS june_articles,
uniqExact(JSONExtractString(publisher, 'name')) AS publishers,
top_pub.1 AS top_publisher,
round(100.0 * top_pub.2 / count(), 0) AS top_publisher_pct,
countIf(has(tickers, 'NVDA')) AS nvda_co_articles,
countIf(has(tickers, 'SNDK')) AS sndk_co_articles,
countIf(has(tickers, 'INTC')) AS intc_co_articles
FROM global_markets.stocks_news
WHERE has(tickers, 'MU')
AND published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 04:00:00')195 artículos con la etiqueta MU de 4 editores — léase con escepticismo, solo The Motley Fool escribió 59% de ellos. Las etiquetas conjuntas enmarcan una historia sobre semiconductores: NVDA en 86 artículos, SNDK en 32, INTC en 21. ¿De qué se trataba? Las propias etiquetas de los artículos del proveedor proporcionan el vocabulario sin adoptarlo:
El SQL exacto detrás de cada cifra
SELECT keyword, count() AS articles,
round(100.0 * count() / (SELECT count() FROM global_markets.stocks_news WHERE has(tickers, 'MU') AND published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 04:00:00')), 1) AS pct_of_articles
FROM global_markets.stocks_news
ARRAY JOIN keywords AS keyword
WHERE has(tickers, 'MU')
AND published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 04:00:00')
GROUP BY keyword
ORDER BY articles DESC, keyword ASC
LIMIT 10"AI infrastructure" lidera en el 49 de 195 artículos, con "memory chips", "DRAM" y "high-bandwidth memory" a la siguiente — un vocabulario de IA y memoria, reportado como recuento de etiquetas, no como una explicación.
Las posiciones cortas disminuyeron — y persiste un vacío de cobertura
El SQL exacto detrás de cada cifra
SELECT toString(date) AS d,
round(toFloat64(any(short_volume)) / 1e6, 2) AS short_shares_m,
round(100 * toFloat64(any(short_volume)) / toFloat64(any(total_volume)), 1) AS short_pct_of_offexchange
FROM global_markets.stocks_short_volume
WHERE ticker = 'MU' AND date >= toDate('2026-06-01') AND date <= toDate('2026-06-30')
GROUP BY date
ORDER BY dateSobre la cobertura: el archivo de volumen de posiciones cortas de MU de junio contiene solo el 16 de 21 sesiones — además del truncamiento general del mercado el 29 de junio, faltan varias filas de MU — por lo tanto, no se calcula una proporción a nivel mensual; las filas por día son reales, los vacíos han sido revelados.
El SQL exacto detrás de cada cifra
SELECT
toString(maxIf(settlement_date, settlement_date <= toDate('2026-06-20'))) AS mid_june_settlement,
round(toFloat64(maxIf(short_interest, settlement_date <= toDate('2026-06-20'))) / 1e6, 2) AS mid_june_shares_short_m,
toString(maxIf(settlement_date, settlement_date > toDate('2026-06-20'))) AS eom_settlement,
round(toFloat64(maxIf(short_interest, settlement_date > toDate('2026-06-20'))) / 1e6, 2) AS eom_shares_short_m,
round((toFloat64(maxIf(short_interest, settlement_date <= toDate('2026-06-20'))) - toFloat64(maxIf(short_interest, settlement_date > toDate('2026-06-20')))) / 1e6, 2) AS decline_m_shares,
round(toFloat64(maxIf(short_interest, settlement_date > toDate('2026-06-20'))) / toFloat64(maxIf(avg_daily_volume, settlement_date > toDate('2026-06-20'))), 2) AS eom_days_to_cover
FROM global_markets.stocks_short_interest
WHERE ticker = 'MU' AND settlement_date >= toDate('2026-06-01') AND settlement_date <= toDate('2026-06-30')El par de liquidación está completo: 41.59 millones de acciones en corto al cierre de 2026-06-15 cayeron a 31.67 millones para el 2026-06-30 — una disminución de 9.92 millones de acciones durante la segunda mitad, la mitad que incluyó la semana de resultados. La posición de fin de mes equivale a 0.53 días de volumen promedio — una cifra pequeña para este ticker. Esta página se publicó inicialmente con ese dato pendiente (el retraso es normal); la cifra anterior es su actualización.
Los fundamentos detrás de la cotización
¿Qué muestran las declaraciones de la propia empresa? Una advertencia: el flujo de datos sigue el calendario de presentaciones; la fila más reciente es anterior al 10-Q de junio, por lo que la tendencia es el dato relevante, no el extremo más reciente.
El SQL exacto detrás de cada cifra
SELECT quarter_end, revenue_bn,
round(100 * revenue_bn / max(revenue_bn) OVER (), 1) AS pct_of_peak_revenue,
net_income_bn, diluted_eps
FROM (
SELECT toString(period_end) AS quarter_end,
round(toFloat64(revenue) / 1e9, 2) AS revenue_bn,
round(toFloat64(net_income_loss_attributable_common_shareholders) / 1e9, 2) AS net_income_bn,
round(toFloat64(diluted_earnings_per_share), 2) AS diluted_eps
FROM global_markets.stocks_income_statements
WHERE has(tickers, 'MU') AND timeframe = 'quarterly'
ORDER BY period_end DESC
LIMIT 6
)
ORDER BY quarter_end ASCA lo largo de los seis trimestres registrados, los ingresos varían desde $7.75 mil millones (2024-08-29) hasta $13.64 mil millones (2025-11-27) —la fila más reciente representa el pico del periodo— con $5.24 mil millones en ingresos netos y $4.6 en EPS diluido en ese trimestre. No es una línea recta, pero el periodo termina en su punto máximo.
Qué observar de aquí en adelante
Solo hechos del calendario: el próximo liquidación de posiciones cortas ocurre a mediados de julio, con su publicación siguiendo el retraso habitual de FINRA; el trimestre con archivos de junio se convertirá en un dato fundamental una vez que el feed del proveedor se actualice; y la serie de julio recibirá este mismo tratamiento en su próxima edición.
Preguntas frecuentes
¿Por qué la acción de MU tuvo tanto movimiento en junio de 2026?
Esta página mide en lugar de explicar: MU cotizó entre $850.1 y $1255; el reporte trimestral 8-K tiene fecha de 2026-06-24, con la siguiente sesión al alza 15.8% con el mayor volumen del mes; todo el sector de memorias se movió de la misma forma durante el periodo.
¿Qué tan volátil fue MU en junio de 2026?
El mes más volátil de su semestre: 127.6% de volatilidad realizada anualizada y un rango promedio por sesión de 7.6%, frente a un retorno de extremo a extremo de apenas 14%.
¿El movimiento de MU en junio fue específico de la empresa o de todo el sector?
Fue de todo el sector, siendo MU el rezagado entre las acciones con ganancias: SNDK subió 31.3% y cada nombre de almacenamiento superó el 14% de MU, mientras que SPY y NVDA cerraron a la baja. El rasgo distintivo de MU fue la rotación: $995.7 mil millones, la mayor del basket.
¿Es alto el short interest de MU?
Pequeño en relación con su propio volumen de negociación: 31.67 millones de acciones al cierre de 2026-06-30 — aproximadamente 0.53 días de volumen promedio para cubrir, lo que representa 9.92 millones menos que a mediados de junio. El short interest siempre se publica con un retraso respecto al cierre.
¿Qué significa el put/call ratio de MU?
El ratio de 0.99 de junio significa que los puts y calls negociaron en volúmenes casi iguales — un mercado de dos vías, no una apuesta unidireccional. Un valor muy por debajo de uno indica sesgo hacia los calls (el de NVDA en junio lo tuvo), mientras que un valor muy por encima de uno indica sesgo hacia los puts.
Notas de datos
Notas completas de datos
- Entidad. MU es Micron Technology, Inc., CIK 0000723125 — una identidad EDGAR continua; sin advertencias de reutilización de símbolo.
- Cobertura de volumen de ventas en corto. El archivo de junio abarca el 16 de las sesiones de 21 (el truncamiento del 29 de junio más las ausencias específicas de MU); los ratios se muestran solo por día.
- Canasta de pares. SNDK, WDC, INTC — las etiquetas de empresas de almacenamiento más frecuentes en el flujo de noticias de MU en junio — además de NVDA y SPY como indicadores; declarados de antemano, nunca ensamblados a posteriori.
- Análisis de opciones. El vencimiento/tipo/strike se reanaliza desde el símbolo de la OCC (posiciones 5/11/12); la prima asume el multiplicador de 100 acciones.
- Método straddle. Últimos precios de negociación (no cotizaciones) en el strike más cercano al cierre final, más cercano al vencimiento después del cierre de mes — un registro de operación, no volatilidad implícita de modelo.
- Retraso de fundamentales. El flujo del estado de resultados sigue el calendario de presentaciones; su fila más reciente de MU es anterior al 10-Q de junio — solo contexto de tendencia.
- Cierre del 19 de junio verificado por el registro de marcador de cero barras de SPY.
- Paneles de spread excluyen cotizaciones cruzadas o de un solo lado, con recuentos de caídas divulgados en la fila.
- El contexto general del mercado — incluyendo este ticker en la tabla de clasificación de toda la cinta — se encuentra en el resumen de junio de 2026.
Metodología
- El periodo comprende del 1 al 30 de junio de 2026 (21 sesiones, verificadas mediante barras observadas). Los rendimientos se calculan desde la apertura hasta el cierre del horario regular; junio utiliza EDT, por lo que los límites del horario regular son de 13:30 a 20:00 UTC. Los paneles históricos cubren meses en EST y utilizan el filtro de hora del Este.
- Volatilidad realizada = desviación estándar de la muestra de los rendimientos logarítmicos de cierre a cierre en horario regular, anualizada mediante la raíz cuadrada de 252; el primer rendimiento de un mes que cruza el límite mensual se contabiliza en el mes posterior.
- Las comparaciones históricas se recalculan en tiempo real, nunca desde un valor almacenado.
- La generación se realiza únicamente por lotes mediante la ruta de lectura restringida; la página pública nunca realiza consultas en vivo. Almacenamiento actualizado al 12 de julio de 2026.
Cada panel es un objeto almacenado: gráfico, tabla, SQL. Puede realizar cualquier consulta adicional en la terminal Strasmore.