Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-24

MU: Obroty Micron w czerwcu 2026

Micron w czerwcu 2026 wygenerował 995.7 billion USD obrotów, zajmując first miejsce w rankingu, podczas gdy zmienność spadła do poziomu 14 procent.

W pierwszej połowie 2026 roku akcje Micron podlegały gwałtownym korektom wyceny. W czerwcu cena akcji ustabilizowała się, mimo utrzymującej się dużej aktywności na rynku. MU zamknęło czerwiec na poziomie $1151.01, co stanowi wzrost o 14%. Był to najspokojniejszy miesiąc od lutego, po bardzo zmiennym 89.8% w maju. Obroty w regularnym czasie sesyjnym wyniosły $995.7 billion, co zajęło spółce first miejsce w całym amerykańskim zestawieniu, wyprzedzając indeks SPY. W ujęciu dziennym był to również najbardziej zmienny miesiąc w półroczu (127.6% w skali roku): pozorny spokój jest złudny. Poniżej przedstawiono zestawienie za czerwiec — obroty, raporty z tygodnia wyników, zmienność, spółki pokrewne, spread, opcje, krótkie pozycje oraz trend półroczny. Każda liczba pochodzi z zapytania bazowego; można rozwinąć dowolny panel, aby zobaczyć kod SQL.

Miesiąc w jednej linii

ZapytanieCzerwiec MU w jednym wierszu: open, close, ekstremum, obrót i przychody
Dokładny kod SQL dla każdej liczby
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')

Zakres wewnątrz miesiąca był ogromny jak na podmiot tej wielkości: minimum na poziomie $850.1 (2026-06-05 16:34 ET) do maksimum $1255 (2026-06-25 09:35 ET) — szerzej niż roczne wahania większości akcji. 19 czerwca nastąpiło zamknięcie rynku (0 słupki SPY), zatem miesiąc liczył 21 sesji.

Czerwiec na tle półrocznej krzywej

Czy +14% jest znaczące? W przypadku tego tickera, w tym półroczu, był to okres stabilizacji. Panel przelicza dane co miesiąc w sposób identyczny i w czasie rzeczywistym.

ZapytanieMU miesiąc po miesiącu, przeliczane na żywo: return, close i obrót w godzinach sesyjnych
Dokładny kod SQL dla każdej liczby
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_start

Krzywa: 40.5% w styczniu, płaskie 0% w lutym, -15.9% w marcu wyznaczające najniższe zamknięcie w półroczu ($337.62), następnie 48.4% w kwietniu i 89.8% w maju — od $414.73 do $1151.01 w ciągu sześciu miesięcy. Obroty rosły wraz z nią: od $235.8 miliarda w styczniu do $995.7 miliarda w czerwcu. Ruch ceny w czerwcu był najmniejszy od lutego; wolumen obrotów w czerwcu był największy w całym badanym okresie.

Cena spadła. Zmienność nie.

Czy 14% miesiąc jest spokojny? Zrealizowana zmienność — czyli zannualizowana wartość codziennych ruchów cenowych — wskazuje na zupełnie inny obraz czerwca.

ZapytanieMU według miesięcy: zannualizowana zmienność zrealizowana, średni zakres sesji, największa jednodniowa zmiana
Dokładny kod SQL dla każdej liczby
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_start

Czerwiec był najbardziej zmiennym miesiącem w półroczu według tego wskaźnika: 127.6% w skali roku, powyżej nawet majowego poziomu 101.4%, przy średnim dziennym zakresie sesji wynoszącym 7.6% oraz jednym ruchu zamknięcia względem poprzedniego dnia na poziomie 15.8%. Punkty końcowe były stabilne; dni pomiędzy nimi nie były.

Sesja po sesji

Zapytanie21 sesji: close, zmiana close-over-close, wolumen całodniowy
Dokładny kod SQL dla każdej liczby
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_date

Wartości w tabeli wykazują dużą zmienność — od $1034.83 na 2026-06-01 podczas okresu turbulencji do $1151.01 w ostatniej sesji. Tak podana wartość "+14% w miesiącu" nie oddaje pełnego obrazu: tylko punkty końcowe były stabilne. Największe wahania występują w tygodniu wyników finansowych — szczegóły w kolejnej sekcji.

