Strasmore Research
시장 요약 Matt Connor작성자 Matt Connor · 업데이트됨 2026-10-11

2026년 7월 2일 뉴욕증시 마감 숫자로 보기

휴장 전야 로테이션: Nasdaq(나스닥) 하락 속에도 시장 폭은 긍정적이었고, 기술주는 열한 개 섹터 펀드 중 최하위를 기록했으며, 메모리 반도체는 급락 이틀째를 맞았고, 주식분할이 급락처럼 보이는 효과를 냈다.

2026년 7월 2일 목요일은 독립기념일 휴장을 하루 앞둔 마지막 거래일이었다. 헤드라인은 매도세를 전했지만, 실제로는 섹터 로테이션이 나타난 날이었다. QQQ는 -1.71%를 기록했고, DIA는 1.04% 상승했다. 시장 폭은 긍정적이었다: 유동성이 높은 종목 중 3398개가 상승한 반면 2758개가 하락했으며, 성장주 지수가 하락하는 가운데서도 전체 종목의 54.6%는 상승(녹색)을 기록했다. 열한 개 섹터 펀드 중 여덟 개가 상승 마감했다. 매도세는 기술주와, 전날 급락했던 메모리 반도체 섹터에 집중됐다.

성적표

조회SPY / QQQ / DIA / IWM: 7월 2일 대 7월 1일 종가, 정규장 기준
티커전일 종가당일 시가당일 종가변동률(%)당일 고가당일 저가거래량(백만 주)
DIA522.41525.49527.831.04528.26523.733
IWM299.31300.54297.53-0.59302.23294.9818.5
QQQ725.16725.58712.74-1.71730.83707.5643.7
SPY745.69747.4744.8-0.12751.31740.0343.9
모든 수치 뒤에 숨겨진 정확한 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-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
    GROUP BY ticker
),
sess AS (
    SELECT ticker,
           argMin(open, window_start) AS day_open,
           argMax(close, window_start) AS day_close,
           max(high) AS day_high,
           min(low) AS day_low,
           round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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.ticker
직접 실행해 보기

DIA가 1.04%, QQQ가 -1.71%를 기록했다는 것이 오늘 하루를 한 줄로 보여준다. 산업주와 성장주의 일간 수익률이 거의 세 포인트 차이로 벌어졌다. SPY는 -0.12%로 그 중간에서 마감했고, IWM은 -0.59%로 마감했다.

그날은 이례적이었나?

하나의 패널에 두 가지 관점을 담았다: SPY의 시가 대비 종가 변동과 QQQ의 전일 종가 대비 종가 변동을 각각 절대 변동폭 기준으로 최근 한 달 거래일과 비교해 순위를 매겼다(1위가 가장 큰 변동).

조회SPY와 QQQ를 직전 한 달 거래일 대비 순위화 (1위 = 최대 절대 변동폭)
SPY 시가-종가 변동률(%)SPY 절대 변동 순위SPY 비교 거래일수QQQ 종가-종가 변동률(%)QQQ 절대 변동 순위QQQ 비교 거래일수최초 거래일
-0.351522-1.719212026-06-02
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_day AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct,
           argMax(toFloat64(close), window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ')
      AND window_start >= toDateTime('2026-06-02 00:00:00')
      AND window_start < toDateTime('2026-07-03 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, d
),
with_prev AS (
    SELECT ticker, d, oc_pct,
           lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) AS prev_close,
           (rth_close / lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct
    FROM per_day
)
SELECT
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02'))),
               groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-02'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02'))),
               groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-02') AND isFinite(cc_pct) AND prev_close > 0)) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ' AND isFinite(cc_pct) AND prev_close > 0) AS qqq_sessions_compared,
    toString(minIf(d, ticker = 'SPY')) AS first_session
FROM with_prev
직접 실행해 보기

지수 차원에서는 그렇지 않았다. SPY의 -0.35% 시가 대비 종가 변동은 최근 22 거래일 중 15위로, 하위 절반에 해당한다. QQQ는 더 크게 움직였지만 그래도 극단적이지는 않았다: QQQ의 -1.71% 전일 종가 대비 종가 변동은 전일 종가가 확인되는 21 거래일(2026-06-02까지 소급) 중 9위로, 성장주 지수 기준으로는 중간 정도로 나쁜 하루였다. 개별 종목 장세에서는 7월 2일이 유독 시끄러운 하루였다.

시황: 상승 지표는 녹색, 성장주 지수는 적색

