STRASMORE/EXPLORE 2,433 QUERIES

yield_now

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-20, from msft-dividend-2026.

as of scalar 1×7read in context →
price date
2026-09-18
price date label
Sep 18, 2026
close price
493.78
trailing 12m dividends
3.64
trailing yield pct
0.74
earnings per share
18.01
payout ratio pct
20.2
Rows × columns
1 × 7
Period covered
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 yield_now, derived from the stored result.
ColumnTypeRangeNotes
price_date date 2026-09-18
price_date_label text 1 distinct value (Sep 18, 2026)
close_price number every row is 493.78 US dollars
trailing_12m_dividends number every row is 3.64
trailing_yield_pct number every row is 0.74 percent
earnings_per_share number every row is 18.01
payout_ratio_pct number every row is 20.2 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(p.day)                                                             AS price_date,
    concat(formatDateTime(p.day, '%b'), ' ',
           toString(toDayOfMonth(p.day)), ', ',
           toString(toYear(p.day)))                                             AS price_date_label,
    round(p.close, 2)                                                           AS close_price,
    round(d.trailing_dividends, 2)                                              AS trailing_12m_dividends,
    round(d.trailing_dividends / p.close * 100, 2)                              AS trailing_yield_pct,
    round(r.eps, 2)                                                             AS earnings_per_share,
    round(d.trailing_dividends / r.eps * 100, 1)                                AS payout_ratio_pct
FROM
(
    SELECT
        max(toDate(date))                   AS day,
        argMax(toFloat64(close), date)      AS close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'MSFT'
      AND date >= today() - 30
) AS p
CROSS JOIN
(
    SELECT sum(toFloat64(dividend)) AS trailing_dividends
    FROM
    (
        SELECT
            ex_dividend_date,
            any(cash_amount) AS dividend
        FROM global_markets.stocks_dividends
        WHERE ticker = 'MSFT'
          AND ex_dividend_date >  today() - 365
          AND ex_dividend_date <= today()
        GROUP BY ex_dividend_date
    )
) AS d
CROSS JOIN
(
    SELECT argMax(toFloat64(earnings_per_share), date) AS eps
    FROM global_markets.stocks_ratios
    WHERE ticker = 'MSFT'
      AND date >= today() - 120
) AS r
⌘/Ctrl + Enter
More from this analysismsft-dividend-2026
yield_trace series 11×6 raise_history table 7×7 record_2026 series 4×7 cy_vs_fy ranking 2×4 XOM dividend snapshot: latest payout, annual rate, yield, and next ex-date scalar 1×7 WMT dividend snapshot: latest payout, annual rate, yield, and next ex-date scalar 1×7 See all 2,433 queries →