STRASMORE/EXPLORE 2,170 QUERIES

Rotation check: eight names, defensives, mega-caps, biotech

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-07-26, from Market Recap: July 8, 2026, The Day in Numbers.

as of table 8×8read in context →
Rotation check: eight names, defensives, mega-caps, biotech — 8 rows by 8 columns, computed from US exchange, SIP and OPRA data.
tickerprior_closeday_openday_closegap_pctintraday_pctpct_chgday_dollar_bn
CRNX83.5383.5283.45-0.01-0.08-0.11.38
CVX173.97176.8175.921.63-0.51.121.36
JNJ267.29268.6263.360.49-1.95-1.471.38
LLY1235.641221.11215.87-1.18-0.43-1.62.55
META615.57614.38603.03-0.19-1.85-2.045.86
TSLA402.88399.38393.92-0.87-1.37-2.2211.71
UNH428.18427.14425.56-0.24-0.37-0.611.28
XOM141.65143.44140.961.26-1.73-0.492.08
Rows × columns
8 × 8
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Rotation check: eight names, defensives, mega-caps, biotech, derived from the stored result.
ColumnTypeRangeNotes
ticker text 8 distinct values (CRNX, CVX, JNJ…)
prior_close number 83.53 to 1,235.64 US dollars
day_open number 83.52 to 1,221.1 US dollars
day_close number 83.45 to 1,215.87 US dollars
gap_pct number -1.18 to 1.63 percent
intraday_pct number -1.95 to -0.08 percent
pct_chg number -2.22 to 1.12 percent
day_dollar_bn number 1.28 to 11.71

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

the exact SQL behind every number
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-08 00:00:00')) AS prior_close_raw,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-08 00:00:00')) AS day_open_raw,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 00:00:00')) AS day_close_raw,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('CRNX', 'CVX', 'JNJ', 'LLY', 'META', 'TSLA', 'UNH', 'XOM')
      AND ((window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')
        OR (window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close_raw, 2) AS prior_close,
    round(day_open_raw, 2) AS day_open,
    round(day_close_raw, 2) AS day_close,
    round((day_open_raw / prior_close_raw - 1) * 100, 2) AS gap_pct,
    round((day_close_raw / day_open_raw - 1) * 100, 2) AS intraday_pct,
    round((day_close_raw / prior_close_raw - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisMarket Recap: July 8, 2026, The Day in Numbers
Fourteen chip names: prior close, day close, day range, dollar volume, low/high minute ET table 14×10 Top 6 by dollars traded, top 4 by shares traded: July 8 regular hours table 10×6 SPY / QQQ / DIA / IWM: July 8 vs the July 7 close, regular hours table 4×10 Shares per 30-minute ET bucket, regular hours, with % of the day's biggest bucket series 13×3 Treasury yields: July 8 vs July 7, populated maturities + 2s10s ranking 8×3 SPY / QQQ / NVDA / TSLA / MU / SNDK / AVGO: RTH median quoted spread in basis points ranking 7×2 See all 2,170 queries →