STRASMORE/EXPLORE 2,173 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,173 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

How to Read the COT Report: Columns Explained
SPY move from Tuesday close to Friday close, the age of a COT snapshotranking · 2026-08-22 · 11×4Preview: 11 ranked values, largest first. Latest days to cover, and where it sits in five years of the same name's historytable · 2026-08-22 · 6×5 AAPL days to cover and its rank inside the three-year windowseries · 2026-08-22 · 72×4Preview: a 16-point series, roughly flat. Net calls minus puts on AAPL, raw contracts and as a share of volumeseries · 2026-08-22 · 30×6Preview: a 16-point series, ending lower.
How Event Contracts Settle: Payout and Fees
Final-day call prices by where the strike sat against the priceranking · 2026-08-09 · 12×3Preview: 12 ranked values, largest first. Traded price against intrinsic value, by days to expirytable · 2026-08-09 · 30×4 Where SPY option volume sits across the last 30 days of contract lifetable · 2026-08-09 · 30×2
When Is the COT Report Released?
Units versus dollars: seven funds tracking the markets the COT covers, July 2026ranking · 2026-08-04 · 7×4Preview: 7 ranked values, largest first. SPY: the move from Tuesday's close to Friday 3:30 pm ET, week by week, Aug 2025 to Jul 2026series · 2026-08-04 · 48×4Preview: a 16-point series, roughly flat. How far seven markets travel between Tuesday's close and Friday 3:30 pm ET, Aug 2024 to Jul 2026table · 2026-08-04 · 7×5 Where Friday volume sits on the clock: SPY, 15-minute buckets, full Friday sessions over the past yearseries · 2026-08-04 · 26×3Preview: a 16-point series, ending lower.
SPY move from Tuesday close to Friday close, the age of a COT snapshot

SPY move from Tuesday close to Friday close, the age of a COT snapshot

most recentas of ranking 11×4read in context →
SPY move from Tuesday close to Friday close, the age of a COT snapshot — 11 rows by 4 columns, computed from US exchange, SIP and OPRA data.
yearsession_pair_countmedian_gap_move_pctp90_gap_move_pct
2016510.882.2
2017500.331.11
2018501.142.71
2019510.882.35
2020481.244.21
2021500.752.08
2022511.724.32
2023500.882.8
2024521.042.17
2025500.842.43
2026231.262.92
the exact SQL behind every number
WITH spy AS
(
    SELECT
        date,
        toFloat64(close) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2016-01-01'
      AND date <  '2026-07-01'
)
SELECT
    toString(toYear(tue.date)) AS year,
    count()                    AS session_pair_count,
    round(quantileDeterministic(0.5)(abs(fri.close_px / tue.close_px - 1) * 100,
          toUInt64(toUnixTimestamp(tue.date))), 2) AS median_gap_move_pct,
    round(quantileDeterministic(0.9)(abs(fri.close_px / tue.close_px - 1) * 100,
          toUInt64(toUnixTimestamp(tue.date))), 2) AS p90_gap_move_pct
FROM spy AS tue
INNER JOIN spy AS fri ON fri.date = tue.date + 3
WHERE toDayOfWeek(tue.date) = 2
GROUP BY year
ORDER BY year
$