yield_2026
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-09-30, from jnj-dividend-2026.
| month | quarterly_rate_in_effect | indicated_yield_pct |
|---|---|---|
| 2026-01 | 1.3 | 2.41 |
| 2026-02 | 1.3 | 2.15 |
| 2026-03 | 1.3 | 2.16 |
| 2026-04 | 1.3 | 2.22 |
| 2026-05 | 1.34 | 2.36 |
| 2026-06 | 1.34 | 2.26 |
| 2026-07 | 1.34 | 2.08 |
| 2026-08 | 1.34 | 2.03 |
| 2026-09 | 1.34 | 1.99 |
- Rows × columns
- 9 × 3
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
month |
text | 9 distinct values (2026-01, 2026-02, 2026-03…) | |
quarterly_rate_in_effect |
number | 1.3 to 1.34 | ratio or rate |
indicated_yield_pct |
number | 1.99 to 2.41 | 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.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
WITH px AS
(
SELECT
toStartOfMonth(date) AS m,
round(toFloat64(avg(close)), 2) AS avg_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'JNJ'
AND date >= '2026-01-01'
AND date < '2027-01-01'
GROUP BY m
),
divs AS
(
SELECT
ex_dividend_date AS ex_date,
max(cash_amount) AS amt
FROM global_markets.stocks_dividends
WHERE ticker = 'JNJ'
AND ex_dividend_date >= '2024-01-01'
AND ex_dividend_date < '2027-01-01'
GROUP BY ex_dividend_date
)
SELECT
formatDateTime(px.m, '%Y-%m') AS month,
round(toFloat64(argMax(divs.amt, divs.ex_date)), 4) AS quarterly_rate_in_effect,
round(toFloat64(argMax(divs.amt, divs.ex_date)) * 4 / any(px.avg_close) * 100, 2) AS indicated_yield_pct
FROM px
CROSS JOIN divs
WHERE divs.ex_date <= toLastDayOfMonth(px.m)
GROUP BY px.m
ORDER BY month
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.