MU: Micron handelsvolume juni 2026
Micron in juni 2026: 995.7 billion dollars aan turnover tijdens reguliere uren, de first-gerangschikte tape in de markt met een repricing van 14 percent.
Micron onderging in de eerste helft van 2026 een hevige herwaardering. In juni stabiliseerde de koers, terwijl het handelsvolume hoog bleef. MU sloot de maand juni op $1151.01, een stijging van 14%. Dit was de rustigste maand sinds februari, na een 89.8% mei. Met een omzet van $995.7 miljard tijdens de reguliere handelsuren stond het aandeel op plek first van de gehele Amerikaanse markt, waarmee het SPY voorbijging. Op dagbasis was dit ook de meest volatiele maand van de helft (127.6% op jaarbasis): de rust is een illusie. Hieronder volgen de resultaten van juni — handelsvolume, filings tijdens de winstweek, volatiliteit, peers, spread, opties, shorts en het verloop over zes maanden. Elk getal is afkomstig uit een database; klik op een paneel voor de bijbehorende SQL.
De maand in één overzicht
De exacte SQL achter elk getal
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')De range binnen de maand was enorm voor een aandeel van deze omvang: een low van $850.1 (2026-06-05 16:34 ET) tot een high van $1255 (2026-06-25 09:35 ET) — breder dan het volledige jaar van de meeste aandelen. Op 19 juni was er een marktomsluiting (0 SPY bars), waardoor de maand uit 21 sessies bestond.
Juni versus de zesmaandelijkse trend
Is +14% groot? Voor deze ticker was dit het rustige deel van het halfjaar. Het panel berekent elke maand identiek en live.
De exacte SQL achter elk getal
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_startDe trend: 40.5% in januari, een vlakke 0% in februari, een -15.9% in maart die de laagste slotkoers van het halfjaar markeerde ($337.62), gevolgd door 48.4% in april en 89.8% in mei — $414.73 tot $1151.01 in zes maanden. De turnover steeg mee: van $235.8 miljard in januari naar $995.7 miljard in juni. De prijsbeweging in juni was de kleinste sinds februari; het volume in juni was het hoogste in de betreffende periode.
De koers stabiliseerde. De volatiliteit niet.
Is een +14% maand rustig? De realized volatility — de dagelijkse koersbewegingen, op jaarbasis — laat voor juni een heel ander beeld zien.
De exacte SQL achter elk getal
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_startJuni was volgens deze maatstaf de meest volatiele maand van het halve jaar: 127.6% annualized, zelfs hoger dan de 101.4% van mei, met een gemiddelde session range van 7.6% en een close-over-close beweging van 15.8%. De eindpunten waren rustig; de dagen daartussen niet.
Sessie voor sessie
De exacte SQL achter elk getal
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_dateDe tabel vertoont grote schommelingen — van $1034.83 op 2026-06-01 tijdens de volatiliteit tot $1151.01 in de laatste sessie. Dit is wat "+14% op de maand" verbergt: alleen de begin- en eindpunten waren stabiel. De grootste bewegingen vinden plaats tijdens de week van de earnings — deze volgen hierna.
Kwamen de schommelingen overeen met een gerapporteerd kwartaal?
De data zijn te dateren — het papierwerk van MU uit juni uit de index van de SEC, naast de koersbewegingen op die data.
De exacte SQL achter elk getal
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
)De kwartaalrapportage (8-K) van MU is gedateerd op 2026-06-24, de 10-Q staat 1 dagen later (8 juni filings, 3 insider Form 4s). De handelssessie na de datum van de 8-K sloot 15.8% hoger op 77.2 miljoen shares — de hoogste in die maand, 5.9 miljoen meer dan de volgende piek — en de maandelijkse high van $1255 werd in diezelfde sessie genoteerd (2026-06-25 09:35 ET; de agreement column bevestigt de match). De observatie is de overeenkomst; deze pagina beperkt zich hiertoe.
Een Micron-verhaal, of een geheugenverhaal?
Is de rest van de geheugen- en opslagsector ook verschoven? De mand is vastgesteld en gedefinieerd: de drie opslagnamen die in juni het meest gecorreleerd waren met MU, plus NVDA en SPY als benchmark.
De exacte SQL achter elk getal
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 DESCHet was een verschuiving in de geheugensector — en MU bleef achter. SNDK steeg met 31.3%, INTC 27.5%, WDC 19.1% — elke opslagnaam versloeg MU met 5.1 tot 17.3 basis points — terwijl SPY en NVDA de maand juni lager afsluiten. Het onderscheidende kenmerk van MU: de turnover is hoger dan bij alle andere namen in deze lijst.
De grootste ticker op de tape
De exacte SQL achter elk getal
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 10De exacte SQL achter elk getal
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 stond op plek first van alle in de VS genoteerde symbolen wat betreft de dollar volume tijdens de reguliere handelsuren in juni — $995.7 miljard, waarbij $224.3 miljard werd overtroffen door SPY op de tweede plaats. Het is een zeldzame tape-structuur wanneer één enkel bedrijf gedurende een maand meer handelt dan het belangrijkste indexfonds; de secties over de winstweek en sectorgenoten hierboven bieden de nodige context. Basis: 1–30 juni tijdens reguliere handelsuren, waarbij één hergebruikte listing is uitgesloten in afwachting van verificatie van de entiteit (deze cijfers). Het marktbrede overzicht vindt u in de juni recap.
De samenstelling van de tape
De exacte SQL achter elk getal
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 miljoen prints met een mediaan van 8 aandelen — en 91.7% odd lots, een van de meest door retail versnipperde tapes die we hebben gemeten (de juni-periode van NVDA was materieel lager; onze diepgaande analyse bevat het dubbele paneel). Bij een aandelenkoers met vier cijfers is een "round lot" een aanzienlijk bedrag, waardoor kleine prints door de aard van de markt domineren; fractional prints (9.04%) wijzen in dezelfde richting. De quote half: 19.64 miljoen NBBO updates, 99.86% clean two-sided, 16963 crossed, 78 one-sided of leeg — openbaar gemaakt, niet weggelaten.
De spread tijdens een repricing
Een aandeel dat in een kwartaal bijna verdrievoudelt, stelt de vraag over de spread anders: werd er nog steeds nauw gequoteerd terwijl de prijs een nieuw niveau vond?
De exacte SQL achter elk getal
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 sessionIn basis points bleef de spread gedurende de gehele beweging op institutioneel niveau: 3.96 bps op 2026-06-01, 4.19 bps in de laatste sessie — de kolom met centen volgt ruwweg het prijsniveau zelf. Zie de uitleg over de spread voor de werking.
Opties: een two-way book
De exacte SQL achter elk getal
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 miljoen contracten verspreid over 11789 verschillende contracten, met een premium van $77.13 miljard — en het book was two-way: een maandelijkse put/call ratio van 0.99, wat nagenoeg parity is (de juni-serie van NVDA was call-heavy; vergelijk). Nagenoeg parity tijdens een hevige repricing duidt op een verdeeld optiemarkt aan beide zijden van de beweging — de data tonen de verdeling aan, niet de intentie.
De exacte SQL achter elk getal
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))De strike map beslaat een bereik dat in januari absurd zou zijn geweest — aanzienlijk volume van de $0 bucket tot aan het $1500+ plafond, een voetafdruk van de beweging van de underlying. Wat kostte het om die beweging te bezitten? De prijzen van de laatste sessie van de maand bepalen dit:
De exacte SQL achter elk getal
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')
)Op het moment van de sluiting op 30 juni lag de eerstvolgende expiry 2 kalenderdagen in de toekomst; het at-the-money paar — een call plus een put op de $1150 strike — handelde voor het laatst voor een gecombineerd bedrag van $69.95: 6.08% van de $1151.01 koers. Een koper had een beweging van die omvang nodig, in welke richting dan ook, binnen die 2 dagen om break-even te draaien — juni eindigde met een prijsstelling die nog steeds uitging van een buitengewone beweging.
De nieuwsstroom
De exacte SQL achter elk getal
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 MU-getagde artikelen van 4 uitgevers — lees deze met scepsis, The Motley Fool schreef alleen al 59% van deze artikelen. Co-tags vormen een verhaal over halfgeleiders: NVDA in 86 artikelen, SNDK in 32, INTC in 21. Waar ging het over? De eigen artikeltags van de leverancier geven de terminologie weer zonder deze over te nemen:
De exacte SQL achter elk getal
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" voert de lijst aan in 49 van 195 artikelen, gevolgd door "memory chips", "DRAM" en "high-bandwidth memory" — een AI-geheugenvocabulaire, gerapporteerd als tag-aantallen in plaats van als uitleg.
De shorts namen af — en een coverage hole blijft bestaan
De exacte SQL achter elk getal
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 dateEerst de coverage: het short-volume bestand van MU voor juni bevat slechts 16 van 21 sessions — naast de marktbrede afkapdatum van 29 juni ontbreken verschillende MU-rijen volledig — daarom wordt er geen ratio op maandniveau berekend; de dagelijkse rijen zijn correct, de hiaten zijn openbaar gemaakt.
De exacte SQL achter elk getal
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')Het settlement-paar is volledig: 41.59 miljoen aandelen short bij de 2026-06-15 settlement daalde naar 31.67 miljoen tegen 2026-06-30 — een daling van 9.92 miljoen aandelen in de tweede helft, de helft die de earnings week omvatte. De eindstand van de maand is gelijk aan 0.53 dagen van de gemiddelde volume — klein voor deze tape. Deze pagina werd oorspronkelijk met die print in afwachting verzonden (de vertraging is normaal); het bovenstaande getal is de definitieve waarde.
De fundamenten achter de koers
Wat laten de eigen verklaringen van het bedrijf zien? Eén kanttekening: de gegevens volgen de indieningskalender — de nieuwste rij gaat vooraf aan de June 10-Q, dus de trend is de indicator, niet de actuele stand.
De exacte SQL achter elk getal
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 ASCOver de zes ingediende kwartalen varieert de omzet van $7.75 miljard (2024-08-29) tot $13.64 miljard (2025-11-27) — de nieuwste rij is het hoogtepunt in deze periode — met $5.24 miljard aan net income en $4.6 diluted EPS in dat kwartaal. Het verloop is niet lineair, maar de periode eindigt op het hoogste punt.
Waar u op moet letten
Alleen feiten uit de kalender: de volgende settlement van short-interest vindt plaats medio juli, met publicatie volgens de gebruikelijke vertraging van FINRA; het kwartaal met filings van juni wordt een reeks fundamentele gegevens zodra de vendor feed dit verwerkt; en de juli tape krijgt deze behandeling in de volgende editie van deze serie.
FAQ
Waarom bewoog het MU-aandeel zo sterk in juni 2026?
Deze pagina meet de bewegingen in plaats van deze te verklaren: MU handelde tussen $850.1 en $1255; de kwartaalrapportage 8-K dateert van 2026-06-24, met de volgende sessie omhoog op 15.8% bij het hoogste handelsvolume van de maand; de gehele geheugen-basket bewoog gedurende deze periode in dezelfde richting.
Hoe volatiel was MU in juni 2026?
De meest volatiele maand van het betreffende halfjaar: 127.6% annualized realized volatility en een gemiddelde session range van 7.6%, tegenover een endpoint-to-endpoint return van slechts 14%.
Was de beweging van MU in juni bedrijfsspecifiek of sectorbreed?
Sectorbreed, waarbij MU de achterblijver was onder de stijgers: SNDK steeg met 31.3% en elke storage-naam presteerde beter dan de 14% van MU, terwijl SPY en NVDA lager sloten. Het onderscheidende kenmerk van MU was de turnover: $995.7 miljard, de hoogste van de basket.
Is de short interest van MU hoog?
Klein in verhouding tot de eigen handel: 31.67 miljoen aandelen bij de 2026-06-30 settlement — ongeveer 0.53 dagen aan gemiddelde volume om te coveren, een daling van 9.92 miljoen ten opzichte van medio juni. Short interest wordt altijd met vertraging gepubliceerd op basis van de settlement.
Wat betekent de put/call ratio van MU?
De ratio van 0.99 in juni betekent dat puts en calls in bijna gelijke volumes werden verhandeld — een two-way market, geen eenzijdige weddenschap. Een waarde ruim onder de één duidt op een call-tilted markt (NVDA deed dit in juni), een waarde ruim boven de één duidt op een put-tilted markt.
Datanotities
Volledige datanotities
- Entiteit. MU is Micron Technology, Inc., CIK 0000723125 — één doorlopende EDGAR-identiteit; geen beperkingen door symboolhergebruik.
- Short-volume dekking. Het bestand van juni beslaat 16 van de 21 sessies (de afkorting van 29 juni plus MU-specifieke afwezigheden); ratio's worden alleen per dag weergegeven.
- Peer basket. SNDK, WDC, INTC — de meest voorkomende storage co-tags in de nieuwsstroom van MU in juni — plus NVDA en SPY als benchmark; vooraf vastgesteld, nooit achteraf samengesteld.
- Options parsing. Expiratie/type/strike opnieuw geparsed op basis van het OCC-symbool (posities 5/11/12); de premium gaat uit van de multiplier van 100 aandelen.
- Straddle-methode. Laatste TRADED prijzen (geen quotes) op de strike die het dichtst bij de laatste slotkoers ligt, dichtst bij de expiratie na de maandafsluiting — een transactiegegevens, geen model-implied volatility.
- Fundamentele vertraging. De feed van de resultatenrekening loopt achter op de indieneringskalender; de nieuwste MU-rij is ouder dan de 10-Q van 10 juni — uitsluitend voor trendcontext.
- Sluiting van 19 juni geverifieerd door de zero-SPY-bars scoreboard receipt.
- Spread panels sluiten gekruiste/eenzijdige quotes uit, waarbij het aantal uitvallende gegevens in de rij wordt vermeld.
- Marktomvattende context — inclusief deze ticker bovenaan de whole-tape leaderboard — is opgenomen in de juni 2026 recap.
Methodologie
- De periode betreft 1–30 juni 2026 (21 sessies, geverifieerd op basis van geobserveerde bars). De returns worden berekend van de opening tot de sluiting tijdens de reguliere handelsuren; juni volgt volledig de EDT-tijdzone, waardoor de reguliere uren als ruwe grenzen 13:30–20:00 UTC zijn. De trailing panels beslaan maanden in EST en maken gebruik van de Eastern-clock filter.
- Realized volatility = de steekproefstandaarddeviatie van de dagelijkse log returns van de sluitingskoersen (reguliere handelsuren), jaarlijks gemaakt door de wortel van 252 te nemen; de eerste return van een maand die de maandgrens overschrijdt, wordt meegeteld in de volgende maand.
- Trailing vergelijkingen worden live opnieuw berekend en nooit op basis van een opgeslagen waarde.
- Generatie vindt uitsluitend plaats via batch-verwerking via het gated read-only pad; de publieke pagina voert nooit live queries uit. Warehouse-status per 12 juli 2026.
Elk paneel is één opgeslagen object — chart, tabel, SQL. Voer elke query verder uit via de Strasmore terminal.