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

3,256 answered market questions

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

Can You Day Trade an Index Fund? ETFs vs Funds
Typical quoted spread on the three largest S&P 500 ETFs, trailing five daysranking · 2026-09-26 · 3×3Preview: 3 ranked values, smallest first.
How Buffer ETFs Work: Caps and Resets
A 15% cap and 9% buffer, seen from three entry pointsranking · 2026-08-12 · 21×4Preview: 16 ranked values, smallest first. SPY calendar-year price return against a 15% cap and 9% bufferranking · 2026-08-12 · 12×3Preview: 12 ranked values, smallest first. Remaining buffer and remaining cap by entry pointranking · 2026-08-12 · 11×3Preview: 11 ranked values, smallest first. Compounding the index against the buffered payoff, net of a 0.79% feeranking · 2026-08-12 · 12×3Preview: 12 ranked values, smallest first.
Contango and Roll Yield in Commodity ETFs
Two listed crude oil funds, calendar year price changeranking · 2026-08-10 · 5×4Preview: 5 ranked values, largest first. Both funds rebased to 100 at the start of the window, month by monthseries · 2026-08-10 · 60×4Preview: a 16-point series, ending higher. The financing leg: 3 month and 1 year Treasury yields by monthseries · 2026-08-10 · 91×4Preview: a 16-point series, ending higher.
How ETF Creation and Redemption Works
Quoted spread against average share volume, US listed ETFsranking · 2026-08-07 · 5×3Preview: 5 ranked values, smallest first. One session of SPY prints, sorted into trade size bucketsranking · 2026-08-07 · 4×4Preview: 4 ranked values, largest first. Quoted spread through the session: large cap fund vs micro cap fundseries · 2026-08-07 · 79×3Preview: a 16-point series, ending lower. Daily range and volume in a high yield bond ETF, month by monthranking · 2026-08-07 · 9×3Preview: 9 ranked values, smallest first.
ETF Premium and Discount to NAV, Explained
How far seven ETFs travel in a regular session, first half of 2026ranking · 2026-08-06 · 7×3Preview: 7 ranked values, largest first. Median session move by month, 2026 first halfseries · 2026-08-06 · 6×4Preview: a 6-point series, roughly flat. Average minute bar range by ET clock time, second quarter 2026series · 2026-08-06 · 26×4Preview: a 16-point series, ending lower. Median move before and after European markets close, first half of 2026ranking · 2026-08-06 · 4×3Preview: 4 ranked values, largest first.
Mutual Funds vs ETFs: What Actually Differs
Quoted bid-ask spread by fund: venue quotes, 11:00 to 13:59 ET, July 22, 2026ranking · 2026-08-02 · 7×4Preview: 7 ranked values, smallest first. The first active ETF share class: DFMC weekly closes since its March 2026 listingseries · 2026-08-02 · 20×4Preview: a 16-point series, ending lower. How far the price travels inside a day: seven ETFs, July 2026 sessionsranking · 2026-08-02 · 7×4Preview: 7 ranked values, largest first. One session, many prices: VOO in half-hour marks, Wednesday July 22, 2026series · 2026-08-02 · 32×3Preview: a 16-point series, roughly flat.
Sector Scorecard H1 2026: Winners and Losers
Eight heavily traded chip and memory names: H1 return, quarter split, H1 dollar volumetable · 2026-07-26 · 8×5 Median quoted spread by sector ETF, one representative session (June 29, 2026), regular hoursranking · 2026-07-26 · 11×4Preview: 11 ranked values, smallest first. The eleven sector ETFs: H1 2026 return, Q1 and Q2 split, and H1 dollar volumetable · 2026-07-26 · 11×5 XLE, XLF, and XLK by month: the H1 2026 rotation at month grainseries · 2026-07-26 · 18×3Preview: a 16-point series, ending lower. Five-name baskets per sector: members up vs down, median, best and worst, H1 2026table · 2026-07-26 · 11×9 Sector ETF dollar volume, Q1 vs Q2 2026: every fund traded less in the recovery quarterranking · 2026-07-26 · 11×4Preview: 11 ranked values, largest first.
How Leveraged ETFs Work (and Why They Decay)
Every SOXS reverse split since 2020, and the running consolidation factorseries · 2026-07-15 · 5×3Preview: a 5-point series, ending higher. One semiconductor selloff, four funds: SOXX, USD, SOXL, SOXS on July 13, 2026ranking · 2026-07-15 · 4×2Preview: 4 ranked values, largest first. Growth of $100 in the 1x SOXX vs the 3x SOXL, Jan 2 to Jul 13 2026series · 2026-07-15 · 131×3Preview: a 16-point series, ending higher.
page 2 of 2
Five pinned episodes: real-yield move, GLD return, and the daily correlation inside each