Czy wahania cen pokrywały się z raportowanym kwartałem?

Można je datować na podstawie dokumentacji MU z czerwca, pochodzącej z indeksu SEC, zestawionej z działaniami na rynku w tych dniach.

ZapytanieCzerwcowe raporty SEC MU i sesja po kwartalnym 8-K
Dokładny kod SQL dla każdej liczby
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
)

Kwartalny raport 8-K spółki MU pochodzi z dnia 2026-06-24, natomiast raport 10-Q z dnia 1, czyli dzień później (dokumenty z czerwca z 8, formularze Form 4 od insiderów z 3). Sesja po dacie publikacji 8-K zakończyła się wzrostem o 15.8% przy obrocie wynoszącym 77.2 milionów akcji — był to największy obrót w miesiącu, przewyższający kolejny rekord o 5.9 milionów — a miesięczne maksimum na poziomie $1255 zostało odnotowane właśnie tej sesji (2026-06-25 09:35 ET; kolumna umów potwierdza zgodność). Analiza ogranicza się do stwierdzenia tej korelacji.

Historia Micron czy historia pamięci?

Czy pozostałe podmioty z sektora pamięci i pamięci masowej również odnotowały wzrosty? Wybrane zestawienie jest ustalone: trzy spółki z sektora pamięci masowej, które w czerwcu najczęściej pojawiały się w zestawieniach obok MU, wraz z NVDA i SPY jako punktami odniesienia.

ZapytanieCzerwiec zestawienie: koszyk memory/storage, NVDA i SPY
Dokładny kod SQL dla każdej liczby
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 DESC

Był to ruch w sektorze pamięci — a MU odstawało od reszty. SNDK wzrosło o 31.3%, INTC, 27.5%, WDC 19.1% — każda spółka z sektora pamięci masowej wyprzedziła MU o 5.1 do 17.3 punktów — podczas gdy SPY i NVDA zamknęły czerwiec na niższym poziomie. Charakterystyczną cechą MU jest fakt, że jego obrót przewyższa wszystkie pozostałe pozycje w zestawieniu.

Największy ticker na wykresie

ZapytanieCały rynek USA według wolumenu USD w godzinach sesyjnych (czerwiec 2026; wyłączono jeden symbol w trakcie weryfikacji)
Dokładny kod SQL dla każdej liczby
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 10
ZapytanieZestawienie rankingowe: pozycja MU, przewaga nad kolejnym podmiotem i podstawa
Dokładny kod SQL dla każdej liczby
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 zajął first miejsce wśród wszystkich symboli notowanych w USA pod względem wolumenu obrotu w USD podczas sesji regulowanych w czerwcu — $995.7 miliarda, przy czym $224.3 miliarda przewyższa SPY zajmujące drugie miejsce. Sytuacja, w której jedna spółka osiąga większy obrót niż główny fundusz indeksowy w ciągu miesiąca, jest rzadka; powyższe sekcje dotyczące tygodnia wyników oraz spółek pokrewnych stanowią kontekst dla tych danych. Podstawa: 1–30 czerwca, godziny regulowane, wykluczono jeden symbol z powtarzalnym listingiem do czasu weryfikacji podmiotu (jego raporty). Ogólny widok rynkowy znajduje się w podsumowaniu za czerwiec.

Skład rejestru transakcji

ZapytanieCały obrót MU w jednym wierszu: transakcje, wielkość transakcji i zestawienie ofert
Dokładny kod SQL dla każdej liczby
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 milionów transakcji przy medianie 8 akcji — oraz 91.7% niepełnych pakietów, co stanowi jeden z najbardziej rozdrobnionych rejestrów, jakie zmierzyliśmy (czerwcowe dane dla NVDA były znacząco niższe; szczegółowa analiza zawiera zestawienie w dwóch panelach). Przy czterocyfrowej cenie akcji "pełny pakiet" oznacza bardzo wysokie kwoty, dlatego małe transakcje dominują z natury; transakcje ułamkowe (9.04%) wskazują na ten sam trend. Statystyki ofert: 19.64 milion aktualizacji NBBO, 99.86% czystych ofert dwustronnych, 16963 ofert krzyżowych, 78 ofert jednostronnych lub pustych — dane są ujawnione, a nie pominięte.

