yield_grid
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-10-01, from pep-dividend-history.
| price_level | annual_rate | yield_pct | as_of |
|---|---|---|---|
| 101.33 | 5.92 | 5.84 | Oct 1, 2026 |
| 107.66 | 5.92 | 5.5 | Oct 1, 2026 |
| 113.99 | 5.92 | 5.19 | Oct 1, 2026 |
| 120.33 | 5.92 | 4.92 | Oct 1, 2026 |
| 126.66 | 5.92 | 4.67 | Oct 1, 2026 |
| 132.99 | 5.92 | 4.45 | Oct 1, 2026 |
| 139.33 | 5.92 | 4.25 | Oct 1, 2026 |
| 145.66 | 5.92 | 4.06 | Oct 1, 2026 |
| 151.99 | 5.92 | 3.89 | Oct 1, 2026 |
- Rows × columns
- 9 × 4
- 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 |
|---|---|---|---|
price_level |
number | 101.33 to 151.99 | US dollars |
annual_rate |
number | every row is 5.92 | ratio or rate |
yield_pct |
number | 3.89 to 5.84 | percent |
as_of |
text | 1 distinct value (Oct 1, 2026) |
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
(
SELECT toFloat64(argMax(cash_amount, ex_dividend_date))
FROM global_markets.stocks_dividends
WHERE ticker = 'PEP'
) AS declared_rate,
(
SELECT round(toFloat64(argMax(close, date)), 2)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'PEP'
AND date >= today() - 45
) AS recent_close,
(
SELECT formatDateTime(max(date), '%b %e, %Y')
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'PEP'
AND date >= today() - 45
) AS as_of_label
SELECT
round(recent_close * (0.80 + 0.05 * n), 2) AS price_level,
round(4 * declared_rate, 4) AS annual_rate,
round(100 * 4 * declared_rate / (recent_close * (0.80 + 0.05 * n)), 2) AS yield_pct,
as_of_label AS as_of
FROM
(
SELECT arrayJoin(range(9)) AS n
)
ORDER BY price_level
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.