如何计算股息率:三种方法
股息率是每股年度股息除以股价。以 Coca-Cola 为例,了解历史股息率、预期股息率和持有成本收益率的计算方式,以及它们何时会误导您。
股息率是股票每股年度股息除以股价,再乘以 100。每年支付 2.00 美元股息、股价为 50 美元的股票,股息率为 4%。计算本身很简单。难点在于分子,因为分子可以是过去 12 个月的股息总额,也可以是将最近一次股息年化后的数值。而经纪商针对您已持有的仓位显示的数字,又是第三种计算结果。
股息率公式
股息率 =(每股年度股息 ÷ 每股价格)× 100
分母很简单:股票最近一次成交的价格。只要市场开盘,这个数字就会每秒变动。分子是一股股票一年获得的现金股息。美国公司几乎总是分四次支付,而不是一次性支付。Coca-Cola(KO)是常用的示例。该公司按季度派息,并且长期持续派息。
以下是单股 KO 在截至 2026 年 6 月底的十二个月内收到的股息。最后一列为累计总额。
每个数字背后的完整 SQL
SELECT ex_dividend_date AS date,
formatDateTime(ex_dividend_date, '%b %e, %Y') AS ex_date_label,
round(cash_amount, 4) AS dividend_per_share_usd,
round(sum(cash_amount) OVER (ORDER BY ex_dividend_date), 4) AS trailing_total_usd
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date >= toDate('2025-07-01')
AND ex_dividend_date <= toDate('2026-06-30')
ORDER BY ex_dividend_date从底部向上读取累计列。一股股票在 4 次派息中合计收到 $2.08,从 Sep 15, 2025 的 $0.51 到 Jun 15, 2026 的 $0.53。这个总额就是分子。将 6 月收盘价放在分母位置,公式即可得出结果:$2.08 ÷ $81.25 × 100 = 2.56%。
没有任何公司必须支付股息。许多美国大型公司完全不派息,因此其股息率为零,而不是未定义。股息率衡量的内容介绍了完整的分配情况。
股息率是年化的吗?
是。无论实际支付周期如何,收益率始终是年化比率。大多数美国公司按季度派息。一些基金和收益型投资工具按月派息,许多外国公司则按照本国市场惯例每年派息两次。无论采用哪种支付周期,都会先换算成一个年度数值,再进行除法计算。
实际来看:一只股价为 50 美元的股票,股息率为 4%,意味着每股每年获得 2.00 美元,分四次支付,每次约 50 美分。行情页面很少明确标注该数字为年化数值,而年化比率与季度支付额之间的差异,是人们最常见的误解。时间安排同样重要,因为只有在除息日之前登记在册的持有人,才能获得某次股息。
滚动收益率与远期收益率
过去十二个月收益率汇总过去一年实际支付的股息,正如 KO 面板所示。这是历史数据,且可以核实。
远期收益率通常标为指示性收益率,以最近一次宣布的股息为基础,乘以每年的支付次数。对于按季度派息的公司,支付次数为 four。该指标假设公司维持当前派息率,用于估算未来十二个月的收益率。如果公司在年内提高了派息,远期收益率会更高,因为上调后的金额会计入四个季度,而不是一两个季度。
按文件中最新价格计算的八家大众消费品公司派息股,两种方法的结果如下:
每个数字背后的完整 SQL
WITH px AS (
SELECT ticker, argMax(close, window_start) AS price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('KO', 'PEP', 'JNJ', 'PG', 'VZ', 'XOM', 'CVX', 'MCD')
AND window_start >= now() - INTERVAL 7 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
),
dv AS (
SELECT ticker,
sum(cash_amount) AS ttm_dividends,
argMax(cash_amount, ex_dividend_date) AS latest_payment,
max(frequency) AS pay_frequency
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO', 'PEP', 'JNJ', 'PG', 'VZ', 'XOM', 'CVX', 'MCD')
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date > today() - INTERVAL 1 YEAR
AND ex_dividend_date <= today()
GROUP BY ticker
)
SELECT px.ticker AS ticker,
round(px.price, 2) AS price,
round(dv.ttm_dividends, 4) AS ttm_dividends_usd,
round(dv.latest_payment * dv.pay_frequency, 4) AS forward_dividends_usd,
round(dv.ttm_dividends / px.price * 100, 2) AS trailing_yield_pct,
round(dv.latest_payment * dv.pay_frequency / px.price * 100, 2) AS forward_yield_pct,
round(abs(dv.latest_payment * dv.pay_frequency - dv.ttm_dividends) / px.price * 100, 2) AS gap_abs_pct
FROM px
INNER JOIN dv ON px.ticker = dv.ticker
ORDER BY gap_abs_pct DESCPEP显示了面板中最大的差距:过去十二个月收益率为 4.12%,远期收益率为 4.24%,两者相差 0.12 个百分点;对应的股价均为 $139.6。在面板另一端,XOM 的两种计算结果相差不到 0.03 个百分点。
您屏幕上显示的是哪一种?大多数免费报价页面发布的是过去十二个月收益率,并简单标为“股息收益率”。券商平台和基金事实表更常列出远期收益率或指示性收益率。当两个网站在同一天对同一只股票给出不同收益率时,通常是采用的计算口径不同。基金事实表还可能采用第三种口径,即标准化的 30 天 SEC 收益率。该指标根据基金近期的净投资收益计算,而不是根据基金宣布的分配计算。
为什么价格变动时收益率也会变动
收益率的分母会变动。因此,即使股息完全没有变化,收益率也会在某些交易日发生变化。观察 KO 两年的月末数据,可以清楚看到这一机制。
每个数字背后的完整 SQL
WITH px AS (
SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
argMax(close, window_start) AS price,
max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-06-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY month_start
),
dv AS (
SELECT ex_dividend_date, cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date >= toDate('2023-06-01')
)
SELECT formatDateTime(px.month_start, '%Y-%m') AS month,
formatDateTimeInJodaSyntax(px.month_start, 'MMMM yyyy') AS month_label,
round(any(px.price), 2) AS price,
round(sum(dv.cash_amount), 4) AS ttm_dividends_usd,
round(sum(dv.cash_amount) / any(px.price) * 100, 2) AS dividend_yield_pct
FROM px, dv
WHERE dv.ex_dividend_date <= px.last_day
AND dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR
GROUP BY px.month_start
ORDER BY px.month_start可以将其看成两条线。过去十二个月股息一栏呈阶梯状变化。只有当某笔股息进入或退出这十二个月的计算窗口时,该数值才会变化。价格一栏则每个月都会变动。由于收益率等于前者除以后者,因此在这些阶梯变化之间,收益率线的每次变动都来自价格变动。在 June 2024,图表显示价格为 $63.65,收益率为 2.97%。在 June 2026,图表显示价格为 $81.25,收益率为 2.56%,过去十二个月的股息为 $2.08。
这一点值得仔细理解。按收益率排序的筛选器,只会对这个除法的结果进行排名,并不会显示是哪个输入值发生了变化。即使股息支付保持不变,价格下跌也会推高收益率。什么样的股息收益率才算理想展示了单个读数在整个市场分布中的位置。
成本收益率:持仓界面上的数字
成本收益率用今日的年度股息除以您支付的价格,而不是今日的价格。券商通常会在长期持仓旁显示这一指标,投资者容易将其误认为股票的当前收益率。以下是同一只 KO 股票的股息,分别按七个入场价格计算;这些价格对应 2019 之后每年六月的一个价格。
每个数字背后的完整 SQL
WITH cur AS (
SELECT argMax(cash_amount, ex_dividend_date) * 4 AS annual_now
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date <= toDate('2026-06-30')
),
px_now AS (
SELECT argMax(close, window_start) AS price_now
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND window_start >= now() - INTERVAL 7 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
buys AS (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS year,
argMax(close, window_start) AS cost_basis
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
AND toDayOfMonth(toTimeZone(window_start, 'America/New_York')) >= 20
AND toYear(toTimeZone(window_start, 'America/New_York')) BETWEEN 2019 AND 2025
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY year
)
SELECT buys.year AS year,
round(buys.cost_basis, 2) AS cost_basis_usd,
round(cur.annual_now, 4) AS annual_dividend_now_usd,
round(cur.annual_now / buys.cost_basis * 100, 2) AS yield_on_cost_pct,
round(cur.annual_now / px_now.price_now * 100, 2) AS current_yield_pct,
round(cur.annual_now / buys.cost_basis * 100 - cur.annual_now / px_now.price_now * 100, 2) AS yoc_premium_pts
FROM buys, cur, px_now
ORDER BY year一位在 2019 年六月以 $50.9 买入的持有人,如今每年每股获得 $2.12 的股息,成本收益率为 4.17%。今天买入的投资者获得相同的现金股息,但分母不同,为 2.42%,因此同一股股票的两种收益率读数相差 1.74 个百分点。
两个数字都正确,但回答的是不同问题。成本收益率描述的是已经发生的入场交易,并且会随着之后每次上调股息而上升。今天无法买到这一收益率。它也无法说明当前价格下这只股票的情况,而当前价格才是唯一仍可作出的决策。若要了解基于当前收益率的收入计算,请参阅 每月 $1,000 的股息收入。
合理性检查:派息率
收益率说明每股支付多少股息。派息率是每股年度股息除以每股收益,用来判断公司是否有能力支付股息。低于100%时,报告利润足以覆盖股息。高于100%时,差额来自本年度利润以外的其他来源。
每个数字背后的完整 SQL
SELECT ticker,
round(argMax(dividend_yield, date) * 100, 2) AS dividend_yield_pct,
round(argMax(dividend_yield * price, date), 2) AS annual_dividend_usd,
round(argMax(earnings_per_share, date), 2) AS earnings_per_share_usd,
round(argMax(dividend_yield * price / earnings_per_share, date) * 100, 1) AS payout_ratio_pct
FROM global_markets.stocks_ratios
WHERE ticker IN ('KO', 'JNJ', 'PG', 'VZ', 'XOM', 'CVX', 'MO', 'IBM')
AND date = (SELECT max(date) FROM global_markets.stocks_ratios)
AND dividend_yield > 0
AND earnings_per_share > 0
GROUP BY ticker
ORDER BY payout_ratio_pct DESC该面板按派息率排序。CVX位居榜首,派息率为120.7%;每股支付$6.67,而每股收益为$5.53,收益率为3.47%。IBM位居同一面板底部,派息率为58.8%。两家公司可能报出相近的收益率,但背后的股息覆盖情况截然不同。在任何筛选页面上,派息率都应与收益率并列查看。
房地产投资信托和管道合伙企业的报告收益通常包含较高的折旧费用,导致会计利润低于企业产生的现金,因此其派息率经常高于100%。分析师会改用运营资金来衡量这些企业。对于普通运营公司而言,远高于100%的派息率正是这一指标要提示的风险信号。派息率指南详细介绍了这一计算方法。
股息率常见问题
如何手动计算股息率?
将过去十二个月每股支付的股息相加,除以当前股价,再乘以 100。在上方的面板中,KO 支付的 4 笔股息合计为每股 $2.08。按 $81.25 的股价计算,股息率为 2.56%。
股息率按年度计算还是按季度计算?
始终按年度计算。按季度支付股息的公司,其股息率已经将四次支付年化。因此,股价为 50 美元、股息率为 4% 的股票,意味着每年股息约为 2.00 美元,而不是每季度 2.00 美元。
为什么同一只股票在两个网站上显示的股息率不同?
通常,一个网站使用过去十二个月实际支付的股息计算滞后股息率,另一个则使用最近一次宣布的股息乘以支付频率计算预期股息率。在上方的面板中,同一天针对 PEP,两种方法相差 0.12 个百分点。
高股息率是否意味着股票优质?
这只意味着相对于当前股价,股息支付额较高,除此之外不代表任何情况。股息不变而股价下跌时,股息率就会上升。因此,高股息率应引发对股息覆盖能力的进一步考察,而不是直接构成结论。
什么是持有成本收益率?
持有成本收益率是当前年度股息除以您最初支付的价格。每次提高股息时,持有成本收益率都会上升,并始终以您的买入价格为基准。因此,它反映的是您的持仓,而不是股票本身。在上方的面板中,六月以 $50.9 买入的 2019 笔持仓,其持有成本收益率为 4.17%,而今天买入者的收益率为 2.42%。
以上每个数据均来自针对已申报股息记录和真实价格运行的、已存储且有版本控制的查询。打开任意面板即可查看其背后的 SQL,也可以在 Strasmore 终端上对您自己的 ticker 运行相同计算。