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

2,170 answered market questions

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

Return of Capital in ETF Distributions
QYLD by calendar year: cash paid, average price, implied ratetable · 2026-08-22 · 5×5 Share price indexed to 100, three covered call ETFs, monthlyseries · 2026-08-22 · 59×4Preview: a 16-point series, ending lower. Trailing year distribution rate, price change, and approximate total returnranking · 2026-08-22 · 7×4Preview: 7 ranked values, largest first. Cash distributions per share, month by monthseries · 2026-08-22 · 59×4Preview: a 16-point series, ending lower.
Poor Man's Covered Call: How the Trade Works
Dividend cash paid on 100 shares over the trailing yearranking · 2026-08-22 · 6×3Preview: 6 ranked values, largest first.
Monthly Dividend ETFs: Who Actually Pays
Trailing 12 month distribution rate, by fund familyranking · 2026-08-22 · 12×3Preview: 12 ranked values, largest first. Distributions per year: monthly funds beside quarterly benchmarksranking · 2026-08-22 · 12×3Preview: 12 ranked values, largest first. Days from ex dividend date to cash, monthly paying fundsranking · 2026-08-22 · 9×2Preview: 9 ranked values, largest first. Monthly cash per share: an option income fund and a bond fundseries · 2026-08-22 · 24×3Preview: a 16-point series, ending higher.
Covered Call Closed-End Funds vs ETFs
Short-term Treasury yields by month, the reference for fund borrowing costsseries · 2026-08-22 · 36×3Preview: a 16-point series, ending lower. Cash distributions over the trailing year, by declared scheduleranking · 2026-08-22 · 5×2Preview: 5 ranked values, largest first. Monthly cost of a near-the-money call, as a percent of share priceseries · 2026-08-22 · 18×3Preview: a 16-point series, roughly flat.
How to Roll an Option Position: Up and Out
Moving the strike up costs premium: AAPL calls 30 to 45 days outranking · 2026-08-07 · 6×3Preview: 6 ranked values, largest first. What extra time is worth: at-the-money AAPL call premium by days to expiryranking · 2026-08-07 · 6×3Preview: 6 ranked values, smallest first. Time value left in an in-the-money KO call as expiry approachesranking · 2026-08-07 · 5×4Preview: 5 ranked values, smallest first. 2026 cash dividends per share at eight widely held payersranking · 2026-08-07 · 8×4Preview: 8 ranked values, largest first.
How to Calculate Covered Call Returns
Median implied volatility on near-the-money AAPL calls, by monthseries · 2026-08-05 · 24×2Preview: a 16-point series, roughly flat. Median implied volatility on 20 to 45 day near-the-money calls, July 2026ranking · 2026-08-05 · 5×3Preview: 5 ranked values, largest first. AAPL call delta by strike distance, 20 to 45 days to expiry, July 2026ranking · 2026-08-05 · 5×3Preview: 5 ranked values, largest first. AAPL by month: the stock's move against the same move capped at 5%series · 2026-08-05 · 24×3Preview: a 16-point series, roughly flat.
Covered Call ETFs: the Real Tradeoff
Three years of total return, split into price change and distributions: July 2023 to June 2026table · 2026-08-01 · 8×7 Total return by calendar year: a Nasdaq index fund vs a Nasdaq covered call fundranking · 2026-08-01 · 4×3Preview: 4 ranked values, smallest first. Price path indexed to 100: two index funds and their covered call counterparts, month endsseries · 2026-08-01 · 36×5Preview: a 16-point series, roughly flat.
The Wheel Strategy: How the Loop Works
SPY's closing price across the contract window, May 1 to Jun 15 2026series · 2026-07-31 · 31×2Preview: a 16-point series, ending higher. The wheel pair at entry, the SPY peak, the dip, and the final sessiontable · 2026-07-31 · 4×5 The SPY $740 put split into intrinsic and time value, daily to Jun 15 2026series · 2026-07-31 · 31×3Preview: a 16-point series, ending higher. Both legs of the wheel: SPY $740 put vs $740 call, same Jun 18 2026 expiryseries · 2026-07-31 · 31×3Preview: a 16-point series, ending higher.
Covered Call vs Cash-Secured Put
Both positions at four moments: entry, three weeks in, the SPY high, and the June diptable · 2026-07-31 · 4×5 What each strike paid on May 1, 2026: SPY June 18 calls and puts side by sideranking · 2026-07-31 · 8×3Preview: 8 ranked values, largest first. Covered call vs cash-secured put: profit and loss per share, same strike, same expiryseries · 2026-07-31 · 29×3Preview: a 16-point series, ending higher.
QYLD by calendar year: cash paid, average price, implied rate

QYLD by calendar year: cash paid, average price, implied rate

most recentas of table 5×5read in context →
QYLD by calendar year: cash paid, average price, implied rate — 5 rows by 5 columns, computed from US exchange, SIP and OPRA data.
yeardistributions_per_shareavg_closedistribution_rate_pctpayments
20212.85122.5912.612
20222.18818.291212
20232.04217.1711.912
20242.27717.8212.812
20252.04117.1111.912
the exact SQL behind every number
WITH yearly_px AS
(
    SELECT
        toYear(toTimeZone(window_start, 'America/New_York')) AS yr,
        round(avg(toFloat64(close)), 2)                      AS avg_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'QYLD'
      AND window_start >= toDateTime('2021-01-01 05:00:00')
      AND window_start <  toDateTime('2026-01-01 05:00:00')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY yr
),
yearly_div AS
(
    SELECT
        toYear(ex_dividend_date)         AS yr,
        round(sum(cash_amount), 3)       AS distributions_per_share,
        count()                          AS payments
    FROM
    (
        SELECT
            ex_dividend_date,
            toFloat64(max(cash_amount)) AS cash_amount
        FROM global_markets.stocks_dividends
        WHERE ticker = 'QYLD'
          AND ex_dividend_date >= toDate('2021-01-01')
          AND ex_dividend_date <  toDate('2026-01-01')
        GROUP BY ex_dividend_date
    )
    GROUP BY yr
)
SELECT
    toString(p.yr)                                            AS year,
    d.distributions_per_share                                 AS distributions_per_share,
    p.avg_close                                               AS avg_close,
    round(100 * d.distributions_per_share / p.avg_close, 1)   AS distribution_rate_pct,
    d.payments                                                AS payments
FROM yearly_px AS p
INNER JOIN yearly_div AS d ON d.yr = p.yr
ORDER BY p.yr
$