조회7월 2일 거래액 $1M 이상 종목의 상승 대 하락 종목수
상승 종목수하락 종목수보합 종목수유동성 종목양일 거래 종목수유동성 필터 제외 종목수상승 비율(%)상승 종목수하락 종목수유동성 필터 제외 종목수양일 거래 종목수
3398275863621911536531754.63,3982,7585,31711,536
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') AS day_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
       OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close > prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS advancers_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close < prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS decliners_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_fmt
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0
직접 실행해 보기

상승 종목 3,398개, 하락 종목 2,758개, 보합 63개로, QQQ가 하락하는 동안 유동성 상위 종목의 54.6%는 상승했다. 시가총액 가중 지수와 종목 수 기준 상승폭 지표가 서로 다른 신호를 냈다. 이런 날이 바로 두 지표를 함께 봐야 하는 이유다. 필터는 거래액 100만 달러 미만인 양일 거래 종목 11,536개 중 5,317개를 제외한다.

섹터별 점검: 상승세는 어디에 있었나

시장 폭(breadth)은 종목수만 집계할 뿐, 그 상승·하락의 성격까지는 말해주지 않는다. 11개 SPDR 섹터 펀드는 이날 거래를 업종별로 쪼개 보여주며, 최고 섹터와 최저 섹터 간 격차는 하루치 분산도를 하나의 숫자로 압축해 보여준다.

조회11개 SPDR 섹터 ETF(상장지수펀드): 7월 2일 종가 대 7월 1일 종가, 정규장 기준
티커전일 종가당일 종가변동률(%)최저 섹터 대비 포인트당일 거래금액(10억$)
XLB5151.991.944.650.57
XLC109.74109.6-0.132.580.83
XLE52.8253.230.783.481.46
XLF54.7955.611.54.22.36
XLI183.41183.910.272.981.15
XLK185.54180.52-2.7102.43
XLP83.338524.711.33
XLRE44.1844.691.153.860.22
XLU44.7645.762.234.941.05
XLV159.57163.772.635.342.01
XLY118.07117.11-0.811.891.2
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_etf AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pts_above_worst_sector,
    day_dollar_bn
FROM per_etf
ORDER BY ticker
직접 실행해 보기

헬스케어(XLV)가 2.63%로 1위를 차지했고, 유틸리티 2.23%, 필수소비재 2%, 소재 1.94%가 뒤를 이었다. 기술(XLK)은 -2.71%로 최하위를 기록했으며, 한 포인트 넘게 하락한 유일한 섹터였다. 임의소비재(-0.81%)와 커뮤니케이션서비스(-0.13%)도 하락한 나머지 두 섹터였고, 남은 여덟 개 섹터는 모두 상승했다. 최고-최저 분산도는 5.34퍼센트포인트였다. DIA 상승·QQQ 하락의 분리는 단 4개 대형 기술주에 국한되지 않고 시장 전반에서 나타났으며, 이것이 나스닥 지수가 하락하는 가운데서도 상승-하락 종목수 지표(advance-decline line)가 양(+)의 흐름을 보인 것이 모순이 아닌 이유다.

오늘의 핵심: 메모리 반도체 폭락, 이틀째

수요일 꺾였던 메모리 섹터는 목요일 더 크게 무너졌다. 여기서 짚는 것은 하락의 규모와 종목 간 동반성이며, 원인 분석은 다루지 않는다.

조회메모리·스토리지 종목: 수요일 종가 대비 변동률, 변동 구간 시점, 거래액
티커전일 종가당일 종가변동률(%)당일 고가당일 고가 시각(ET, 동부시간)당일 저가당일 저가 시각(ET)변동폭(%)당일 거래금액(10억$)
MU1033.29975.77-5.571064.6410:03950.2815:2612.0351.4
SNDK2035.071743.59-14.322052.5409:35169315:2621.2426.57
STX915.25820.25-10.38923.0609:53795.6614:2316.014.74
WDC598.37538.99-9.92609.4609:35525.8413:5915.94.31
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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 ticker
직접 실행해 보기

SanDisk는 -14.32%, Seagate는 -10.38%, Western Digital은 -9.92%, MU는 -5.57%를 기록했다. MU 거래액은 51.4십억 달러로 SPY 거래액의 약 한 배 반에 달했다. MU와 SanDisk는 장중 저점을 늦게 찍었고(15:26, 15:26 ET), Seagate와 Western Digital은 더 일찍 저점을 기록했다(14:23, 13:59). 참고: 수요일 및 MU 심층 분석.