Spread podczas zmiany wyceny

W przypadku akcji, których cena wzrosła prawie trzykrotnie w ciągu kwartału, kwestia spreadu nabiera innego znaczenia: czy oferta pozostawała wąska w trakcie ustalania nowego poziomu cenowego?

ZapytanieSpread według sesji: mediana w godzinach sesyjnych w centach i punktach bazowych
Dokładny kod SQL dla każdej liczby
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 session

W punktach bazowych spread przez cały okres wzrostów utrzymywał się na poziomie instytucjonalnym: 3.96 bps na 2026-06-01, 4.19 bps na ostatniej sesji — wartość w centach w przybliżeniu odpowiada poziomowi ceny. Mechanizm ten wyjaśnia wyjaśnienie dotyczące spreadu.

Opcje: dwustronny arkusz zleceń

ZapytanieRynek opcji MU w jednym wierszu: sumy, terminy wygaśnięcia, podział put/call
Dokładny kod SQL dla każdej liczby
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 milionów kontraktów w ramach 11789 różnych kontraktów, przy premii wynoszącej 77.13 miliarda USD — arkusz był dwustronny: miesięczny wskaźnik put/call wynosił 0.99, co oznacza w zasadzie parytet (w czerwcu dla NVDA przeważały opcje call; porównaj). Poziom bliski parytetu podczas gwałtownej wyceny oznacza podział rynku opcji po obu stronach ruchu — dane pokazują podział, a nie intencje.

ZapytanieRozkład kontraktów: wolumen call i put według przedziałów strike
Dokładny kod SQL dla każdej liczby
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))

Mapa cen wykonania obejmuje zakres, który w styczniu byłby absurdalny — realny wolumen od przedziału $0 aż po sufit $1500+; jest to ślad wskazujący na skalę ruchu instrumentu bazowego. Ile kosztowało zajęcie pozycji na ten ruch? Ostatnia sesja miesiąca wyznaczyła cenę:

ZapytanieCena ruchu na koniec miesiąca: ostatni straddle at-the-money czerwca
Dokładny kod SQL dla każdej liczby
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')
)

W momencie zamknięcia sesji 30 czerwca najbliższy termin wygaśnięcia przypadał za 2 dni kalendarzowych; para opcji at-the-money — call oraz put przy cenie wykonania 1150 USD — została ostatnio obrócona za łączną kwotę 69.95 USD: stanowi to 6.08% ceny akcji wynoszącej 1151.01 USD. Kupujący potrzebowałby ruchu o takiej skali, w dowolnym kierunku, w ciągu tych 2 dni, aby osiągnąć próg rentowności — czerwiec zakończył się wyceną zakładającą nadzwyczajną zmienność.

Przepływ informacji

ZapytanieArtykuły z tagiem MU za czerwiec: wolumen, udział głównego wydawcy, współtagi
Dokładny kod SQL dla każdej liczby
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 artykułów oznaczonych tagiem MU od wydawców 4 — należy podchodzić do nich sceptycznie, sam The Motley Fool napisał 59% z nich. Wspólne tagi tworzą narrację wokół sektora półprzewodników: NVDA w 86 artykułach, SNDK w 32, INTC w 21. O czym one dotyczyły? Tagi używane przez dostawców dostarczają słownictwa, ale nie stanowią jego wyjaśnienia:

ZapytanieTematyka publikacji o MU w czerwcu: liczba tagów dostawcy
Dokładny kod SQL dla każdej liczby
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" dominuje w 49 z 195 artykułów, za nim plasują się "memory chips", "DRAM" oraz "high-bandwidth memory" — jest to słownictwo związane z AI-memory, podane w formie liczby tagów, a nie wyjaśnienia.

Skrócenia spadły — a luka w pokryciu pozostaje