Five pinned episodes: real-yield move, GLD return, and the daily correlation inside each

most recentas of table 5×5read in context →
Five pinned episodes: real-yield move, GLD return, and the daily correlation inside each — 5 rows by 5 columns, computed from US exchange, SIP and OPRA data.
episodespan_labelreal_yield_deltagld_return_pctdaily_corr
2008 credit crisisJun 2008 to Dec 20080.9-18.40.22
2013 taper repricingApr 2013 to Dec 20131.11-10-0.63
2020 easing cycleDec 2019 to Aug 2020-0.2911.50.04
2022 hiking cycleDec 2021 to Oct 20221.53-6.2-0.66
2025 to 2026 advanceDec 2024 to Sep 20260.0247.2-0.19
the exact SQL behind every number
WITH
    daily AS
    (
        SELECT
            t.date                                                   AS d,
            toFloat64(t.yield_10_year) - toFloat64(e.market_10_year) AS real_10y,
            toFloat64(g.close)                                       AS gld_close
        FROM global_markets.treasury_yields AS t
        INNER JOIN global_markets.inflation_expectations AS e ON e.date = t.date
        INNER JOIN
        (
            SELECT
                date,
                max(close) AS close
            FROM global_markets.stocks_daily_aggs
            WHERE ticker = 'GLD'
              AND date >= '2005-01-01'
            GROUP BY date
        ) AS g ON g.date = t.date
        WHERE t.date >= '2005-01-01'
          AND t.yield_10_year > 0
          AND e.market_10_year > 0
    ),
    changes AS
    (
        SELECT
            d,
            real_10y,
            gld_close,
            real_10y - prev_real       AS real_chg,
            gld_close / prev_close - 1 AS gld_ret
        FROM
        (
            SELECT
                d,
                real_10y,
                gld_close,
                lagInFrame(real_10y)  OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_real,
                lagInFrame(gld_close) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_close
            FROM daily
        )
        WHERE prev_close > 0
    ),
    tagged AS
    (
        SELECT
            multiIf(
                d BETWEEN toDate('2008-06-30') AND toDate('2008-12-31'), '2008 credit crisis',
                d BETWEEN toDate('2013-04-30') AND toDate('2013-12-31'), '2013 taper repricing',
                d BETWEEN toDate('2019-12-31') AND toDate('2020-08-31'), '2020 easing cycle',
                d BETWEEN toDate('2021-12-31') AND toDate('2022-10-31'), '2022 hiking cycle',
                d BETWEEN toDate('2024-12-31') AND toDate('2026-09-30'), '2025 to 2026 advance',
                'other')                                                 AS episode,
            multiIf(
                d BETWEEN toDate('2008-06-30') AND toDate('2008-12-31'), 'Jun 2008 to Dec 2008',
                d BETWEEN toDate('2013-04-30') AND toDate('2013-12-31'), 'Apr 2013 to Dec 2013',
                d BETWEEN toDate('2019-12-31') AND toDate('2020-08-31'), 'Dec 2019 to Aug 2020',
                d BETWEEN toDate('2021-12-31') AND toDate('2022-10-31'), 'Dec 2021 to Oct 2022',
                d BETWEEN toDate('2024-12-31') AND toDate('2026-09-30'), 'Dec 2024 to Sep 2026',
                'other')                                                 AS span_label,
            d,
            real_10y,
            gld_close,
            real_chg,
            gld_ret
        FROM changes
    )
SELECT
    episode,
    span_label,
    round(argMax(real_10y, d) - argMin(real_10y, d), 2)               AS real_yield_delta,
    round(100 * (argMax(gld_close, d) / argMin(gld_close, d) - 1), 1) AS gld_return_pct,
    round(corr(real_chg, gld_ret), 2)                                 AS daily_corr
FROM tagged
WHERE episode != 'other'
GROUP BY episode, span_label
ORDER BY min(d)
$