로테이션의 나머지 절반은 초대형주에서 나타났다:

조회메가캡 로테이션: 수요일 종가 대비 변동률, 변동 구간 시점, 거래액
티커전일 종가당일 종가변동률(%)당일 고가당일 고가 시각(ET, 동부시간)당일 저가당일 저가 시각(ET)변동폭(%)당일 거래금액(10억$)
AAPL294.25308.224.75309.4215:57293.6809:305.3618.36
MSFT384.22389.621.41392.215:11383.709:352.2212.58
NVDA197.58194.51-1.55200.0610:03192.3513:404.0121.18
TSLA425.34392.81-7.65432.3509:31389.315:2311.0625.41
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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 ticker
직접 실행해 보기

AAPL은 4.75% 상승하며 하루 종일 한 방향으로만 움직였다. 저점은 09:30 ET, 고점은 마감 세 분 전인 15:57였다. 반면 TSLA는 정반대 양상을 보이며 -7.65%를 기록했다. MSFT는 1.41% 상승했고, NVDA는 -1.55%로 마감했다. 같은 지수, 상반된 하루.

자금이 거래된 곳

조회거래량 상위 종목 2가지 기준: 거래액 상위 6개, 거래주식수 상위 4개 (심볼 중복 종목 1건은 실체 확인 전까지 제외)
티커리더보드달러 거래량(십억)달러 가치(백만)주식 수(백만)리더보드 선두 대비 비율(%)
MUby dollars traded51.4None51.9100
SPYby dollars traded32.7None43.963.6
QQQby dollars traded31.3None43.760.9
SNDKby dollars traded26.57None14.651.7
TSLAby dollars traded25.41None63.649.4
NVDAby dollars traded21.18None108.641.2
SOXSby shares traded3.24None748.2100
TZAby shares traded1.27None325.743.5
LIMNby shares traded0.0442245.732.8
BITOby shares traded1.71None204.927.4
모든 수치 뒤에 숨겨진 정확한 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-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY dollar_volume_bn DESC
    LIMIT 6
    UNION ALL
    SELECT
        'by shares traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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는 51.4억 달러로, SPY의 32.7억 달러를 제치고 나흘 연속(월요일, 화요일, 수요일에 이어) 거래액 집계에서 1위를 지켰다. SanDisk도 26.57억 달러를 기록하며 메모리 관련 종목으로는 두 번째로 상위 4위 안에 들었다. 3배 인버스 반도체 ETF인 SOXS는 748.2백만 주로 거래 주식 수 기준 1위에 올랐다. 주가가 낮은 종목은 거래 주식 수 집계에서 강세를 보이고, 주가가 높은 종목은 거래액 집계에서 강세를 보인다. 상대 거래량은 두 지표 모두를 해당 종목 자체의 평소 수준과 비교한 값이다. 기준: 7월 2일 정규장 거래이며, 종목코드가 재사용된 상장 종목 1건은 제외했다(증빙자료).

조회30분 단위 거래주식수, 정규장 기준, 마지막 구간은 종가 단일가매매 체결분 포함 (십억 주)
동부시간(ET)주식 수(십억)최대 구간 대비 비율(%)
09:302.1360.5
10:001.6446.4
10:301.6446.5
11:001.4140
11:301.0529.7
12:001.0329.2
12:300.9627.3
13:000.8724.7
13:300.8524.2
14:000.8925.3
14:300.8123.1
15:001.0529.8
15:303.53100
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    et_time,
    round(sum(shares) / 1e9, 2) AS shares_bn,
    round(100 * sum(shares) / max(sum(shares)) OVER (), 1) AS pct_of_biggest_bucket
FROM
(
    SELECT
        formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
        toFloat64(volume) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
    UNION ALL
    SELECT
        '15:30' AS et_time,
        toFloat64(size) AS shares
    FROM global_markets.stocks_trades
    WHERE sip_timestamp >= '2026-07-02 20:00:00' AND sip_timestamp < '2026-07-02 20:15:00'
      AND has(conditions, 8)
)
GROUP BY et_time
ORDER BY et_time
직접 실행해 보기

개장 후 첫 30분 동안 거래된 주식은 2.13억 주였다. 0.81억 주로 14:30에 거래량이 가장 적었다. 휴장 전날 마감 무렵에는 3.53억 주가 거래되며 마지막 구간이 하루 중 거래량이 가장 많았다. 이는 마감 단일가매매가 대기 주문들을 하나의 체결로 모으기 때문이다.

