STRASMORE/EXPLORE 2,170 QUERIES

SPY's week in trailing-year context (open-to-close weekly returns, ~53 weeks)

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: Week of July 6, 2026.

as of scalar 1×5read in context →
week open to close pct
0.82
rank best
20
weeks compared
53
first week
2025-07-07
sessions this week
5
Rows × columns
1 × 5
Period covered
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 SPY's week in trailing-year context (open-to-close weekly returns, ~53 weeks), derived from the stored result.
ColumnTypeRangeNotes
week_open_to_close_pct number every row is 0.82 percent
rank_best number every row is 20
weeks_compared number every row is 53
first_week date 2025-07-07
sessions_this_week number every row is 5

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
SELECT round(anyIf(ret, wk = toDate('2026-07-06')), 2) AS week_open_to_close_pct,
       arrayCount(x -> x > anyIf(ret, wk = toDate('2026-07-06')), groupArrayIf(ret, wk != toDate('2026-07-06'))) + 1 AS rank_best,
       count() AS weeks_compared,
       toString(min(wk)) AS first_week,
       anyIf(sessions, wk = toDate('2026-07-06')) AS sessions_this_week
FROM (
    SELECT toStartOfWeek(toDate(toTimeZone(window_start, 'America/New_York')), 1) AS wk,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2025-07-06 00:00:00')
      AND window_start < toDateTime('2026-07-11 00:00:00')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY wk
    HAVING sessions >= 3
)

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: Week of July 6, 2026
Next week on the calendar: closures, ex-dividends, and the monthly expiry's pull scalar 1×4 SK Hynix's US debut: the raise, the delayed open, the close vs offer, and where the first-day tape ranks in 2026 scalar 1×14 Session verification: five sessions, no holiday, next scheduled closure scalar 1×6 The week's corporate calendar: filings, dividends, splits, news scalar 1×10 Treasury curve: the Friday July 10 print vs the July 2 close, both late receipts on file scalar 1×6 Weekly breadth: July 10 close vs July 2 close, names with $5M+ traded during the week scalar 1×4 See all 2,170 queries →