STRASMORE/EXPLORE 2,170 QUERIES

How many of the 15 payers yield less than the 3-month T-bill

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-08-22, from Dividend Yield vs Treasury Yield.

as of scalar 1×4read in context →
payers
15
below tbill
8
at or above tbill
7
tbill 3mo pct
3.87
Rows × columns
1 × 4
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 How many of the 15 payers yield less than the 3-month T-bill, derived from the stored result.
ColumnTypeRangeNotes
payers number every row is 15
below_tbill number every row is 8
at_or_above_tbill number every row is 7
tbill_3mo_pct number every row is 3.87 percent

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
WITH tickers AS (
    SELECT arrayJoin(['KO','JNJ','PG','PEP','MCD','MMM','MO','VZ','XOM','CVX','IBM','KMB','O','T','ABBV']) AS ticker
),
divs AS (
    SELECT ticker, sum(cash_amount) AS annual_div
    FROM global_markets.stocks_dividends
    WHERE ticker IN (SELECT ticker FROM tickers)
      AND frequency IN (1, 2, 4, 12)
      AND ex_dividend_date >= today() - 370
    GROUP BY ticker
),
px AS (
    SELECT ticker, argMax(toFloat64(close), window_start) AS price
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT ticker FROM tickers)
      AND window_start >= now() - INTERVAL 5 DAY
    GROUP BY ticker
),
tb AS (
    SELECT round(yield_3_month, 2) AS t3mo
    FROM global_markets.treasury_yields
    ORDER BY date DESC
    LIMIT 1
),
ylds AS (
    SELECT d.ticker AS ticker,
           round(100 * d.annual_div / p.price, 2) AS dy
    FROM divs d
    INNER JOIN px p ON d.ticker = p.ticker
)
SELECT count() AS payers,
       countIf(dy < (SELECT t3mo FROM tb)) AS below_tbill,
       countIf(dy >= (SELECT t3mo FROM tb)) AS at_or_above_tbill,
       (SELECT t3mo FROM tb) AS tbill_3mo_pct
FROM ylds

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 analysisDividend Yield vs Treasury Yield
Dividend yield by ticker vs the 3-month Treasury bill (flat line) ranking 15×3 Dividend yield across the US market: $1B+ market cap, $5+ share price, latest snapshot scalar 1×6 The 10-year Treasury yield, month by month: July 2021 to the latest reading on file series 61×3 Intel (INTC): month-end price, quarterly dividend, and quoted yield, Jan 2021 to Jun 2024 series 42×5 Conagra (CAG): price, quarterly dividend, and yield, month-end 2023-07 to 2026-06 series 36×5 Conagra (CAG): price, quarterly dividend, and yield, month-end 2023-07 to 2026-06 series 36×5 See all 2,170 queries →