옵션 체결 기록: 조정된 위클리옵션 만기의 도래

조회옵션 거래일 전체 요약: 거래량, 당일 만기, 휴장으로 조정된 주간물, 7월 월물
옵션 체결 건수(백만)계약 수(백만)콜 비율(%)당일 만기 비율(%)7월2일(목) 만기 계약 수(백만)7월3일(금) 만기 체결 건수7월10일 주간 계약 수(백만)7월17일 월간 계약 수(백만)SPY 계약 수(백만)QQQ 계약 수(백만)최다 계약 기초자산최다 계약 행사가최다 계약 유형최다 계약 만기최다 계약 거래량최다 계약 거래량(표시)최다 계약 평균가행사가-SPY 종가 차이SPY 종가-행사가 차이
13.1580.9658.447.438.3809.648.8213.968.5SPY740P2026-07-02540403540,4030.499-4.84.8
모든 수치 뒤에 숨겨진 정확한 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-07-02 00:00:00' AND sip_timestamp < '2026-07-03 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-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
    ) AS spy_regular_close
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702') / 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, substring(ticker, length(ticker) - 14, 6) = '260710')) / 1e6, 2) AS jul10_weekly_contracts_m,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260717')) / 1e6, 2) AS jul17_monthly_contracts_m,
    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,
    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,
    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_fmt,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
    round(spy_regular_close - top_contract.2, 2) AS spy_close_minus_strike
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
직접 실행해 보기

옵션은 80.96백만 계약이 13.15백만 건의 체결을 통해 거래되었으며, 이 거래량 중 47.4%가 같은 목요일에 만기되었다. 7월 3일 만기 코드를 가진 계약은 하루 종일 단 한 건도 체결되지 않았다(체결 0건). 따라서 목요일은 일일 만기와 해당 주의 조정된 위클리옵션 만기를 동시에 떠안게 되었다. 가장 활발히 거래된 계약은 당일 만기 SPY 740달러 풋옵션이었다. 540,403 계약이 평균 0.499달러 프리미엄에 거래되었다. SPY는 행사가격보다 4.8달러 높은 가격에 마감해 외가격으로 끝났으며, 화요일과 수요일에는 콜옵션이 최다 거래 계약 자리를 차지했던 것과 달리 이번에는 풋옵션이 그 자리에 올랐다. 콜옵션은 여전히 전체 거래량의 58.4%를 차지했다. 다음 위클리옵션은 9.64백만 계약, 7월 월물옵션은 8.82백만 계약이 거래되었다(만기 메커니즘).

호가 테이프: 거래 비용은 얼마였나

가격은 무슨 일이 일어났는지를 보여주고, 호가는 그 대가로 얼마가 들었는지를 보여준다. 매수-매도 스프레드는 모든 왕복 거래에 부과되는 통행료로, 중간가격 대비 베이시스포인트(1베이시스포인트는 1퍼센트의 100분의 1이다)로 측정한다. 우리는 평범한 날이든 그렇지 않은 날이든 매 거래일마다 이를 측정하며, 바로 이 때문에 "스프레드가 폭넓게 벌어졌다"는 주장은 반증 가능한 명제가 된다.

조회종목별 NBBO(전미 최우선매수매도호가) 업데이트 건수: 7월 2일 대 7월 1일, 주요 종목 업데이트 포함 (백만 건)
7월2일 업데이트 수(백만)7월1일 업데이트 수(백만)전일 대비 변화율(%)7월2일 SPY 업데이트 수(백만)7월2일 QQQ 업데이트 수(백만)7월2일 MU 업데이트 수(백만)
597.22449.15335.427.561.01
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / 1e6, 2) AS jul2_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-01')) / 1e6, 2) AS jul1_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / countIf(toDate(sip_timestamp) = toDate('2026-07-01')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'SPY') / 1e6, 2) AS jul2_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'QQQ') / 1e6, 2) AS jul2_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'MU') / 1e6, 2) AS jul2_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
직접 실행해 보기

통합 호가창 최상단에 해당하는 전미 최우선매수·매도호가(NBBO, National Best Bid and Offer)는 7월 2일 597.22백만 회 갱신되어, 7월 1일의 449.15백만 회 대비 33% 급증했다. 장 마감을 향해 가는 구간에서 나타난 변화다. QQQ는 7.56백만 회로 SPY의 5.42백만 회를 상회했고, MU는 1.01백만 회였다.

