{"slug":"dividend-yield-vs-treasury","qid":"compare","label":"Dividend yield by ticker vs the 3-month Treasury bill (flat line)","post_title":"Dividend Yield vs Treasury Yield","post_url":"/blog/dividend-yield-vs-treasury#q-compare","columns":["ticker","dividend_yield_pct","tbill_3mo_pct"],"rows":[{"ticker":"MO","dividend_yield_pct":6.41,"tbill_3mo_pct":3.87},{"ticker":"KMB","dividend_yield_pct":5.82,"tbill_3mo_pct":3.87},{"ticker":"VZ","dividend_yield_pct":5.66,"tbill_3mo_pct":3.87},{"ticker":"O","dividend_yield_pct":5.6,"tbill_3mo_pct":3.87},{"ticker":"PEP","dividend_yield_pct":5.04,"tbill_3mo_pct":3.87},{"ticker":"T","dividend_yield_pct":4.39,"tbill_3mo_pct":3.87},{"ticker":"CVX","dividend_yield_pct":4.27,"tbill_3mo_pct":3.87},{"ticker":"MCD","dividend_yield_pct":3.4,"tbill_3mo_pct":3.87},{"ticker":"PG","dividend_yield_pct":2.96,"tbill_3mo_pct":3.87},{"ticker":"KO","dividend_yield_pct":2.87,"tbill_3mo_pct":3.87},{"ticker":"IBM","dividend_yield_pct":2.86,"tbill_3mo_pct":3.87},{"ticker":"ABBV","dividend_yield_pct":2.57,"tbill_3mo_pct":3.87},{"ticker":"XOM","dividend_yield_pct":2.49,"tbill_3mo_pct":3.87},{"ticker":"JNJ","dividend_yield_pct":2.43,"tbill_3mo_pct":3.87},{"ticker":"MMM","dividend_yield_pct":2.12,"tbill_3mo_pct":3.87}],"shape":"ranking","sql":"WITH tickers AS (\n    SELECT arrayJoin(['KO','JNJ','PG','PEP','MCD','MMM','MO','VZ','XOM','CVX','IBM','KMB','O','T','ABBV']) AS ticker\n),\ndivs AS (\n    SELECT ticker, sum(cash_amount) AS annual_div\n    FROM global_markets.stocks_dividends\n    WHERE ticker IN (SELECT ticker FROM tickers)\n      AND frequency IN (1, 2, 4, 12)\n      AND ex_dividend_date >= today() - 370\n    GROUP BY ticker\n),\npx AS (\n    SELECT ticker, argMax(toFloat64(close), window_start) AS price\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN (SELECT ticker FROM tickers)\n      AND window_start >= now() - INTERVAL 5 DAY\n    GROUP BY ticker\n),\ntb AS (\n    SELECT round(yield_3_month, 2) AS t3mo\n    FROM global_markets.treasury_yields\n    ORDER BY date DESC\n    LIMIT 1\n)\nSELECT d.ticker AS ticker,\n       round(100 * d.annual_div / p.price, 2) AS dividend_yield_pct,\n       (SELECT t3mo FROM tb) AS tbill_3mo_pct\nFROM divs d\nINNER JOIN px p ON d.ticker = p.ticker\nORDER BY dividend_yield_pct DESC","computed_at":"2026-08-22T04:04:42.125630+00:00","elapsed":1.819367501}