2026년 6월 30일 시장 요약
기술주 주도의 지수 상승과 메모리 섹터 강세를 포함한 분기 마지막 거래일의 주요 수치를 확인하십시오.
2026년 6월 30일 화요일 — 해당 분기의 마지막 거래일 — 은 대부분의 시장 지수가 하락했음에도 불구하고 기술주 주도로 상승한 날이었다. QQQ는 1.63% 상승했고 SPY는 0.73% 상승했으나, 10 S&P sector(섹터) 펀드 중 상승 마감한 펀드는 4에 불과했다 (3,349 유동성 종목 상승, 3,033 하락). 이전 거래일 정보는 6월 29일 요약을 참조하십시오. 아래의 모든 수치는 저장된 쿼리에서 읽어온 것입니다. 각 패널을 확장하면 SQL 코드를 확인할 수 있습니다.
점수판
모든 변동 사항은 6월 30일 정규 거래 세션의 마지막 분 단위 바(bar)를 6월 29일 월요일과 비교한 결과입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH prior AS (
SELECT ticker, argMax(close, window_start) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
),
sess AS (
SELECT ticker,
argMin(open, window_start) AS day_open,
argMax(close, window_start) AS day_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerSPY는 $741.29로 시작하여 $748.02 고점에 근접한 $746.32로 마감했습니다. DIA의 0.12% 대비 QQQ의 1.63%가 이날의 흐름을 보여줍니다. 성장주가 상승한 반면, 우량주(blue chips)는 거의 움직이지 않았으며, IWM은 0.49%를 기록했습니다.
해당 분기의 마감 상황
6월 30일은 2분기의 마지막 62 세션이 종료된 날이며, 이날의 시장 흐름은 이번 분기의 축소판과 같았습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH q2 AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS d_open,
argMax(toFloat64(close), window_start) AS d_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= toDateTime('2026-04-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
GROUP BY ticker, d
)
SELECT
ticker,
toString(min(d)) AS quarter_first_session,
count() AS quarter_sessions,
round(argMin(d_open, d), 2) AS quarter_open,
round(argMax(d_close, d), 2) AS quarter_close,
round((argMax(d_close, d) / argMin(d_open, d) - 1) * 100, 2) AS quarter_pct,
countIf(d_close > d_open) AS up_sessions
FROM q2
GROUP BY ticker
ORDER BY quarter_pct DESC, ticker ASC4월 1일 시가부터 6월 30일 종가까지: QQQ +26.53%, IWM 20.21%, SPY 14.13%, DIA 12.08%. QQQ는 분기 전체와 6월 30일 당일 모두 상승하며 상위권을 기록했습니다. 다만 중간 지표들은 순위가 바뀌었습니다. 당일에는 SPY가 IWM를 근소하게 앞섰으나, 분기 전체로는 IWM가 SPY보다 높은 수익률을 기록했습니다. QQQ는 전체 62 세션 중 38 동안 상승하며 마감했습니다 (2분기 요약에서 패널별 상세 내용을 확인할 수 있습니다).
시장 상황이 이례적이었습니까?
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT round(anyIf(oc_pct, d = toDate('2026-06-30')), 2) AS day_move_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-06-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-06-30'))) + 1 AS abs_move_rank,
count() AS sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)장중 시가 대비 종가 변동폭을 나타내는 SPY(S&P 500 ETF)는 0.68% 움직였습니다. 이는 종가 대비 종가 변동을 나타내는 지표와는 다른 관점입니다. 해당 변동폭은 절대값 기준으로 지난 21 거래일 중 7 순위에 해당합니다. 지수는 안정적이었으나, 세부 종목들의 거래 양상은 불안정했습니다.
시장 폭: 제한적인 상승세
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
GROUP BY ticker
)
SELECT
countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
countIf(ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')) AS sector_funds_counted,
countIf(ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND day_close > prior_close) AS sector_funds_up
FROM per_ticker
WHERE prior_close > 0 AND day_close > 03,349 상승 종목, 3,033 하락 종목, 88 보합 종목: 유동성 테이프(liquid tape)의 51.8%가 상승했습니다. 이는 1.63% 성장 지수 발표 상황에서 동전 던지기와 같은 결과였습니다. 유동성 필터를 적용하면 거래 대금이 100만 달러 미만인 11,525 이중 세션 티커(dual-session tickers) 중 5,055이 제외되며, 해당 수치는 숨김 없이 포함되었습니다.
Sector by sector: where the money actually went
Counting names one vote each hides where the money sat. The ten funds below each hold one slice of the S&P 500, and the spread between best and worst measures how uneven a session was.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
if(day_close > prior_close, 1, 0) AS is_up,
round(max((day_close / prior_close - 1) * 100) OVER () - (day_close / prior_close - 1) * 100, 2) AS pts_behind_leader,
day_dollar_bn
FROM per_name
ORDER BY pct_chg DESC, ticker ASCTechnology (XLK) gained 2.69% and stood alone: industrials 1.34%, materials 0.36% and discretionary 0.15% were the only others green, and the board runs red from financials (-0.17%) down to utilities (-1.48%), staples (-1.53%) and real estate last at -2%. Best minus worst: 4.69 percentage points, 4 of 10 funds green. An index up less than a percent, a four-point spread underneath: one sector carried the day.
시장 전반의 주요 변동 종목
시장 폭(Breadth)은 상승한 종목의 수를 나타냅니다. 아래 목록은 거래 대금이 1,000만 달러 이상인 종목 중 변동률이 가장 큰 상위 및 하위 5개 종목을 보여줍니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
GROUP BY ticker
HAVING prior_close > 1 AND day_close > 0 AND day_dollar_volume >= 10000000 AND ticker NOT IN ('SPCX')
)
SELECT
board,
ticker,
prior_close,
day_close,
pct_chg,
round(abs(pct_chg), 2) AS abs_pct_chg,
dollar_volume_m,
if(ticker IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date >= '2026-06-29' AND execution_date <= '2026-06-30'), 1, 0) AS split_record_on_file
FROM (
SELECT 'top gainers' AS board, ticker, round(prior_close, 2) AS prior_close, round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg, round(day_dollar_volume / 1e6, 0) AS dollar_volume_m
FROM per_ticker
ORDER BY (day_close / prior_close) DESC, ticker ASC
LIMIT 5
UNION ALL
SELECT 'top decliners' AS board, ticker, round(prior_close, 2) AS prior_close, round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg, round(day_dollar_volume / 1e6, 0) AS dollar_volume_m
FROM per_ticker
ORDER BY (day_close / prior_close) ASC, ticker ASC
LIMIT 5
)
ORDER BY if(board = 'top gainers', 0, 1) ASC, pct_chg DESC, ticker ASC두 시장 모두 지수의 흐름과는 다르게 움직였습니다. JEM은 거래 대금 141% 달러를 기록하며 256.76% 상승을 주도했습니다. SOC는 306% 달러 거래와 함께 55.89% 하락했습니다. ABVX는 두 시장을 통틀어 가장 많은 거래 대금인 942% 달러를 기록하며 38.56% 상승했습니다. NVCT는 35.62% 하락했으며 UNCY는 39.09% 하락했습니다. 수정되지 않은 데이터에서는 1-to-10 액면 병합(reverse split)이 +900%의 "수익"으로 표시될 수 있으므로, 분리 기록 열을 통해 정확성을 유지합니다. 여기에 포함된 모든 종목은 0인 실제 체결가를 나타냅니다.
세 개의 행은 동일한 거래가 두 번 나타난 사례입니다. CRCA(-35.16%)와 CRCG(-35.19%)는 하락한 반면, CRCD는 35.47% 상승했습니다. 이는 아래에 언급된 암호화폐 관련 종목인 레버리지 개별 주식 ETF(leveraged single-stock wrappers)의 -17.53% 변동폭보다 각각 두 배 가까운 수치입니다.
오늘의 주요 뉴스: 분기 전환점에 선 반도체
여섯 개의 종목, 하나의 테마, 매우 다른 결과 — 동조화 현상과 변동 폭만 나타났으며, 데이터상 원인은 밝혀지지 않았습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-06-30 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-30 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-06-30 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-30 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'INTC', 'MU', 'SNDK', 'TSM', 'WDC')
AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
round(day_high, 2) AS day_high,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
round(day_low, 2) AS day_low,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk는 10.79% 상승했고, AMD는 7.7%, Intel은 5.93%, TSMC는 4.86% 상승했습니다. 반면 거래 대금이 $37.41 billion에 달하며 시장에서 가장 큰 비중을 차지한 MU는 단 0.52% 상승하며 마감했고, Western Digital (-2.01%)은 변동이 없었습니다. 이는 기술주 2.69% 섹터 실적(MU의 6월, 상세 분석)의 복합적인 양상을 보여줍니다.
반대로 암호화폐 관련 금융주들은 상승장과 반대로 움직였습니다:
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-06-30 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-30 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-06-30 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-30 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('COIN', 'CRCL', 'HOOD', 'MSTR')
AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
round(day_high, 2) AS day_high,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
round(day_low, 2) AS day_low,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerCRCL는 -17.53%을 기록했습니다. $62.52의 저점은 세션 마지막 분기인 15:59 ET에 도달했습니다. MSTR -6.2%, COIN -3.61%, HOOD -1.53%도 함께 움직였습니다. 동조화 현상이 관찰되었으나 원인은 확인되지 않았습니다.
What the news feed carried
A recap that refuses to assert causes owes the reader what was actually published that day.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
names.n AS ticker,
countIf(has(tickers, names.n)) AS articles_today,
if(countIf(has(tickers, names.n)) = 0, 'none',
formatDateTime(toTimeZone(argMaxIf(published_utc, (published_utc, id), has(tickers, names.n)), 'America/New_York'), '%H:%i')) AS latest_et,
if(countIf(has(tickers, names.n)) = 0, 'no article in our feed this session',
JSONExtractString(argMaxIf(publisher, (published_utc, id), has(tickers, names.n)), 'name')) AS publisher_name,
if(countIf(has(tickers, names.n)) = 0, 'no article in our feed this session',
argMaxIf(title, (published_utc, id), has(tickers, names.n))) AS latest_headline
FROM global_markets.stocks_news
CROSS JOIN (SELECT arrayJoin(['NVDA', 'MU', 'SNDK', 'CRCL', 'SOC', 'ABVX', 'JEM']) AS n) AS names
WHERE published_utc >= '2026-06-30 04:00:00' AND published_utc < '2026-07-01 04:00:00'
GROUP BY names.n
ORDER BY articles_today DESC, ticker ASCThe most-covered name was NVDA at 21 articles — not among the day's movers at all — its last piece of the session (16:28 ET, Investing.com) titled "These Stocks Could Benefit as the Robotaxi Race Heats Up". MU drew 7; SanDisk's lone article (The Motley Fool) is the only headline all day naming an actual move: "Why Sandisk Stock Is Skyrocketing Today".
The gap is the finding: the day's biggest decliner, its heaviest gainer and the crypto-adjacent name that fell hardest drew 0, 0 and 0 articles — zero apiece, inside a feed of 211 pieces. Coverage is not a proxy for price action.
거래 자금 흐름
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESC달러 기준으로는 MU가 SPY의 $31.84 billion을 압도하며 모든 종목과 인덱스 펀드(index funds)를 앞질렀습니다: $37.41 billion 대 $31.84 billion의 수치입니다. 이는 MU가 대표적인 인덱스 펀드보다 더 많은 거래량을 기록한 두 번째 연속 거래일입니다 (월요일 요약에서 첫 사례를 확인할 수 있습니다). 주식 거래 현황은 다른 양상을 보입니다. 3배 레버리지 인버스 반도체 ETF(3x-leveraged inverse semiconductor ETF)인 SOXS(515.5 million shares)와 MU의 거래량에 비해 미미한 수준인 1달러 미만의 종목 두 개가 포함된 거래량은 두 가지 의미를 가집니다.
한 종목은 의도적으로 두 거래 현황 모두에서 제외되었습니다. 6월에 상장된 이 종목은 이전의 다른 무관한 기업이 동일한 티커(ticker)를 사용했기 때문에, 데이터 공급업체는 동일한 세 글자를 가진 두 개의 실체를 구분하여 표시합니다 (거래 내역 확인).
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
GROUP BY et_time
ORDER BY et_time개장 후 첫 30분 동안 2.05 billion shares가 거래되었고, 13:30 시점에 0.78 billion으로 저점을 기록했습니다. 이후 분기 말 종가까지 하루 중 가장 큰 규모인 2.69 billion이 거래되었습니다. 이 과정에서 종가 경매와 그 리밸런싱(rebalancing) 흐름이 나타났습니다 (6월 29일 심층 분석에서 상세 내용을 확인할 수 있습니다).
옵션 거래 현황
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
sum(size), count(), round(avg(toFloat64(price)), 3))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC
LIMIT 1
) AS top_contract,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
) AS spy_close
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260630') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'))
/ toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C')), 2) AS spy_put_call_ratio,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'
AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) > spy_close)) / 1e6, 2) AS spy_0dte_otm_calls_m,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'
AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) <= spy_close)) / 1e6, 2) AS spy_0dte_itm_calls_m,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'
AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) < spy_close)) / 1e6, 2) AS spy_0dte_otm_puts_m,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'
AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) >= spy_close)) / 1e6, 2) AS spy_0dte_itm_puts_m,
top_contract.1 AS top_contract_underlying,
top_contract.2 AS top_contract_strike,
top_contract.3 AS top_contract_type,
top_contract.4 AS top_contract_expiry,
top_contract.5 AS top_contract_volume,
round(top_contract.7, 3) AS top_contract_avg_price,
round(top_contract.2 - spy_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'10.06 million 건의 체결을 통해 총 61.95 million contracts의 옵션이 거래되었습니다. 콜 옵션(Call options)이 전체 거래량의 57.3%를 차지했으며, 그중 28%은 해당 화요일에 만기되었습니다. SPY는 반대 양상을 보였습니다. 펀드가 상승한 날임에도 불구하고, 풋/콜 비율(Put/call ratio)이 1.09인 상태에서 12.04 million contracts의 거래가 발생하며 풋 옵션이 콜 옵션보다 더 많이 거래되었습니다.
SPY의 당일 만기 물량을 종가인 $746.32와 비교하면 스큐(Skew)가 명확해집니다. 외가격(Out-of-the-money) 풋 옵션(종가보다 낮은 행사가)이 3.33 million, 외가격 콜 옵션이 2.28 million 거래되었습니다. 반면 내가격(In-the-money) 콜 옵션은 1.77 million, 내가격 풋 옵션은 0.63 million이 거래되었습니다. 가치가 없는 상태로 만기된 하락 방향 행사가들이 SPY의 0DTE(0DTE, 당일 만기) 거래 중 가장 활발한 구간이었습니다. 7월 3일 금요일 만기 코드를 가진 상품은 전혀 거래되지 않았습니다 (0 건 — 해당 금요일은 시장 휴장일입니다). 목요일 주간 옵션은 10.52 million이 거래되었습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
concat(underlying, ' $', toString(strike), ' ', if(typ = 'C', 'call', 'put')) AS contract,
toString(expiry) AS expires,
formatDateTimeInJodaSyntax(expiry, 'MMMM d, yyyy') AS expires_label,
if(expiry = toDate('2026-06-30'), 1, 0) AS is_same_day,
contracts,
round(avg_px, 3) AS avg_premium,
round(100 * contracts / max(contracts) OVER (), 1) AS pct_of_busiest
FROM (
SELECT any(underlying_symbol) AS underlying,
any(toFloat64(strike_price)) AS strike,
any(option_type) AS typ,
any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS expiry,
sum(size) AS contracts,
avg(toFloat64(price)) AS avg_px,
any(ticker) AS occ
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'
GROUP BY ticker
ORDER BY contracts DESC, occ ASC
LIMIT 6
)
ORDER BY contracts DESC, contract ASC가장 거래가 활발했던 계약은 당일 만기되는 SPY $747 콜 옵션이었습니다. 평균 프리미엄(Premium)이 $0.641인 821,361 contracts가 거래되었으며, SPY의 마지막 정규 봉보다 $0.68 높은 가격에 마감된 후 가치가 소멸되었습니다. 이 현상은 시사하는 바가 큽니다. 전체 거래량 중 가장 활발한 6개 계약 중 5개가 종가 부근에서 1달러 차이로 형성된 SPY 당일 만기 행사가(SPY $748 call 다음)였으며, 각각 몇 센트 단위로 거래되었습니다. 예외적으로 선도 계약 거래량의 65.1%를 차지한 것은 당일 만기 계약이 아닌 KWEB $29 call 만기 December 18, 2026였습니다. 이는 5개의 오후 시간대 복권형 계약 중 단 하나의 6개월물 포지션이었습니다.
금리: 상반기 마감 시점 장기 금리 상승
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jun30_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(d.yield_1_month), toFloat64(p.yield_1_month)),
('3 month', toFloat64(d.yield_3_month), toFloat64(p.yield_3_month)),
('1 year', toFloat64(d.yield_1_year), toFloat64(p.yield_1_year)),
('2 year', toFloat64(d.yield_2_year), toFloat64(p.yield_2_year)),
('5 year', toFloat64(d.yield_5_year), toFloat64(p.yield_5_year)),
('10 year', toFloat64(d.yield_10_year), toFloat64(p.yield_10_year)),
('30 year', toFloat64(d.yield_30_year), toFloat64(p.yield_30_year)),
('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-30') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS p
)상반기 마지막 거래일에 장기 금리가 상승했습니다. 10년물은 6 bp 상승하여 4.44%를 기록했고, 2년물은 4 bp 상승하여 4.14%를 기록했습니다. 또한 2s10s spread(2년-10년물 금리차)는 2 bp 확대되어 0.3 포인트가 되었습니다. 금리 민감도가 높은 부동산(-2%)과 세 번째로 민감도가 높은 유틸리티(-1.48%) 섹터가 모두 약세를 보인 가운데 장기 금리가 상승했습니다. 이러한 현상이 동시에 발생하는 점은 주목할 만하나, 본 데이터가 인과관계를 증명할 수는 없습니다 (상반기 요약이 상반기 수익률 곡선을 결정합니다).
The calendar behind the day
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-30'
) AS news,
(
SELECT (argMax(t, n), max(n))
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-30'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-30') AS ex_dividend_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-30') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-30') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS filings_8k,
(SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-30' ORDER BY ticker
)) AS ipo_names,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
top_news.2 AS most_covered_articles,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-29')) AS filings_prior_session704 dividend records went ex-dividend on the quarter's last day — a quarter-end wave, most US companies paying quarterly — with 7 splits and 2 new listings (AACU — Ares Acquisition Corp III; OSPRU — Osprey Acquisition Corp. III). The filing column is the data-quality headline: the SEC index holds 31 filings for June 30 — 0 insider Form 4s, 0 8-Ks — against 4439 the session before. A month-end pattern in the feed, diagnosed in the month-end gap note; any count including this day is understated until it backfills.
세션 검증 완료
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
count() AS spy_minute_bars,
countIf(window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00') AS day_sessions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-30 00:00:00' AND window_start < '2026-07-01 00:00:00'SPY의 캔들은 뉴욕 시간 기준 04:00부터 19:59까지 진행되며, 정확히 390개의 정규 거래 시간 캔들로 구성됩니다. 이는 거래 기록(tape)을 통해 검증된 전체 세션입니다(거래소 캘린더 데이터셋에는 향후 휴장 정보만 포함되어 있습니다).
세션 요약
0.73% SPY(S&P 500 ETF) 지수가 51.8%의 종목 상승, 4의 10 섹터 펀드 상승, 그리고 최상위와 최하위 종목 간 4.69 포인트의 격차를 기록하며 마감했습니다. 이는 광범위한 상승장이 아닙니다. 특정 섹터의 상승이 지수 전체의 상승처럼 보인 것에 불과하며, 분기 말 경매가 진행되는 가운데 가장 거래가 활발한 30분 동안 발생한 현상입니다. 지수 변동은 평균값일 뿐입니다. 이번 상승은 대부분의 섹터가 하락하는 동안 기술주가 주도했습니다. 지수 방향성을 신뢰하기 전에 종목 간 분산 정도를 확인해야 합니다.
FAQ
2026년 6월 30일 주식 시장은 어떠했습니까?
주가는 상승 마감했습니다. SPY(S&P 500 ETF)는 6월 29일 종가 대비 0.73% 상승했으며, QQQ(Nasdaq 100 ETF)는 1.63% 상승했습니다. 시장 폭은 좁아졌습니다. 거래량이 많은 종목 중 51.8%가 상승했으며, S&P 섹터 펀드의 4가 상승한 10를 기록했습니다.
2026년 6월 30일 시장을 주도한 섹터는 무엇입니까?
기술 섹터입니다. XLK(Technology Select Sector SPDR Fund)는 2.69% 상승했습니다. 산업 섹터는 1.34% 상승했으며, 부동산 섹터는 -2% 상승하며 가장 낮은 성적을 기록했습니다. 최고 성적과 최저 성적의 차이는 4.69 포인트였습니다.
2026년 6월 30일 가장 큰 변동성을 보인 종목은 무엇입니까?
거래 대금이 1,000만 달러 이상인 종목 중 JEM이 256.76% 상승하며 가장 많이 올랐고, SOC은 55.89% 하락하며 가장 많이 떨어졌습니다. 두 종목 모두 주식 분할 기록이 없습니다. 즉, 기업 활동에 의한 결과가 아닌 실제 가격 변동입니다.
2026년 2분기 주식 시장은 어떠했습니까?
4월 1일 시가부터 6월 30일 종가까지 62회 거래 세션 동안의 결과입니다. QQQ는 26.53%, IWM(Russell 2000 ETF)은 20.21%, SPY는 14.13%, DIA(Dow Jones Industrial Average ETF)는 12.08%를 기록했습니다. 성장주가 주도한 분기였으며, 성장주가 주도한 날로 마무리되었습니다.
왜 마지막 30분 동안 거래량이 급증합니까?
마지막 30분 동안의 거래량은 2.690억 주였으며, 이는 개장 시의 2.050억 주와 대조를 이룹니다. 종가 경매를 통해 각 주식의 공식 종가가 결정되며, 인덱스 펀드는 이 가격에 맞추기 위해 해당 시간에 거래를 수행합니다. 또한 분기 말 리밸런싱(rebalancing)이 거래량을 집중시킵니다.
데이터 참고 사항 및 방법론
- 바스켓(Baskets). 섹터 보드는 패널에 명시된 10개의 SPDR 섹터 ETF(Exchange Traded Fund)로 구성됩니다. 매 세션 동일한 바스켓을 사용하므로 분산 수치를 일별로 비교할 수 있습니다. 변동성 보드는 1,000만 달러 이상의 거래대금과 전일 종가 1달러 이상을 충족해야 하며, 위에 언급된 재사용 심볼 목록은 제외됩니다. 또한 분할 기록 열을 포함합니다.
- 주의 사항. 달러 거래량은 분당 대리 지표(종가 × 봉당 거래량)입니다. 6월 30일 공시 지수는 거의 비어 있는 상태입니다(월말 공시 간극에 관한 노트 참조). 뉴스 카운트는 단일 벤더 피드 기준입니다. 특정 기사가 없다고 해서 어디에서도 게시되지 않았음을 의미하지는 않습니다.
- 방법론. 한 세션은 1이며, 관찰된 봉을 통해 검증되었습니다. 타임스탬프는 UTC(협정 세계시)로 저장되며, 쿼리 시 뉴욕 시간으로 변환됩니다. "종가"는 경매 체결가가 아닌 마지막 정규 분봉입니다. 옵션 만기일은 OCC(Options Clearing Corporation) 티커에서 다시 파싱합니다(표의 자체 열은 오류가 있음). 수익성(Moneyness)은 SPY의 마지막 정규 봉을 기준으로 측정합니다. 패널은 작성 시점에 제한된 읽기 전용 경로를 통해 한 번 실행됩니다. 데이터 저장소 기준일은 2026년 7월 13일입니다.
모든 패널은 저장된 쿼리 결과이며 차트, 표, SQL이 하나의 객체로 구성됩니다. 이를 Strasmore 터미널에 붙여넣을 수 있습니다. 다음 세션: 7월 1일.