조회호가 스프레드 중간값(bp), 정규장 기준: 지수 ETF, 메가캡, 메모리 종목
티커스프레드 중간값(bps)스프레드 중간값(센트)SPY 스프레드 대비 배수RTH 업데이트(백만)무효 호가 제외
SPY0.27214.9819064
QQQ0.8363.16.035934
NVDA1.0323.82.5520398
AAPL1.62561.915193
TSLA2.2998.50.852699
MU5.525520.40.922442
SNDK10.418938.50.26163
WDC10.7960400.1483
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker,
    round(med_bps, 2) AS median_spread_bps,
    round(med_dollars * 100, 1) AS median_spread_cents,
    round(med_bps / min(med_bps) OVER (), 1) AS times_the_spy_spread,
    round(quote_updates / 1e6, 2) AS rth_updates_m,
    invalid_quotes_dropped
FROM (
    SELECT
        ticker,
        quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000,
                             toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_bps,
        quantileExactIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price),
                             toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_dollars,
        count() AS quote_updates,
        countIf(NOT (toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price))) AS invalid_quotes_dropped
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'TSLA', 'NVDA', 'MU', 'SNDK', 'WDC')
      AND sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
    GROUP BY ticker
)
ORDER BY median_spread_bps ASC
직접 실행해 보기

SPY의 중간값 호가 스프레드는 0.27베이시스포인트였다. 이는 약 2센트로, $744.8 ETF 기준이다. QQQ는 0.83bp, NVDA는 1.03bp였다. 이번 하락을 주도한 종목들은 거래 비용이 비싼 종목들이었다: MU 5.52bp, SanDisk 10.4bp, Western Digital 10.79bp로, SPY 스프레드의 40배였다. 가격 영향을 따지기도 전에, 메모리 관련 종목 바스켓을 매매하는 비용은 지수를 매매하는 비용의 몇 배에 달했다. 무효 호가(편측 호가, 역전 호가)는 종목별로 집계될 뿐, 숨겨지지 않는다.

조회유동성이 평소와 달랐는가? SPY 정규장 스프레드 중간값 대 직전 한 달 거래일
7/2 스프레드 중간값(bps)후행 중간값(bps)7/2−후행 차이(bps)확대 순위비교 세션 수최대폭 세션(bps)
0.270.27011220.409
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_day AS (
    SELECT toDate(sip_timestamp) AS d,
           quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000) AS med_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-06-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
      AND toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)
    GROUP BY d
)
SELECT
    round(anyIf(med_bps, d = toDate('2026-07-02')), 3) AS jul2_median_spread_bps,
    round(quantileExact(0.5)(med_bps), 3) AS trailing_median_bps,
    round(anyIf(med_bps, d = toDate('2026-07-02')) - quantileExact(0.5)(med_bps), 3) AS jul2_minus_trailing_bps,
    arrayCount(x -> x > anyIf(med_bps, d = toDate('2026-07-02')), groupArrayIf(med_bps, d != toDate('2026-07-02'))) + 1 AS wider_rank,
    count() AS sessions_compared,
    round(max(med_bps), 3) AS widest_session_bps
FROM per_day
직접 실행해 보기

유동성 측면에서는 평범한 하루였다는 것이 이번 분석의 결론이다. SPY의 중간값 스프레드 0.27bp는 최근 한 달 중간값과 0bp밖에 차이가 나지 않았다(해당 월간 중간값은 0.27bp였다). 스프레드 폭 기준으로는 11위(전체 22개 거래일 중)에 그쳤으며, 월중 최대치인 0.409bp와는 거리가 멀었다. 지수가 상승한 가운데 일부 종목에 집중된 급락이 있었지만, 시장 인프라에는 부담을 주지 않았다.

금리: 7월 2일 지표, 발표되다

조회접수 확인: 7월 2일 국채 데이터 수신 완료
7/2 행 수7/1 행 수
11
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS jul2_rows,
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS jul1_rows
직접 실행해 보기

재무부 데이터 피드는 테이프보다 하루 이틀 늦게 반영된다. 최초 게시 시점에는 7월 2일 종가 데이터가 전혀 없었고, 이 페이지는 추측 대신 그 사실을 그대로 밝혔다. 이후 해당 지표가 발표되어 7월 2일에는 1 행, 7월 1일에는 1 행이 채워졌으며, 아래 패널은 해당 거래일의 커브를 그대로 담고 있다.

