SPCX: The Week It Went Underwater
SPCX's week of July 6, 2026: the index-add flow left, four of five closes printed under the June first-trade price, and Friday set a new post-listing low.
SPCX spent the week of July 6, 2026 doing what freshly listed stocks are never supposed to do in their second month: it went underwater. From the prior week's $161.86 close, the stock fell -10.2% across five sessions to $145.4 — spending the week's back half below the $150 price where its first public trade crossed in June, and printing a new post-listing closing low on Friday. The week opened with the last surge of index-add flow and closed with the quietest tape the symbol has seen since listing. Every number below is a stored query — expand any panel for the SQL.
First, the receipts: which SPCX this is
The SPCX symbol previously belonged to a different, unrelated security — so every window on this page is bound to the entity that listed on June 12, 2026: Space Exploration Technologies Corp. (the first-month deep-dive carries the full verification). The trading-history receipt makes the boundary visible:
The exact SQL behind every number
SELECT
toStartOfMonth(window_start) AS month,
count() AS minute_bars,
round(min(toFloat64(low)), 2) AS low_usd,
round(max(toFloat64(high)), 2) AS high_usd,
round(toFloat64(sum(volume)) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2025-07-01 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY month
ORDER BY monthThe months-long gap in the middle of that table is the old entity leaving the tape; the heavy bars from June 2026 onward are the new one. Everything below concerns only the new entity's prints.
The week on one row
The exact SQL behind every number
WITH
(
SELECT argMax(toFloat64(close), window_start) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX' AND window_start >= toDateTime('2026-07-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
) AS pw_close,
(
SELECT min(toFloat64(low)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX' AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
) AS lo,
(
SELECT max(toFloat64(high)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX' AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
) AS hi
SELECT
round(pw_close, 2) AS prior_week_close,
round(toFloat64(argMaxIf(close, window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)), 2) AS week_close,
round((toFloat64(argMaxIf(close, window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)) / pw_close - 1) * 100, 1) AS week_change_pct,
round(hi, 2) AS week_high,
round(lo, 2) AS week_low,
formatDateTime(toTimeZone(minIf(window_start, toFloat64(low) <= lo + 0.011), 'America/New_York'), '%Y-%m-%d %H:%i') AS week_low_bar_et,
countIf(toFloat64(close) < 150 AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS rth_minutes_below_150,
150 AS underwater_threshold_usd,
round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn,
round(toFloat64(sum(volume)) / 1e6, 1) AS week_shares_m,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS session_days_observed
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')-10.2% on the week, a $167.9 high to a $145.07 low (printed 2026-07-10 15:59 ET), and 790 regular-session minutes below the $150 first-trade price — the underwater fact, counted minute by minute.
One anchor note, worth being precise about: "underwater" here means under the June 12 opening-cross price — the first price public buyers paid on the tape, receipted in the first-month deep-dive. Measured against the lower offering price the deal's allocated buyers paid (also receipted there), the listing remains above water. Both statements are true at once; which one matters depends entirely on when you got in. That distinction — offering price versus first trade — is the same one that decides who is happy after every large debut. Total regular-hours dollars: 41.7B across 5 sessions.
Session by session: the flow leaves
The exact SQL behind every number
SELECT
et_date,
close_usd,
round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
shares_m,
dollar_bn
FROM (
SELECT et_date, close_usd, shares_m, dollar_bn,
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,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-07-02 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY et_date
)
)
WHERE et_date >= toDate('2026-07-06')
ORDER BY et_dateMonday carried 17.55B of dollars — the tail of the Nasdaq-100 index-add flow whose giant closing cross is receipted in the index-add deep-dive. Then the flow left: 11.3B Tuesday (the -6.7% session that produced the first sub-$150 close, documented in the decline-from-peak note), fading to 6.31B by Friday — roughly a third of Monday's tape. Thursday's +2.6% bounce did not hold; Friday closed -4.4% lower at $145.4, the newest post-listing closing low.
The entity's whole weekly table so far
The exact SQL behind every number
SELECT
toString(wk) AS period_start,
round(ret, 1) AS week_return_pct,
round(dollar_bn, 1) AS week_rth_dollar_bn,
sessions
FROM (
SELECT toStartOfWeek(toDate(toTimeZone(window_start, 'America/New_York')), 1) AS wk,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
(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 ret,
sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9 AS dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY wk
)
ORDER BY period_startFive calendar weeks of existence, all of them on one small table — the listing pop, the peak week, the fade, and now this: a -12.4% open-to-close week on 41.7B of dollars. The baseline is the entity's own prior tape, computed live; with a listing this young, every new week rewrites a fifth of the history.
Still a heavyweight — but a fading one
The exact SQL behind every number
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,
toUInt8(ticker = 'SPCX') AS is_spcx
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker
ORDER BY regular_hours_dollar_bn DESC
LIMIT 12The exact SQL behind every number
WITH (
SELECT sum(toFloat64(volume) * toFloat64(close))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
) AS spcx_d
SELECT
countIf(d > spcx_d AND ticker != 'SPCX') + 1 AS spcx_rank,
round(spcx_d / 1e9, 1) AS spcx_dollar_bn,
round(100 * spcx_d / max(d), 1) AS pct_of_leader
FROM (
SELECT ticker, sum(toFloat64(volume) * toFloat64(close)) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker
)Rank eleventh by dollars for the week — still among the tape's heaviest names a month after listing, at 25.4% of the week's leader. In June's post-listing window this symbol ranked among the top handful of the entire market; the leaderboard above shows where the fade has taken it. The basis: every ticker's regular-hours dollars over the five sessions; the subject appears in its own comparison set with a receipt flag rather than an exclusion, since this page's entire topic is the verified entity behind it.
What the tape was made of
The exact SQL behind every number
WITH
(
SELECT (round(count() / 1e6, 2),
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2))
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-07-06 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 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(100.0 * countIf(size < 100) / count(), 1) AS odd_lot_pct_of_prints,
quote_census.1 AS nbbo_updates_m,
quote_census.2 AS clean_two_sided_pct
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-07-06 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 00:00:00', 9)5.52 million prints, 80.1% of them odd lots, against 2.2 million NBBO updates (99.35% clean two-sided). A month past listing, the symbol's microstructure now reads like any large active stock's.
The spread: seasoning continues
The exact SQL behind every number
SELECT
session,
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
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-07-06 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 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 sessionMedian regular-hours spreads held between 3.12 and 2.7 bps across the sessions — a young listing's spread converging toward big-name territory even while its price fell. Liquidity provision and price direction are different machines; this week separated them cleanly. For scale, the listing-day tape in the first-month deep-dive carried spreads several times wider in its opening hour than anything this week printed — five weeks of seasoning, visible in basis points.
News kept coming; the options book leaned defensive
The exact SQL behind every number
SELECT
count() AS week_articles,
uniqExact(JSONExtractString(publisher, 'name')) AS publishers
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-07-06 00:00:00')
AND published_utc < toDateTime('2026-07-11 04:00:00')The exact SQL behind every number
WITH
(
SELECT concat('$', toString(round(toFloat64(toUInt32OrZero(substring(ticker, 14, 8))) / 1000, 2)),
if(substring(ticker, 13, 1) = 'P', ' put', ' call'),
', expiry 20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2))
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-07-06 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 00:00:00', 9)
GROUP BY ticker ORDER BY sum(size) DESC LIMIT 1
) AS busiest_name
SELECT
round(sum(size) / 1e6, 2) AS contracts_traded_m,
round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 2) AS week_put_call_ratio,
round(sum(toFloat64(price) * size) * 100 / 1e9, 2) AS premium_notional_busd,
busiest_name AS busiest_contract
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-07-06 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 00:00:00', 9)52 tagged articles from 3 publishers kept the name in the feed all week. The options book traded 3.14 million contracts at a put-call ratio of 0.8 — markedly more put-weighted than a typical single stock (NVDA's same-week book ran roughly half that ratio, in its own weekly deep-dive). Busiest contract: $450 call, expiry 2026-07-17.
The shorts
The exact SQL behind every number
SELECT toString(date) AS d,
round(sum(short_volume) / 1e6, 1) AS short_shares_m
FROM global_markets.stocks_short_volume
WHERE ticker = 'SPCX' AND date >= toDate('2026-07-06') AND date <= toDate('2026-07-10')
GROUP BY date
ORDER BY dateReported short volume ran 23.7M shares Monday, easing with the total tape through the week. The standing caveat: July 7's market-wide short-volume file arrived truncated (receipted in the weekly market recap), so Tuesday's figure is provisional. The freshest exchange-reported short-interest settlement (June 30) published after this entity's first-month page first went out — that page's revision machinery carries the current print.
Data notes
All timestamps are UTC; regular hours are the 810-1199 ET-minute band; the week runs July 6-10 with the prior close from Thursday July 2 (July 3 holiday). This symbol is on the ambiguity guard list: every window here starts at or after the June 12, 2026 listing of the verified entity, and the symbol-history panel makes the old entity's boundary visible rather than assumed. The "underwater" measure counts regular-session minutes with prints below the first-trade price (the June 12 opening-cross price receipted in the first-month deep-dive, emitted as a declared column of the measurement) — not below the offering price, which differs. OCC tickers parsed positionally (root O:SPCX, expiry offset 7, type 13, strike 14). News counts measure one aggregated feed. Short-volume inherits its source file's completeness, flagged above.
Methodology
- Source: consolidated tape —
delayed_stocks_minute_aggs,stocks_trades,cache_stocks_quotes,options_trades, FINRAstocks_short_volume. - Entity discipline: verified_tickers assertion + windows bounded to the post-listing entity; the reuse receipt leads the page.
- Deterministic aggregates throughout; prior-period comparisons computed live, never quoted from other posts.
- Warehouse as-of: July 12, 2026 (T+2 for the week's final session).
Cross-links: the first month, the index add, the decline from peak, and the week's market recap.