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

Dividend Increases & Cuts This Week
Increases against cuts, by week of declaration (complete weeks only)series · 2026-08-25 · 26×4Preview: a 16-point series, ending lower. Payers across their own share split: the raw change against the split-adjusted changeseries · 2026-08-25 · 9×7Preview: a 9-point series, ending lower. Increases, cuts and the typical raise this calendar year, by company size (bands use today's market value)table · 2026-08-25 · 4×6 Dividend increases declared in the last 7 days, largest companies first (capped at 12 rows)series · 2026-08-25 · 12×8Preview: a 12-point series, ending lower. Dividend cuts declared in the last 90 days, the deepest 14 first (one week is too thin for a table)series · 2026-08-25 · 14×6Preview: a 14-point series, ending higher.
When Companies Announce Dividend Raises
Share of annual raises declared in the same month as the prior raise, by yearranking · 2026-08-03 · 10×4Preview: 10 ranked values, smallest first. Dividend raises by declaration month: US recurring quarterly payers, July 2015 to July 2026ranking · 2026-08-03 · 12×3Preview: 12 ranked values, largest first. JNJ dividend raises: declaration date, old rate, new rate, 2016 to 2026table · 2026-08-03 · 11×5 Typical raise month by company: twelve dividend growers, raises since 2016series · 2026-08-03 · 12×5Preview: a 12-point series, ending lower. Declaration record by year: recurring dividends, count, and days from declaration to ex-datetable · 2026-08-03 · 11×5
Verizon's Dividend Increase History
Consecutive years of dividend increases: six long record US payersranking · 2026-08-02 · 6×4Preview: 6 ranked values, smallest first. Verizon (VZ): annual dividend increase in cents and in percent, 2010 to 2025ranking · 2026-08-02 · 16×3Preview: 16 ranked values, smallest first. Verizon (VZ) dividend increases: declaration date, ex dividend date, and step sizetable · 2026-08-02 · 13×5 Verizon (VZ) dividends per share by calendar year, 2005 to 2025ranking · 2026-08-02 · 21×4Preview: 16 ranked values, smallest first.
Increases against cuts, by week of declaration (complete weeks only)

Increases against cuts, by week of declaration (complete weeks only)

most recentas of series 26×4read in context →
Increases against cuts, by week of declaration (complete weeks only) — 26 rows by 4 columns, computed from US exchange, SIP and OPRA data.
weekweek_labelincreasescuts
2026-02-23Feb 23607
2026-03-02Mar 2162
2026-03-09Mar 9160
2026-03-16Mar 1693
2026-03-23Mar 2362
2026-03-30Mar 3092
2026-04-06Apr 640
2026-04-13Apr 13222
2026-04-20Apr 20355
2026-04-27Apr 27474
2026-05-04May 4397
2026-05-11May 11132
2026-05-18May 18174
2026-05-25May 2542
2026-06-01Jun 1112
2026-06-08Jun 8101
2026-06-15Jun 15100
2026-06-22Jun 2290
2026-06-29Jun 2911
2026-07-06Jul 6110
2026-07-13Jul 13213
2026-07-20Jul 20500
2026-07-27Jul 27413
2026-08-03Aug 3343
2026-08-10Aug 10141
2026-08-17Aug 17163
the exact SQL behind every number
WITH universe AS (
    SELECT ticker, argMax(market_cap, date) AS mcap
    FROM global_markets.stocks_ratios
    WHERE date >= today() - 10 AND market_cap > 0
    GROUP BY ticker
),
regular AS (
    SELECT ticker,
           ex_dividend_date,
           max(declaration_date) AS declared_on,
           argMax(cash_amount, declaration_date) AS amt,
           argMax(frequency, declaration_date) AS freq
    FROM global_markets.stocks_dividends
    WHERE distribution_type = 'recurring'
      AND cash_amount > 0
      AND currency = 'USD'
      AND frequency IN (1, 2, 4, 12)
      AND ex_dividend_date >= today() - 1200
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, ex_dividend_date
),
seq AS (
    SELECT ticker, ex_dividend_date, declared_on, amt, freq,
           lagInFrame(amt) OVER w AS prev_amt,
           lagInFrame(freq) OVER w AS prev_freq,
           lagInFrame(ex_dividend_date) OVER w AS prev_ex
    FROM regular
    WINDOW w AS (PARTITION BY ticker ORDER BY ex_dividend_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
),
splits AS (
    SELECT ticker, groupArray(execution_date) AS split_dates
    FROM global_markets.stocks_splits
    WHERE execution_date >= today() - 1300
    GROUP BY ticker
)
SELECT toString(toMonday(s.declared_on)) AS week,
       formatDateTime(toMonday(s.declared_on), '%b %e') AS week_label,
       countIf(s.amt > s.prev_amt * 1.001) AS increases,
       countIf(s.amt < s.prev_amt * 0.995) AS cuts
FROM seq s
INNER JOIN universe u ON u.ticker = s.ticker
LEFT JOIN splits sp ON sp.ticker = s.ticker
WHERE s.prev_amt > 0
  AND s.freq = s.prev_freq
  AND arrayCount(x -> x > s.prev_ex, sp.split_dates) = 0
  AND dateDiff('day', s.prev_ex, s.ex_dividend_date) BETWEEN intDiv(240, s.freq) AND intDiv(520, s.freq)
  AND s.declared_on >= toMonday(today()) - 182
  AND s.declared_on < toMonday(today())
GROUP BY week, week_label
ORDER BY week
$