조회당일 수익률 곡선: 7월 2일 대 7월 1일 (데이터 존재 만기만)
커브 포인트7/2 수익률(%)1일 변동(bp)
1 month3.73
3 month3.82-3
1 year3.96-4
2 year4.14-3
5 year4.23-1
10 year4.491
30 year4.981
2s10s spread0.354
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jul2_yield_pct,
    round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
    SELECT arrayJoin([
        ('1 month',  toFloat64(d.yield_1_month),  toFloat64(p.yield_1_month)),
        ('3 month',  toFloat64(d.yield_3_month),  toFloat64(p.yield_3_month)),
        ('1 year',   toFloat64(d.yield_1_year),   toFloat64(p.yield_1_year)),
        ('2 year',   toFloat64(d.yield_2_year),   toFloat64(p.yield_2_year)),
        ('5 year',   toFloat64(d.yield_5_year),   toFloat64(p.yield_5_year)),
        ('10 year',  toFloat64(d.yield_10_year),  toFloat64(p.yield_10_year)),
        ('30 year',  toFloat64(d.yield_30_year),  toFloat64(p.yield_30_year)),
        ('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
    ]) AS t
    FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS p
)
직접 실행해 보기

종가 기준 10년물은 4.49%을 기록했고, 2s10s 스프레드는 0.35 포인트였다.

그날을 움직인 일정

