compare
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-24, from vz-vs-t-dividend.
| ticker | price | ttm_dps | trailing_yield_pct | dps_10y_ago | dps_cagr_10y_pct | eps_payout_pct | as_of |
|---|---|---|---|---|---|---|---|
| VZ | 46.52 | 2.795 | 6.01 | 2.26 | 2.15 | 71.9 | Sep 23, 2026 |
| T | 25.3 | 1.11 | 4.39 | 1.91 | -5.28 | 35.5 | Sep 23, 2026 |
- Rows × columns
- 2 × 8
- 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 |
|---|---|---|---|
ticker |
text | 2 distinct values (T, VZ) | |
price |
number | 25.3 to 46.52 | US dollars |
ttm_dps |
number | 1.11 to 2.795 | |
trailing_yield_pct |
number | 4.39 to 6.01 | percent |
dps_10y_ago |
number | 1.91 to 2.26 | |
dps_cagr_10y_pct |
number | -5.28 to 2.15 | percent |
eps_payout_pct |
number | 35.5 to 71.9 | percent |
as_of |
text | 1 distinct value (Sep 23, 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
paid AS
(
SELECT
id,
any(ticker) AS tkr,
any(ex_dividend_date) AS ex_date,
any(toFloat64(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('VZ', 'T')
AND cash_amount > 0
GROUP BY id
),
ttm AS
(
SELECT
tkr,
sum(amount) AS ttm_dps
FROM paid
WHERE ex_date > today() - 365
AND ex_date <= today()
GROUP BY tkr
),
base AS
(
SELECT
tkr,
sum(amount) AS dps_10y_ago
FROM paid
WHERE ex_date > today() - 4015
AND ex_date <= today() - 3650
GROUP BY tkr
),
val AS
(
SELECT
ticker,
argMax(toFloat64(price), date) AS px,
argMax(toFloat64(earnings_per_share), date) AS eps,
max(date) AS as_of_date
FROM global_markets.stocks_ratios
WHERE ticker IN ('VZ', 'T')
AND date >= today() - 45
AND price > 0
GROUP BY ticker
)
SELECT
v.ticker AS ticker,
round(v.px, 2) AS price,
round(tt.ttm_dps, 4) AS ttm_dps,
round(100 * tt.ttm_dps / v.px, 2) AS trailing_yield_pct,
round(b.dps_10y_ago, 4) AS dps_10y_ago,
round(100 * (pow(tt.ttm_dps / b.dps_10y_ago, 0.1) - 1), 2) AS dps_cagr_10y_pct,
round(100 * tt.ttm_dps / v.eps, 1) AS eps_payout_pct,
formatDateTime(v.as_of_date, '%b %e, %Y') AS as_of
FROM val AS v
INNER JOIN ttm AS tt ON tt.tkr = v.ticker
INNER JOIN base AS b ON b.tkr = v.ticker
ORDER BY ticker DESC
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.