STRASMORE/EXPLORE 3,293 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,293 answered market questions

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

Why Relative Volume Differs Between Platforms
Five relative-volume definitions on one AAPL session, at 10:30 a.m. ET and at the closeranking · 2026-09-28 · 5×3Preview: 5 ranked values, smallest first. One AAPL session, four lookbacks: full-day relative volume from daily barsranking · 2026-09-28 · 4×4Preview: 4 ranked values, largest first. How the session's volume piled up against the prior 10 sessions, checkpoint by checkpointseries · 2026-09-28 · 14×4Preview: a 14-point series, ending higher. Same session, same 10-session lookback: same-time basis vs full-day basis through the dayseries · 2026-09-28 · 14×3Preview: a 14-point series, ending higher.
The Open-Source TradingView Optimizer
Buy-and-hold SPY: the same rule, scored year by yearranking · 2026-09-22 · 9×2Preview: 9 ranked values, smallest first. In-sample rank versus out-of-sample Sharpe, same 24 cellsranking · 2026-09-22 · 24×4Preview: 16 ranked values, smallest first. The parameter surface: Sharpe by fast length, one line per slow lengthranking · 2026-09-22 · 6×4Preview: 6 ranked values, smallest first. A 24-cell moving-average grid on SPY, ranked by Sharperanking · 2026-09-22 · 24×2Preview: 16 ranked values, largest first.
Five relative-volume definitions on one AAPL session, at 10:30 a.m. ET and at the close

Five relative-volume definitions on one AAPL session, at 10:30 a.m. ET and at the close

most recentas of ranking 5×3read in context →
Five relative-volume definitions on one AAPL session, at 10:30 a.m. ET and at the close — 5 rows by 3 columns, computed from US exchange, SIP and OPRA data.
definitionat_10_30_et_ratioat_close_ratio
Full-day basis, 63-session (3-month) average0.311.41
Full-day basis, 50-session average0.341.53
Full-day basis, 10-session average0.391.77
Same-time basis, 50-session average1.521.53
Same-time basis, 10-session average1.921.77
the exact SQL behind every number
WITH toDate('2026-09-10') AS session_day
SELECT
    tupleElement(r, 1)           AS definition,
    round(tupleElement(r, 2), 2) AS at_10_30_et_ratio,
    round(tupleElement(r, 3), 2) AS at_close_ratio
FROM
(
    SELECT
        arrayJoin([
            ('Full-day basis, 63-session (3-month) average', session_1030 / avg63_full, session_close / avg63_full, 1),
            ('Full-day basis, 50-session average',           session_1030 / avg50_full, session_close / avg50_full, 2),
            ('Full-day basis, 10-session average',           session_1030 / avg10_full, session_close / avg10_full, 3),
            ('Same-time basis, 50-session average',          session_1030 / avg50_same, session_close / avg50_full, 4),
            ('Same-time basis, 10-session average',          session_1030 / avg10_same, session_close / avg10_full, 5)
        ]) AS r
    FROM
    (
        SELECT
            anyIf(cum_1030, d = session_day)                                                                    AS session_1030,
            anyIf(cum_close, d = session_day)                                                                   AS session_close,
            arrayReverseSort(x -> tupleElement(x, 1), groupArrayIf((d, cum_1030, cum_close), d < session_day)) AS prior,
            arrayAvg(x -> tupleElement(x, 3), arraySlice(prior, 1, 63))                                        AS avg63_full,
            arrayAvg(x -> tupleElement(x, 3), arraySlice(prior, 1, 50))                                        AS avg50_full,
            arrayAvg(x -> tupleElement(x, 3), arraySlice(prior, 1, 10))                                        AS avg10_full,
            arrayAvg(x -> tupleElement(x, 2), arraySlice(prior, 1, 50))                                        AS avg50_same,
            arrayAvg(x -> tupleElement(x, 2), arraySlice(prior, 1, 10))                                        AS avg10_same
        FROM
        (
            SELECT
                d,
                sumIf(vol, minute_of_day <= 630) AS cum_1030,
                sum(vol)                          AS cum_close
            FROM
            (
                SELECT
                    toDate(toTimeZone(window_start, 'America/New_York'))      AS d,
                    toHour(toTimeZone(window_start, 'America/New_York')) * 60
                      + toMinute(toTimeZone(window_start, 'America/New_York')) AS minute_of_day,
                    max(toFloat64(volume))                                     AS vol
                FROM global_markets.delayed_stocks_minute_aggs
                WHERE ticker = 'AAPL'
                  AND window_start >= toDateTime(session_day - 100, 'America/New_York')
                  AND window_start <  toDateTime(session_day + 1, 'America/New_York')
                GROUP BY d, minute_of_day
                HAVING minute_of_day >= 570 AND minute_of_day <= 959
                UNION ALL
                SELECT
                    toDate(toTimeZone(sip_timestamp, 'America/New_York'))     AS d,
                    960                                                        AS minute_of_day,
                    toFloat64(maxIf(size, has(conditions, 8)))                 AS vol
                FROM global_markets.stocks_trades
                WHERE ticker = 'AAPL'
                  AND sip_timestamp >= toDateTime(session_day - 100, 'America/New_York')
                  AND sip_timestamp <  toDateTime(session_day + 1, 'America/New_York')
                GROUP BY d
                HAVING countIf(has(conditions, 8)) > 0
            )
            GROUP BY d
        )
        HAVING length(prior) >= 63 AND session_close > 0
    )
)
ORDER BY tupleElement(r, 4)
$