조회7월 2일 기업 캘린더 및 정보 흐름 (가짜 스크리너 이동의 배경인 8건의 액면분할 포함)
배당제외 기록실행된 분할주식분할주식병합분할 기록IPO 상장SEC 공시내부자 Form 4 공시8-K 공시IPO 종목명뉴스 기사뉴스 발행사최다 보도 종목최다 보도 기사 수CRWD 분할 전CRWD 분할 후CRWD 전일 종가CRWD 당일 종가CRWD 금액($M)바 표시 분할 종목명
322853CRWD 4-for-1; FBIP 4-for-1; FNCSF 110-for-100; GMEX 1-for-9; GTCDF 1-for-5; SMTOY 8-for-1; UBYH 1-for-10; VLNT 10-for-1252032109258MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II2013NVDA1814772.45193.671473.512
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-02'
    ) AS news,
    (
        SELECT (argMax(t, n), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-02'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), countIf(split_to > split_from), countIf(split_to < split_from),
                arrayStringConcat(groupArray(concat(ticker, ' ', toString(split_to), '-for-', toString(split_from))), '; '))
        FROM global_markets.stocks_splits
        WHERE execution_date = '2026-07-02' AND ticker NOT IN ('SPCX')
    ) AS splits
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-02') AS ex_dividend_records,
    splits.1 AS splits_executed,
    splits.2 AS forward_splits,
    splits.3 AS reverse_splits,
    splits.4 AS split_records,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02') AS ipos_listed,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS sec_filings,
    (SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS insider_form4_filings,
    (SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS filings_8k,
    (SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
        SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02' 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 any(split_from) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_from,
    (SELECT any(split_to) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_to,
    (SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS crwd_prev_close,
    (SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_day_close,
    (SELECT round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_dollar_m,
    (SELECT count() FROM (
        SELECT ticker FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-02')
          AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
        GROUP BY ticker
    )) AS split_names_with_bars
직접 실행해 보기

322건의 배당 기록이 배당락을 맞았고, 2건의 신규 상장이 이루어졌으며(MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II), SEC 인덱스에는 휴장을 앞두고 5203건의 공시가 접수되었다. 이 중 2109건은 Form 4, 258건은 8-K였다. 뉴스 피드에는 기사 201건이 올라왔고, 이는 3개 매체에서 나온 것이었다(가장 많이 다뤄진 것은 NVDA, 관련 기사는 18건).

분할은 조정 전 종가만 보는 사람이라면 누구나 빠지기 쉬운 함정이다. CRWD는 4대 1 비율로 주식분할을 실시했고, 그 결과 미조정 시세에는 수요일 772.45달러, 목요일 193.67달러로 표시되었다. 이는 사실 기존 주식 한 주당 새 주식 네 주가 배정된 것일 뿐인 가짜 하락이다. CRWD만 그런 것은 아니었다. 분할 기록은 총 8건 집행되었고, 이 중 5건은 주식분할, 3건은 주식병합이었다(split_records 열에 목록이 있다). 주식병합은 반대의 왜곡을 낳는데, 미조정 가격이 하룻밤 사이 급등한 것처럼 보이게 만든다. 이 종목들 가운데 실제로 우리 시세에서 거래된 것은 2건뿐이었다. CRWD의 1473.51백만 달러 거래액은 스크리닝 결과를 왜곡할 만큼 규모가 큰 유일한 사례이며, 이곳의 모든 급등락 종목 화면에서는 이를 제외하고 있다.

다음 일정

예측이 아니라 달력상의 사실로, 표에 담긴 다음 거래일 정보를 그대로 전달한다.

조회휴장 이후: 다음 거래일, 배당 제외일 및 액면분할, 다음 예정 휴장일, 숏 인터레스트 지연
7월 6일 SPY 정규장 바7월 6일 배당락 기록가계 배당락(7월 6일)7월 6일 분할다음 예정 휴장일다음 휴장명다음 휴장 상태최신 SI(공매도 잔고) 정산일SI 정산 경과일수(일)
390119JPM152026-09-07Labor Dayclosed2026-06-302
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS jul6_spy_regular_bars,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-06') AS exdiv_records_jul6,
    (SELECT arrayStringConcat(groupArray(ticker), ', ') FROM global_markets.stocks_dividends
     WHERE ex_dividend_date = '2026-07-06'
       AND ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'XOM', 'KO', 'PG', 'WMT', 'CVX', 'HD')) AS household_exdivs_jul6,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS splits_jul6,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02') AS next_scheduled_closure,
    (SELECT any(name) FROM global_markets.stocks_market_holidays
     WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_name,
    (SELECT any(status) FROM global_markets.stocks_market_holidays
     WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_status,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest
     WHERE settlement_date <= '2026-07-02') AS latest_si_settlement,
    (SELECT dateDiff('day', max(settlement_date), toDate('2026-07-02')) FROM global_markets.stocks_short_interest
     WHERE settlement_date <= '2026-07-02') AS si_settlement_age_days
직접 실행해 보기

7월 6일 월요일은 390개 바(bar) 전체가 기록된 정규 거래일로 재개되었으며, 이는 해당 바 데이터로 직접 검증된 것이다. 이날은 119건의 배당락(ex-dividend) 기록을 남겼고, 우리가 추적하는 10개 종목 중 하나인 널리 알려진 대형주(JPM)가 포함되었으며, 15건의 주식분할 체결이 있었다. 다음 예정된 휴장일은 Labor Day, 2026-09-07(closed)이다. 공매도 잔고(short interest)는 늘 그렇듯 이미 지난 정보였다. 보유 중인 최신 결제일 자료는 2026-06-30로 2일 전 수치이며, 공시는 결제일보다 약 2주 늦게 이루어진다(이유).

검증된 세션, 그리고 열리지 않은 금요일

조회거래일 점검: SPY 분봉 관측 범위 및 7월 3일 휴장 반영
SPY 첫 바(ET, 동부시간)SPY 마지막 바(ET)SPY 분봉정규장 바주간 세션7월 3일 SPY 바
04:0019:5988639010
모든 수치 뒤에 숨겨진 정확한 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-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 00:00:00' AND window_start < '2026-07-03 00:00:00'
직접 실행해 보기

7월 2일은 조기 폐장이 아닌 정규 세션 전체였다: SPY의 바(bar)는 뉴욕 시간 기준 04:00부터 19:59까지 이어졌으며(프리마켓 및 애프터마켓 바 포함), 정규 거래시간 바는 정확히 390개였다. 7월 3일 금요일에는 SPY 바가 0개 기록되었는데, 이는 독립기념일로 인한 전일 휴장 때문이다. 7월 4일이 토요일이었기 때문이다. 세션 네 번으로 마감된 한 주: 주간 리뷰.

FAQ

2026년 7월 2일 다우지수는 오르고 나스닥지수는 하락한 이유는 무엇인가?

두 지수는 구성 종목이 서로 다르다. DIA는 1.04%로 마감했고, QQQ는 -1.71%로 마감했다. 업종별 현황도 같은 흐름을 보였는데, 헬스케어와 유틸리티, 필수소비재가 상위권을 차지했고 기술주는 -2.71%로 최하위를 기록해 상위와 하위 업종 간 격차가 5.34포인트에 달했다.

독립기념일 주간 금요일에 증시는 개장했는가?

아니다. 독립기념일이 토요일이었기 때문에 거래소는 그 전날인 금요일 하루를 휴장으로 지정해 이를 기렸다. 당사 데이터에는 해당일의 SPY 1분봉이 0건으로 기록되어 있다.

순방향 주식분할(forward stock split)은 주가에 어떤 영향을 미치는가?

주식 수를 네 배로 늘리고 주가를 4분의 1로 나누는 것으로, 보유 포지션의 가치 자체는 변하지 않는다. CRWD의 경우 7월 2일, 분할 미반영 기준으로 수요일 종가는 772.45달러였고 목요일 종가는 193.67달러였는데, 분할을 반영하지 않는 스크리너에서는 이것이 실제로는 존재하지 않는 하락으로 잘못 표시된다.

2026년 7월 2일 매도-매수 호가 스프레드(bid-ask spread)는 어느 정도로 벌어졌는가?

SPY의 정규장 중 호가 스프레드 중간값은 중간가(mid-price) 대비 0.27bp였으며, 이는 직전 22거래일 가운데 스프레드가 넓은 쪽에서 11위에 해당해 평범한 수준이었다. 개별 종목은 스프레드가 더 넓었는데, MU는 5.52bp, WDC는 10.79bp를 기록했다.

데이터 참고 사항

  • 달러 거래량은 분당 단위의 근사치로서, 종가 × 거래량을 바(bar)별로 합산한 값이다.
  • 거래량 패널의 마지막 30분 구간은 종가 경매(closing auction) 체결을 포함해 집계한다. 1분 단위 바(bar)에는 모든 경매 체결이 빠져 있으므로, 30분 패널은 통합 테이프(consolidated tape)에서 미국 동부시간(ET) 오후 4시부터 4시 15분까지로 타임스탬프가 찍힌 종가 체결 매매조건(sale condition)이 붙은 거래를 모두 마지막 버킷에 더한다.
  • 7월 2일 국채(treasury) 체결 데이터는 최초 게재 이후에 입수되었다. 원래 노트에서는 행 수 확인 내역(row-count receipt)으로 이 데이터의 누락 사실을 밝혔으며, 이번 수정본에는 해당 체결 데이터가 반영되었고 확인 내역도 함께 제시한다.
  • CRWD의 원시 종가 변동률은 주식분할(split)에 따른 왜곡값으로, 급등락 종목 스크리닝(mover screen)에서 제외된다.
전체 데이터 참고 사항
  • 섹터 보드는 열한 개의 SPDR Select Sector 펀드(XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY)로 구성된, 고정되고 공개된 바스켓이며, 벤더가 제공하는 섹터 필드가 아니다.
  • 호가 테이프(quote tape) 집계는 SIP 타임스탬프의 UTC 날짜를 기준으로 구간을 나눈다. 서머타임 적용 기간의 거래일은 UTC 기준 하루 안에 모두 들어온다.
  • 심볼이 재사용된 6월 상장 종목 한 건은 리더보드에서 제외된다(확인 내역); 정밀 틱 데이터 분석은 심층 분석(deep-dive) 자료에서 다룬다.

방법론

  • 기간은 하나의 거래 세션(1 세션, 실제 바 데이터로 확인됨)이다. 타임스탬프는 UTC로 저장되며 쿼리 내에서 뉴욕 시간으로 변환된다. '종가(close)'는 정규장 마지막 1분봉을 의미하며, 일간 변동은 7월 2일과 7월 1일을 비교한 것이다. 7월 3일 휴장은 바 데이터로 확인된 것이며, 임의로 가정한 것이 아니다.
  • 스프레드는 (매도호가에서 매수호가를 뺀 값을) 중간가 대비 베이시스포인트로 표시하며, 정규장 중 NBBO(전미 최우선 매수·매도호가, National Best Bid and Offer) 업데이트 전체에 대해 결정론적 분위수 기준 중앙값으로 산출한다. 비율 연산에 앞서 소수값은 float 형으로 변환되며, 옵션 만기일은 OCC 티커에서 다시 파싱된다. 모든 패널은 작성 시점에 게이트 처리된 읽기 전용 경로를 통해 단 한 번만 읽힌다.

차트, 표, SQL은 하나의 객체다. 어떤 패널이든 Strasmore 터미널에 붙여 넣어 자신만의 것으로 만들 수 있다. 이전 세션: 7월 1일. 이번 주: 네 세션으로 이루어진 휴일 주간.