ZapytaniePozagiełdowy short volume FINRA: pokrycie MU w czerwcu i udział marked-short
Dokładny kod SQL dla każdej liczby
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 date

Najpierw dane o pokryciu: czerwcowy raport krótkich pozycji dla MU obejmuje tylko 16 z 21 sesji — poza ogólnorynkowym ograniczeniem z dnia 29 czerwca, kilka wierszy dla MU jest po prostu nieobecnych — w związku z tym nie obliczono wskaźnika miesięcznego; dane dzienne są poprawne, luki zostały ujawnione.

ZapytanieCzerwcowe zestawienie: short interest w połowie i na koniec miesiąca
Dokładny kod SQL dla każdej liczby
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')

Para rozliczeniowa jest kompletna: 41.59 milionów akcji sprzedanych krótko przy rozliczeniu 2026-06-15 spadło do 31.67 milionów do dnia 2026-06-30 — co stanowi spadek o 9.92 milionów akcji w drugiej połowie miesiąca, czyli w okresie obejmującym tydzień wyników. Pozycja na koniec miesiąca odpowiada 0.53 dniom średniego wolumenu — jest to niska wartość dla tego instrumentu. Strona została pierwotnie opublikowana z tymi danymi w oczekiwaniu na aktualizację (opóźnienie jest normalne); powyższa liczba to jej ostateczna wartość.

Fundamenty pod wykresami

Co wskazują oficjalne dane spółki? Należy uwzględnić jedną kwestię: dane w zestawieniu nie nadążają za kalendarzem publikacji raportów — najnowszy wpis poprzedza raport 10-Q z czerwca, zatem trend stanowi dowód, a nie bieżący stan.

ZapytanieOstatnie sześć raportowanych kwartałów MU: revenue, net income, diluted EPS
Dokładny kod SQL dla każdej liczby
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 ASC

W ciągu sześciu kwartałów ujętych w zestawieniu przychody wynoszą od $7.75 mld (2024-08-29) do $13.64 mld (2025-11-27) — najnowszy wpis stanowi szczyt w badanym okresie — przy zysku netto na poziomie $5.24 mld oraz rozwiniętym EPS wynoszącym $4.6 w tym kwartale. Wzrost nie przebiegał liniowo, jednak okres badany kończy się na najwyższym poziomie.

Kluczowe czynniki do obserwacji

Wyłącznie fakty kalendarzowe: kolejny termin rozliczenia krótkich pozycji przypada na połowę lipca, a dane zostaną opublikowane z typowym opóźnieniem przez FINRA; kwartał z danymi z czerwca stanie się przedmiotem analizy fundamentalnej, gdy dane od dostawcy zostaną zaktualizowane; dane za lipiec zostaną uwzględnione w kolejnym wydaniu serii.

FAQ

Dlaczego kurs akcji MU uległ tak dużej zmienności w czerwcu 2026?

Ta strona służy do pomiaru danych, a nie do wyjaśniania przyczyn: MU handlował w przedziale od $850.1 do $1255; kwartalny raport 8-K pochodzi z dnia 2026-06-24, a kolejna sesja wzrosła o 15.8% przy największym wolumenie w miesiącu; cały koszyk spółek pamięciowych wykazywał podobny trend w tym okresie.

Jak duża zmienność występowała w przypadku MU w czerwcu 2026?

Najbardziej zmienny miesiąc w tym półroczu: zannualizowana zrealizowana zmienność wyniosła 127.6%, a średni zakres sesyjny wyniósł 7.6%, przy stopie zwrotu od początku do końca okresu wynoszącej zaledwie 14%.

Czy czerwcowe ruchy MU wynikały ze specyfiki spółki, czy z trendów sektorowych?

Trend sektorowy, przy czym MU był najsłabszym z zyskujących podmiotów: SNDK wzrosło o 31.3%, a każda spółka z sektora pamięci przewyższyła wynik MU wynoszący 14%, podczas gdy SPY i NVDA zamknęły się na niższych poziomach. Wyjątkowość MU polegała na obrocie: 995.7 miliarda USD, co stanowiło najwyższy wynik w koszyku.

Czy short interest dla MU jest wysoki?

