STRASMORE/EXPLORE 2,948 QUERIES

reit_denominator

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-02, from payout-ratio-over-100-percent.

as of series 8×4read in context →
reit_denominator — 8 rows by 4 columns, computed from US exchange, SIP and OPRA data.
datequarter_labeleps_payout_pctffo_proxy_payout_pct
2024-03-31Mar 202447990
2024-06-30Jun 202426179
2024-09-30Sep 202425579
2024-12-31Dec 202434586
2025-03-31Mar 202528483
2025-06-30Jun 202536786
2025-09-30Sep 202523378
2025-12-31Dec 202524880
Rows × columns
8 × 4
Period covered
to
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 reit_denominator, derived from the stored result.
ColumnTypeRangeNotes
date date 2024-03-31 to 2025-12-31
quarter_label text 8 distinct values (Dec 2024, Dec 2025, Jun 2024…)
eps_payout_pct number 233 to 479 percent
ffo_proxy_payout_pct number 78 to 90 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.

SELECT
    toString(period_end)                 AS date,
    formatDateTime(period_end, '%b %Y')  AS quarter_label,
    round(100 * abs(toFloat64(dividends_q)) / toFloat64(net_income_q), 0) AS eps_payout_pct,
    round(100 * abs(toFloat64(dividends_q)) / (toFloat64(net_income_q) + toFloat64(dep_amort_q)), 0) AS ffo_proxy_payout_pct
FROM
(
    SELECT
        period_end,
        argMax(net_income, (filing_date, _ingest_time))                              AS net_income_q,
        argMax(depreciation_depletion_and_amortization, (filing_date, _ingest_time)) AS dep_amort_q,
        argMax(dividends, (filing_date, _ingest_time))                               AS dividends_q
    FROM global_markets.stocks_cash_flow_statements
    WHERE has(tickers, 'O')
      AND timeframe = 'quarterly'
      AND period_end >= '2024-01-01'
      AND period_end <= '2025-12-31'
    GROUP BY period_end
    HAVING net_income_q > 0 AND dep_amort_q > 0
)
ORDER BY period_end
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysispayout-ratio-over-100-percent
charge_trace series 11×4 → cash_bridge series 8×6 → payout_crosscheck ranking 9×3 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → The 5s30s spread month by month, with both legs series 241×4 → See all 2,948 queries →