Cổ phiếu trả cổ tức hằng tháng: Danh sách đầy đủ
Lọc từ lịch sử chi trả thực tế: xem các mã niêm yết tại Mỹ đã trả cổ tức từ mười đến mười bốn lần trong mười hai tháng và lợi suất hiện tại.
Cổ phiếu trả cổ tức hằng tháng phân phối tiền mặt mỗi tháng thay vì mỗi quý. Tuy nhiên, danh sách thực tế ngắn hơn nhiều so với các bài tổng hợp thường gợi ý. Khi sàng lọc dựa trên lịch sử chi trả thay vì nhãn do nhà cung cấp dữ liệu gán, có 1569 ticker niêm yết tại Mỹ đã thực hiện từ ten đến fourteen khoản chi tiền mặt định kỳ trong mười hai tháng gần nhất. Chỉ 32 trong số đó có hồ sơ dữ liệu về các yếu tố cơ bản của doanh nghiệp. Mọi dữ liệu trên trang này đều được định giá theo giá đóng cửa của phiên Sep 4.
Danh sách cổ phiếu trả cổ tức hằng tháng
Mỗi mã dưới đây là cổ phiếu của một công ty nộp báo cáo tại Mỹ, đã ghi nhận từ mười đến mười bốn lần chi trả tiền mặt định kỳ trong mười hai tháng qua và có giá trị giao dịch cổ phiếu tối thiểu một triệu USD mỗi ngày. Thứ hạng được xếp theo giá trị giao dịch hằng ngày.
| ticker | khoản thanh toán hàng tháng (USD) | lợi suất hàng năm (%) | số năm thanh toán hàng tháng | giá trị giao dịch trung bình hàng ngày (triệu USD) | tính đến giá ngày |
|---|---|---|---|---|---|
| O | 0.271 | 5.3 | 14.2 | 220.3 | Sep 4 |
| AGNC | 0.12 | 13.37 | 11.9 | 139.8 | Sep 4 |
| DOC | 0.1017 | 5.84 | 1.5 | 70.7 | Sep 4 |
| DX | 0.17 | 15.78 | 7.6 | 52 | Sep 4 |
| ADC | 0.267 | 4.41 | 5.7 | 51.5 | Sep 4 |
| ARR | 0.24 | 17.6 | 6.2 | 45.7 | Sep 4 |
| EPR | 0.31 | 6.2 | 5.1 | 28.3 | Sep 4 |
| APLE | 0.08 | 6.13 | 4.7 | 27.8 | Sep 4 |
| MAIN | 0.265 | 5.49 | 13.9 | 27.3 | Sep 4 |
| ORC | 0.1 | 18.29 | 13.4 | 22.9 | Sep 4 |
| PECO | 0.1083 | 3.35 | 5 | 19.4 | Sep 4 |
| SMA | 0.1359 | 5.01 | 1.3 | 16.2 | Sep 4 |
| IVR | 0.12 | 19.94 | 0.7 | 14.7 | Sep 4 |
| CSWC | 0.1934 | 9.38 | 1.2 | 14.4 | Sep 4 |
| LTC | 0.19 | 5.54 | 14.2 | 13.5 | Sep 4 |
| EFC | 0.13 | 11.56 | 7.3 | 11.3 | Sep 4 |
| PFLT | 0.08 | 12.93 | 14.1 | 5.7 | Sep 4 |
| LAND | 0.0467 | 5.75 | 13.5 | 5.7 | Sep 4 |
| GOOD | 0.1 | 9.16 | 14.2 | 3.8 | Sep 4 |
| PBT | 0.0187 | 0.66 | 14.2 | 3.7 | Sep 4 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT m.ticker AS ticker,
round(m.latest_payment, 4) AS monthly_payment_usd,
round(100 * m.latest_payment * 12 / l.last_close, 2) AS annual_yield_pct,
round(dateDiff('day', s.streak_start, s.last_ex) / 365.25, 1) AS years_paying_monthly,
round(l.adv_usd / 1e6, 1) AS avg_daily_traded_musd,
formatDateTime(l.last_session, '%b %e') AS priced_through
FROM (
SELECT ticker, argMax(cash_amount, ex_dividend_date) AS latest_payment
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
AND cash_amount > 0
AND distribution_type = 'recurring'
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 400 AND today())
GROUP BY ticker
HAVING count() BETWEEN 10 AND 14
AND argMax(frequency, ex_dividend_date) = 12
) AS m
INNER JOIN (
SELECT ticker,
maxIf(ed, gap_days > 70) AS streak_start,
max(ed) AS last_ex
FROM (
SELECT ticker, ex_dividend_date AS ed,
dateDiff('day',
lagInFrame(ex_dividend_date) OVER (PARTITION BY ticker ORDER BY ex_dividend_date),
ex_dividend_date) AS gap_days
FROM (
SELECT ticker, ex_dividend_date
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring' AND cash_amount > 0 AND ex_dividend_date <= today()
GROUP BY ticker, ex_dividend_date
)
)
GROUP BY ticker
) AS s ON s.ticker = m.ticker
INNER JOIN (
SELECT ticker,
avg(dollar_vol) AS adv_usd,
argMax(close_px, d) AS last_close,
max(d) AS last_session,
count() AS sessions
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(close) * volume) AS dollar_vol,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime(today() - 32)
AND toDate(toTimeZone(window_start, 'America/New_York')) < today()
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY ticker, d
)
GROUP BY ticker
HAVING sessions >= 15 AND adv_usd >= 1000000 AND last_close > 0
) AS l ON l.ticker = m.ticker
INNER JOIN (
SELECT ticker
FROM global_markets.stocks_ratios
GROUP BY ticker
HAVING argMax(market_cap, date) > 0
) AS f ON f.ticker = m.ticker
ORDER BY l.adv_usd DESC
LIMIT 60O là mã trả cổ tức hằng tháng có thanh khoản cao nhất trong danh sách này: khoản chi trả hằng tháng là $0.271, đã duy trì chi trả hằng tháng liên tục trong 14.2 năm và có yield thường niên 5.3% so với giá đóng cửa Sep 4, với giá trị giao dịch cổ phiếu bình quân mỗi phiên là 220.3 triệu USD. Bộ lọc trả về 28 mã. Cột yield quy đổi khoản chi trả gần nhất thành mười hai lần mỗi năm rồi chia cho giá đóng cửa đó, nên sẽ thay đổi mỗi khi giá biến động. Đây không phải là dự báo dòng tiền trong mười hai tháng tới.
Nhà đầu tư phải sở hữu cổ phiếu trước ngày giao dịch không hưởng quyền (ex-dividend date) để nhận khoản chi trả kế tiếp. Lịch các ngày ex-dividend sắp tới cho biết mã nào sẽ giao dịch không hưởng quyền tiếp theo, còn bài viết giải thích về ngày ex-dividend trình bày mốc thời gian quyết định người mua có được nhận khoản chi trả hay không.
Cách xác định quỹ chi trả hằng tháng
Dữ liệu cổ tức có nhãn tần suất chi trả, nhưng chỉ dựa vào nhãn này sẽ dẫn đến kết quả sai theo cả hai hướng. Phép kiểm tra này đếm số lần ticker thực tế đã chi trả, sau đó đặt giới hạn ở cả hai đầu.
| nhóm | ticker | được gắn nhãn hàng tháng | hồ sơ doanh nghiệp |
|---|---|---|---|
| One a year | 3995 | 55 | 30 |
| Two a year | 2407 | 36 | 44 |
| Three to six a year | 4452 | 182 | 1477 |
| Seven to nine a year | 164 | 162 | 5 |
| Ten to fourteen a year | 1569 | 1565 | 32 |
| Fifteen to thirty-nine a year | 71 | 0 | 0 |
| Forty or more a year | 118 | 0 | 0 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH payers AS (
SELECT ticker,
count() AS payments_12m,
argMax(frequency, ex_dividend_date) AS freq_flag
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
AND cash_amount > 0
AND distribution_type = 'recurring'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
filers AS (
SELECT ticker
FROM global_markets.stocks_ratios
GROUP BY ticker
HAVING argMax(market_cap, date) > 0
)
SELECT multiIf(payments_12m = 1, 'One a year',
payments_12m = 2, 'Two a year',
payments_12m BETWEEN 3 AND 6, 'Three to six a year',
payments_12m BETWEEN 7 AND 9, 'Seven to nine a year',
payments_12m BETWEEN 10 AND 14, 'Ten to fourteen a year',
payments_12m BETWEEN 15 AND 39, 'Fifteen to thirty-nine a year',
'Forty or more a year') AS bucket,
count() AS tickers,
countIf(freq_flag = 12) AS labelled_monthly,
countIf(ticker IN (SELECT ticker FROM filers)) AS company_filings
FROM payers
GROUP BY bucket
ORDER BY min(payments_12m)118 ticker đã thực hiện từ bốn mươi khoản chi trả tiền mặt định kỳ trở lên trong một năm gần nhất, còn 71 ticker thực hiện từ mười lăm đến ba mươi chín khoản. Đây là các quỹ chi trả hằng tuần và hằng ngày, thuộc một phân khúc đang tăng trưởng nhanh trên thị trường quỹ. Nếu bộ lọc chỉ yêu cầu “từ mười khoản chi trả trở lên”, tất cả các quỹ này sẽ bị xếp vào danh sách chi trả hằng tháng. Giới hạn số lần chi trả ở mức mười bốn sẽ loại chúng ra.
Chỉ dựa vào nhãn cũng không tốt hơn. Có 55 ticker mang nhãn tần suất hằng tháng nhưng chỉ chi trả đúng một lần trong năm, và 182 ticker trong số đó chi trả từ ba đến sáu lần. Trong khoảng từ mười đến mười bốn khoản chi trả, nhãn và dữ liệu thực tế trùng khớp 1565 lần trên 1569 lần. Vì vậy, trang này yêu cầu sử dụng cả hai tiêu chí.
Phần lớn đơn vị chi trả hằng tháng là quỹ, không phải doanh nghiệp hoạt động
Đây là phần thường bị các bài tổng hợp bỏ qua. Dữ liệu không có nhãn phân loại quỹ, ETF hay REIT, nên không thể lọc danh sách các đơn vị chi trả hằng tháng để chỉ giữ lại doanh nghiệp hoạt động dựa trên nhãn. Tuy nhiên, dữ liệu có nguồn thông tin về các chỉ số cơ bản của doanh nghiệp, trong đó báo cáo vốn hóa thị trường của các doanh nghiệp hoạt động thuộc phạm vi theo dõi. Quỹ giao dịch trên sàn và quỹ đóng nằm ngoài phạm vi dữ liệu này. Vì vậy, trên trang này, sự hiện diện của vốn hóa thị trường được dùng làm chỉ dấu đại diện cho một doanh nghiệp hoạt động. Trong số 1569 ticker thuộc nhóm chi trả hằng tháng, 32 ticker có thông tin này. Các ticker còn lại không có bản ghi tương tự. Phần lớn trong số đó là quỹ giao dịch trên sàn, quỹ đóng và quỹ interval, cùng một số chứng chỉ, trust và tổ chức phát hành quy mô nhỏ hơn mà nguồn dữ liệu không bao phủ.
Một số ít đơn vị có nộp thông tin chủ yếu là real estate investment trust, mortgage REIT, business development company và royalty trust. Đó là bức tranh thực tế của dòng thu nhập hằng tháng: các loại hình doanh nghiệp chi trả mỗi tháng thường được thiết kế để chuyển thẳng tiền mặt cho nhà đầu tư. Một doanh nghiệp hoạt động thông thường có lịch sử tăng trưởng cổ tức hai thập kỷ, nhưng chi trả hằng tháng tương tự một doanh nghiệp dẫn đầu về tăng trưởng cổ tức trong hai thập kỷ gần như không tồn tại; các doanh nghiệp này thường chi trả theo quý. Lý do lịch chi trả theo quý trở thành thông lệ mặc định tại Mỹ, cùng với những loại hình đi ngược thông lệ đó, được trình bày trong giải thích về cổ phiếu cổ tức chi trả hằng tháng.
Cổ phiếu trả cổ tức hằng tháng có mức yield bao nhiêu
Mức yield trong nhóm cổ phiếu trả cổ tức hằng tháng phân hóa rộng hơn nhiều so với toàn thị trường. Bảng này phân nhóm mọi cổ phiếu trả cổ tức hằng tháng đáp ứng ngưỡng thanh khoản và có đủ dữ liệu giá trong một năm. Bảng cũng bổ sung một cột mà các bộ lọc yield thường không có: giá cổ phiếu đã biến động thế nào trong 12 tháng đó.
| nhóm | các bên thanh toán | lợi suất trung vị (%) | biến động giá trung vị trong 12 tháng (%) | hồ sơ doanh nghiệp |
|---|---|---|---|---|
| Under 3% | 67 | 2.28 | -0.4 | 1 |
| From 3% to 5% | 289 | 4.17 | -2.3 | 2 |
| From 5% to 8% | 221 | 6.36 | -2.1 | 9 |
| From 8% to 12% | 92 | 9.36 | -3.2 | 6 |
| Above 12% | 73 | 14.51 | -8.9 | 10 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH monthly AS (
SELECT ticker, argMax(cash_amount, ex_dividend_date) AS latest_payment
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
AND cash_amount > 0
AND distribution_type = 'recurring'
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 400 AND today())
GROUP BY ticker
HAVING count() BETWEEN 10 AND 14
AND argMax(frequency, ex_dividend_date) = 12
),
filers AS (
SELECT ticker
FROM global_markets.stocks_ratios
GROUP BY ticker
HAVING argMax(market_cap, date) > 0
),
tape AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(close) * volume) AS dollar_vol,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN (SELECT ticker FROM monthly)
AND (window_start >= toDateTime(today() - 32)
OR (window_start >= toDateTime(today() - 378) AND window_start < toDateTime(today() - 358)))
AND toDate(toTimeZone(window_start, 'America/New_York')) < today()
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY ticker, d
),
px AS (
SELECT ticker,
avgIf(dollar_vol, d > today() - 32) AS adv_usd,
argMaxIf(close_px, d, d > today() - 32) AS last_close,
argMaxIf(close_px, d, d <= today() - 358) AS close_year_ago,
countIf(d > today() - 32) AS recent_sessions,
countIf(d <= today() - 358) AS old_sessions
FROM tape
GROUP BY ticker
HAVING recent_sessions >= 15
AND old_sessions > 0
AND adv_usd >= 1000000
AND last_close > 0
AND close_year_ago > 0
),
named AS (
SELECT m.ticker AS ticker,
100 * m.latest_payment * 12 / p.last_close AS yld,
100 * (p.last_close - p.close_year_ago) / p.close_year_ago AS price_change,
m.ticker IN (SELECT ticker FROM filers) AS is_filer
FROM monthly m
INNER JOIN px p ON p.ticker = m.ticker
)
SELECT multiIf(yld < 3, 'Under 3%',
yld < 5, 'From 3% to 5%',
yld < 8, 'From 5% to 8%',
yld < 12, 'From 8% to 12%',
'Above 12%') AS bucket,
count() AS payers,
round(quantileDeterministic(0.5)(yld, cityHash64(ticker)), 2) AS median_yield_pct,
round(quantileDeterministic(0.5)(price_change, cityHash64(ticker)), 1) AS median_price_change_12m_pct,
countIf(is_filer) AS company_filings
FROM named
GROUP BY bucket
ORDER BY median_yield_pctNhóm lớn nhất là From 3% to 5%, gồm 289 mã, so với 221 mã trong nhóm From 5% to 8% và 67 mã trong nhóm Under 3%. Median yield tăng đều từ 2.28% ở nhóm thấp nhất lên 14.51% ở nhóm cao nhất.
Hãy xem cột giá ngay bên cạnh. Mức thay đổi giá trung vị trong 12 tháng là -0.4% ở nhóm yield thấp nhất và -2.3% ở nhóm From 3% to 5%, sau đó là -8.9% ở nhóm Above 12%. Yield có giá cổ phiếu ở mẫu số. Vì vậy, một mã có thể lọt vào nhóm cao nhất dù khoản chi trả không thay đổi. Yield cực cao thường phản ánh phép tính dựa trên giá cổ phiếu đang giảm, thay vì cho thấy doanh nghiệp trả cổ tức hào phóng. Bài So sánh dividend yield với lợi suất Treasury trình bày mức độ mà một con số thu nhập cao phải vượt qua.
Các mã có tỷ suất trên 12%
Bất kỳ mã nào chi trả hằng tháng với yield cao hơn khoảng 12% đều đáng được xem xét kỹ hơn. Dưới đây là các công ty đã công bố hồ sơ và vượt ngưỡng này, cùng diễn biến giá cổ phiếu và khoản chi trả hằng tháng trong năm qua.
| ticker | lợi suất hàng năm (%) | biến động giá trong 12 tháng (%) | thay đổi khoản thanh toán trong 12 tháng (%) | giá trị giao dịch trung bình hàng ngày (triệu USD) |
|---|---|---|---|---|
| EARN | 21.99 | -22.7 | 0 | 1.6 |
| IVR | 19.94 | -5.4 | -64.7 | 14.4 |
| ORC | 18.29 | -7.2 | -16.7 | 22.2 |
| ARR | 17.6 | 7.3 | 0 | 46 |
| SAR | 16.96 | -28.1 | 0 | 2.1 |
| DX | 15.78 | 2.9 | 0 | 50.4 |
| HRZN | 14.88 | -30.4 | -45.5 | 3.5 |
| AGNC | 13.37 | 5.3 | 0 | 135 |
| PFLT | 12.93 | -27.4 | -22 | 5.7 |
| PNNT | 12.85 | -47.5 | -50 | 1.8 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH monthly AS (
SELECT ticker,
argMax(cash_amount, ex_dividend_date) AS latest_payment,
argMin(cash_amount, ex_dividend_date) AS oldest_payment
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today() - 400
AND ex_dividend_date <= today()
AND cash_amount > 0
AND distribution_type = 'recurring'
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 400 AND today())
GROUP BY ticker
HAVING countIf(ex_dividend_date > today() - 365) BETWEEN 10 AND 14
AND argMax(frequency, ex_dividend_date) = 12
AND oldest_payment > 0
),
filers AS (
SELECT ticker
FROM global_markets.stocks_ratios
GROUP BY ticker
HAVING argMax(market_cap, date) > 0
),
tape AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(close) * volume) AS dollar_vol,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN (SELECT ticker FROM monthly)
AND (window_start >= toDateTime(today() - 32)
OR (window_start >= toDateTime(today() - 378) AND window_start < toDateTime(today() - 358)))
AND toDate(toTimeZone(window_start, 'America/New_York')) < today()
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY ticker, d
),
px AS (
SELECT ticker,
avgIf(dollar_vol, d > today() - 32) AS adv_usd,
argMaxIf(close_px, d, d > today() - 32) AS last_close,
argMaxIf(close_px, d, d <= today() - 358) AS close_year_ago,
countIf(d > today() - 32) AS recent_sessions,
countIf(d <= today() - 358) AS old_sessions
FROM tape
GROUP BY ticker
HAVING recent_sessions >= 15
AND old_sessions > 0
AND adv_usd >= 1000000
AND last_close > 0
AND close_year_ago > 0
)
SELECT m.ticker AS ticker,
round(100 * m.latest_payment * 12 / p.last_close, 2) AS annual_yield_pct,
round(100 * (p.last_close - p.close_year_ago) / p.close_year_ago, 1) AS price_change_12m_pct,
round(100 * (m.latest_payment - m.oldest_payment) / m.oldest_payment, 1) AS payment_change_12m_pct,
round(p.adv_usd / 1e6, 1) AS avg_daily_traded_musd
FROM monthly m
INNER JOIN px p ON p.ticker = m.ticker
INNER JOIN filers f ON f.ticker = m.ticker
WHERE 100 * m.latest_payment * 12 / p.last_close >= 12
ORDER BY annual_yield_pct DESC
LIMIT 2510 mã vượt ngưỡng. EARN có mức annualized cao nhất, đạt 21.99%; giá cổ phiếu biến động -22.7% trong 12 tháng, còn khoản chi trả hằng tháng biến động 0%. IVR đứng tiếp theo với mức 19.94%, giá cổ phiếu biến động -5.4% và khoản chi trả biến động -64.7%. Việc cắt giảm khoản chi trả và giá giảm thường xảy ra cùng lúc ở một mã, khiến yield tăng do cả hai yếu tố này.
Yield tự nó là một chỉ số chưa đầy đủ. Đây là vấn đề được phân tích đầy đủ trong dividend yield là gì.
Cổ tức hằng tháng của Realty Income qua từng năm
Realty Income là điểm tham chiếu của nhóm này và thường là nơi bắt đầu đối với những ai tìm hiểu về cổ tức hằng tháng. Mức chi trả hằng tháng được công bố, với khoản cao nhất trong mỗi năm dương lịch, được đặt cạnh mức tăng so với năm trước và số lần mức chi trả được điều chỉnh tăng trong năm đó:
| năm | khoản thanh toán hàng tháng (USD) | % tăng hằng năm | số lần tăng | % tăng hằng năm thấp nhất |
|---|---|---|---|---|
| 2014 | 0.1834 | 0.69 | 4 | 0.69 |
| 2015 | 0.191 | 4.13 | 5 | 0.69 |
| 2016 | 0.2025 | 6.02 | 6 | 0.69 |
| 2017 | 0.2125 | 4.94 | 5 | 0.69 |
| 2018 | 0.221 | 4 | 5 | 0.69 |
| 2019 | 0.2275 | 2.94 | 5 | 0.69 |
| 2020 | 0.2345 | 3.08 | 5 | 0.69 |
| 2021 | 0.2465 | 5.12 | 5 | 0.69 |
| 2022 | 0.2485 | 0.81 | 4 | 0.69 |
| 2023 | 0.2565 | 3.22 | 5 | 0.69 |
| 2024 | 0.2635 | 2.73 | 4 | 0.69 |
| 2025 | 0.27 | 2.47 | 6 | 0.69 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH steps AS (
SELECT ed, amt,
lagInFrame(amt) OVER (ORDER BY ed ASC) AS prior_amt
FROM (
SELECT ex_dividend_date AS ed, max(cash_amount) AS amt
FROM global_markets.stocks_dividends
WHERE ticker = 'O'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date >= '2013-01-01'
AND ex_dividend_date < toStartOfYear(today())
GROUP BY ed
)
),
yearly AS (
SELECT toYear(ed) AS year,
max(amt) AS monthly_rate,
countIf(prior_amt > 0 AND amt > prior_amt) AS raise_count
FROM steps
GROUP BY year
),
seq AS (
SELECT year, monthly_rate, raise_count,
lagInFrame(monthly_rate) OVER (ORDER BY year ASC) AS prior_rate
FROM yearly
),
panel AS (
SELECT year, monthly_rate, raise_count,
100 * (monthly_rate - prior_rate) / prior_rate AS raise_pct
FROM seq
WHERE prior_rate > 0 AND year >= 2014
)
SELECT year,
round(monthly_rate, 4) AS monthly_payment_usd,
round(raise_pct, 2) AS annual_raise_pct,
raise_count,
round(min(raise_pct) OVER (), 2) AS smallest_annual_raise_pct
FROM panel
ORDER BY yearMức chi trả hằng tháng tăng từ $0.1834 trong 2014 lên $0.27 trong 2025. Mức tăng hằng năm nhỏ nhất trong bảng là 0.69%, nên mức chi trả đều tăng trong tất cả các năm được hiển thị. Mức tăng là 2.47% trong năm đầy đủ gần nhất và 0.69% trong 2014. Số lần điều chỉnh bên cạnh cho thấy mức chi trả đạt được mức đó như thế nào: riêng trong 2025 đã có 6 lần tăng riêng biệt. Các doanh nghiệp trả cổ tức hằng tháng thường điều chỉnh mức chi trả bằng những bước nhỏ vài lần mỗi năm, thay vì tăng một lần duy nhất. Toàn bộ dữ liệu được đo lường có trên trang cổ tức Realty Income.
Lịch sử chi trả hàng tháng kéo dài bao lâu
Mỗi chuỗi trên trang này được tính từ lịch sử cổ tức, không phải từ năm công ty bắt đầu chi trả hàng tháng. Lịch sử này ngắn hơn thời gian chi trả của những doanh nghiệp lâu đời nhất. Số ticker có từ mười đến mười bốn ngày ex-dividend định kỳ trong mỗi năm dương lịch đã hoàn tất:
| năm | người trả tiền hằng tháng | % tỷ trọng hằng tháng |
|---|---|---|
| 2005 | 0 | 0 |
| 2006 | 7 | 0.25 |
| 2007 | 69 | 2.32 |
| 2008 | 40 | 1.2 |
| 2009 | 47 | 1.32 |
| 2010 | 61 | 1.53 |
| 2011 | 60 | 1.44 |
| 2012 | 135 | 1.88 |
| 2013 | 730 | 10.2 |
| 2014 | 831 | 11.12 |
| 2015 | 857 | 11.5 |
| 2016 | 839 | 10.92 |
| 2017 | 869 | 10.98 |
| 2018 | 934 | 8.76 |
| 2019 | 983 | 8.94 |
| 2020 | 971 | 9.44 |
| 2021 | 1004 | 9.49 |
| 2022 | 1094 | 9.88 |
| 2023 | 1169 | 10.44 |
| 2024 | 1299 | 11.35 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_year AS (
SELECT ticker,
toYear(ex_dividend_date) AS year,
count(DISTINCT ex_dividend_date) AS payments
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date >= '2005-01-01'
AND ex_dividend_date < toStartOfYear(today())
GROUP BY ticker, year
)
SELECT year,
countIf(payments BETWEEN 10 AND 14) AS monthly_payers,
round(100 * countIf(payments BETWEEN 10 AND 14) / count(), 2) AS monthly_share_pct
FROM per_year
GROUP BY year
ORDER BY yearLịch sử này ghi nhận 60 doanh nghiệp chi trả hàng tháng trong 2011 và 135 trong 2012, sau đó là 730 trong 2013 và 1481 trong 2025. Cột tỷ trọng cho thấy bước tăng này khác với tăng trưởng đơn thuần trong nguồn dữ liệu: nhóm chi trả hàng tháng tăng từ 1.44% tổng số doanh nghiệp chi trả định kỳ lên 10.2%. Một doanh nghiệp đã chi trả hàng tháng từ lâu trước bước tăng đó cũng không thể có số năm duy trì chuỗi dài hơn khoảng thời gian mà lịch sử này ghi nhận.
Cách đo lường danh sách này
Giải thích rõ ràng mọi ngưỡng và tiêu chí loại trừ.
- Tần suất. Một ticker được xem là trả hàng tháng khi ghi nhận từ ten đến fourteen khoản chi tiền định kỳ trong 365 ngày gần nhất và nhãn tần suất mới nhất ghi là hàng tháng. Cả hai giới hạn đều quan trọng: giới hạn dưới cho phép bỏ sót một vài bản ghi, còn giới hạn trên loại các đơn vị phân phối hàng tuần và hàng ngày.
- Loại khoản chi trả. Chỉ các khoản chi trả được feed đánh dấu là định kỳ mới được tính. Các khoản đặc biệt, bổ sung và bất thường một lần bị loại khỏi phép kiểm tra tần suất và phép tính yield.
- Chuỗi liên tục. Số năm trả hàng tháng không gián đoạn được tính từ các ngày ex-date định kỳ liên tiếp, không có khoảng cách nào dài hơn seventy days. Feed đôi khi thiếu bản ghi của một tháng mà công ty thực tế vẫn đã chi trả. Vì vậy, yêu cầu đủ đúng twelve bản ghi mỗi năm sẽ làm thấp hơn thực tế mọi chuỗi chi trả. Khi tần suất chuyển sang hàng quý, khoảng trống gần three tháng xuất hiện và chuỗi được kết luận chính xác là đã kết thúc. Bản ghi dữ liệu tự đặt ra giới hạn tối đa, như bảng độ bao phủ ở trên cho thấy.
- Ngưỡng thanh khoản. Giá trị cổ phiếu giao dịch bình quân mỗi ngày phải đạt ít nhất one million dollars, trong tối thiểu fifteen phiên giao dịch giờ chính thức trong tháng vừa qua. Dưới ngưỡng này, spread niêm yết khiến yield chỉ còn mang tính lý thuyết.
- Định giá. Yield sử dụng giá đóng cửa gần nhất của một phiên đã HOÀN TẤT. Phiên đang diễn ra tại thời điểm trang này được cập nhật lại bị loại trừ. Vì vậy, dấu ngày có thể chậm hơn lịch thực tế một hoặc hai ngày.
- Bộ lọc công ty. Danh sách chính chỉ giữ các ticker có bản ghi về các chỉ số nền tảng của công ty. Bảng phân bổ yield giữ lại mọi đơn vị trả hàng tháng, bao gồm cả quỹ.
- Tiêu chí loại trừ. Các sản phẩm giao dịch trên sàn có đòn bẩy và nghịch đảo bị loại theo tên. Mọi ticker có stock split trong năm qua cũng bị loại, vì stock split làm sai lệch biến động giá và phá vỡ việc so sánh theo mỗi cổ phiếu. Một mã được hai tổ chức phát hành sử dụng lại bị loại khỏi mọi nơi.
- Những nội dung không có ở đây. Dữ liệu này không bao gồm tỷ lệ chi phí quỹ và tính chất thuế của khoản phân phối, chẳng hạn return of capital hay thu nhập. Một số quỹ trả hàng tháng có yield cao hoàn trả vốn thay vì phân phối lợi nhuận. Điều này không bao giờ thể hiện trong yield.
Câu hỏi thường gặp
Cổ phiếu nào trả cổ tức hằng tháng?
Dựa trên lịch sử chi trả trong mười hai tháng gần nhất, có 1569 ticker niêm yết tại Mỹ trả cổ tức hằng tháng. Tuy nhiên, chỉ 32 trong số đó có dữ liệu về các yếu tố cơ bản của doanh nghiệp. Phần lớn các mã còn lại là quỹ. Mã có thanh khoản cao nhất trong nhóm doanh nghiệp đã nộp hồ sơ là O. Danh sách đáp ứng ngưỡng thanh khoản có 28 mã.
Cổ phiếu trả cổ tức hằng tháng có an toàn không?
Lịch chi trả hằng tháng không bảo đảm mức độ an toàn. Nhóm này tập trung nhiều vào mortgage REIT và các quỹ tạo thu nhập từ quyền chọn. Mức chi trả của các tài sản này biến động theo điều kiện tín dụng và lãi suất. Trong nhóm trả cổ tức hằng tháng được đo lường tại đây, mức thay đổi giá trung vị trong mười hai tháng là -8.9% đối với các mã có yield trên 12%, so với -0.4% đối với các mã có yield dưới 3%.
Cổ phiếu trả cổ tức hằng tháng nào có yield cao nhất?
Trong số các doanh nghiệp trả cổ tức hằng tháng đã nộp hồ sơ và đáp ứng ngưỡng thanh khoản, EARN có yield thường niên cao nhất, ở mức 21.99% tính đến giá đóng cửa phiên Sep 4. Giá cổ phiếu này đã biến động -22.7% trong mười hai tháng trước đó. Đây là nguyên nhân mang tính số học đứng sau phần lớn các mức yield hai chữ số.
Yield hằng tháng trên trang này được tính như thế nào?
Khoản chi trả hằng tháng mới nhất đã công bố được nhân với mười hai, sau đó chia cho giá đóng cửa của phiên hoàn tất gần nhất. Cách tính này quy đổi mức chi trả hiện tại thành tỷ lệ thường niên, thay vì cộng toàn bộ dòng tiền của mười hai tháng gần nhất. Vì vậy, mã tăng mức chi trả vào giữa năm sẽ có yield hiển thị cao hơn yield tính theo dữ liệu quá khứ.
Mỗi bảng ở trên là một truy vấn được lưu trữ và quản lý phiên bản, dựa trên dữ liệu cổ tức đã công bố và dữ liệu giá theo từng phút thực tế. Bạn có thể mở phần SQL bên dưới mỗi bảng hoặc tự xây dựng bộ lọc cổ phiếu trả cổ tức hằng tháng trên terminal Strasmore.