Niski w stosunku do własnego obrotu: 31.67 milionów akcji przy rozliczeniu 2026-06-30 — około 0.53 dni średniego wolumenu do pokrycia, czyli o 9.92 milionów mniej niż w połowie czerwca. Short interest jest zawsze publikowany z opóźnieniem względem dnia rozliczenia.

Co oznacza wskaźnik put/call dla MU?

Czerwcowy wskaźnik na poziomie 0.99 oznacza, że opcje typu put i call handlowano w niemal równych wolumenach — jest to rynek dwukierunkowy, a nie jednostronny zakład. Wartość znacznie poniżej jeden oznacza przewagę opcji call (czerwcowy wynik NVDA), natomiast wartość znacznie powyżej jeden oznacza przewagę opcji put.

Uwagi do danych

Pełne uwagi do danych
  • Podmiot. MU to Micron Technology, Inc., CIK 0000723125 — jedna ciągła tożsamość EDGAR; brak zastrzeżeń dotyczących powtarzalności symbolu.
  • Zakres wolumenu krótkich pozycji. Plik z czerwca obejmuje 16 sesji 21 (skrócona data 29 czerwca oraz braki specyficzne dla MU); wskaźniki podano wyłącznie w ujęciu dziennym.
  • Koszyk spółek porównawczych. SNDK, WDC, INTC — najczęstsze tagi spółek sektora pamięci w przepływie informacji o MU w czerwcu — oraz NVDA i SPY jako punkty odniesienia; zdefiniowane przed analizą, a nie dobierane po fakcie.
  • Analiza opcji. Termin wygaśnięcia/typ/cena wykonania zostały ponownie przeanalizowane na podstawie symbolu OCC (pozycje 5/11/12); premia zakłada mnożnik 100 akcji.
  • Metoda straddle. Ostatnie ceny TRADED (a nie oferty), dla ceny wykonania najbliższej końcowej cenie zamknięcia, najbliższej terminowi wygaśnięcia po końcu miesiąca — dane transakcyjne, a nie zmienność implikowana przez model.
  • Opóźnienie danych fundamentalnych. Dane z rachunku zysków i strat wyprzedzają kalendarz składania dokumentów; najnowszy wiersz dla MU poprzedza raport 10-Q z 10 czerwca — dane służą wyłącznie do określenia trendu.
  • Zamknięcie 19 czerwca zweryfikowane przez zestawienie zero-SPY-bars.
  • Panele spreadu wykluczają oferty krzyżowe i jednostronne; liczba pominiętych ofert jest podana w wierszu.
  • Szerszy kontekst rynkowy — uwzględniający ten ticker na szczycie rankingu całego rynku — znajduje się w podsumowaniu za czerwiec 2026.

Metodologia

  • Okres obejmuje 1–30 czerwca 2026 (21 sesji, zweryfikowane na podstawie zaobserwowanych słupków). Stopy zwrotu są liczone od otwarcia do zamknięcia w ramach sesji regulowanych; czerwiec odbywa się w całości według czasu EDT, zatem godziny regulowane mieszczą się w przedziale 13:30–20:00 UTC. Panele historyczne obejmują miesiące według czasu EST i wykorzystują filtr czasu wschodniego.
  • Zrealizowana zmienność = odchylenie standardowe logarytmicznych stóp zwrotu dzień do dnia (zamknięcia w godzinach regulowanych), zannualizowane przez pierwiastek kwadratowy z 252; pierwsza stopa zwrotu danego miesiąca przekraczająca granicę miesiąca jest zaliczana do miesiąca późniejszego.
  • Porównania historyczne są przeliczane na bieżąco, a nie na podstawie zapisanych wartości.
  • Generowanie danych odbywa się wyłącznie w trybie wsadowym przez ograniczoną ścieżkę tylko do odczytu; strona publiczna nigdy nie odpytuje danych na żywo. Stan magazynu danych na dzień 12 lipca 2026.

Każdy panel to jeden zapisany obiekt — wykres, tabela, SQL. W celu przeprowadzenia dalszych zapytań należy skorzystać z terminala Strasmore.