รายชื่อหุ้นจ่ายปันผลรายเดือนอัปเดตล่าสุด
คัดกรองหุ้นจ่ายปันผลรายเดือนจากประวัติการจ่ายจริงในตลาดสหรัฐฯ พบรายชื่อบริษัทที่จ่ายเงินสดสิบสองครั้งต่อปีพร้อมข้อมูลอัตราผลตอบแทนล่าสุด ณ เดือนมิถุนายน 2026
หุ้นจ่ายปันผลรายเดือน
หุ้นที่จ่ายเงินปันผลเป็นรายเดือนจะจ่ายเงินสดทุกเดือนแทนที่จะจ่ายเพียงไตรมาสละครั้ง และรายชื่อหุ้นกลุ่มนี้ที่มีอยู่จริงนั้นสั้นกว่าที่บทความรวบรวมรายชื่อทั่วไปกล่าวอ้างไว้มาก หากคัดกรองจากประวัติการจ่ายเงินจริงแทนที่จะดูจากป้ายกำกับของผู้ให้บริการ จะพบว่ามีหุ้นที่จดทะเบียนในสหรัฐฯ จำนวน 1569 ตัว ที่มีการจ่ายเงินสดต่อเนื่องระหว่างสิบถึงสิบสี่ครั้งในช่วงสิบสองเดือนที่ผ่านมา และมีเพียง 32 ของจำนวนดังกล่าวเท่านั้นที่มีประวัติปัจจัยพื้นฐานของบริษัทรองรับ ข้อมูลทั้งหมดในหน้านี้อ้างอิงราคาปิดของช่วงการซื้อขายในวันที่ Sep 4
รายชื่อหุ้นที่จ่ายเงินปันผลรายเดือน
บริษัททุกแห่งในรายชื่อด้านล่างเป็นบริษัทที่จดทะเบียนในสหรัฐฯ ซึ่งมีการบันทึกการจ่ายเงินสดต่อเนื่องจำนวนสิบถึงสิบสี่ครั้งในช่วงสิบสองเดือนที่ผ่านมา และมีมูลค่าการซื้อขายหุ้นเฉลี่ยอย่างน้อยหนึ่งล้านดอลลาร์ต่อวัน โดยการจัดอันดับอ้างอิงจากมูลค่าการซื้อขายรายวัน
| Ticker | เงินจ่ายรายเดือน (USD) | อัตราผลตอบแทนต่อปี (%) | ระยะเวลาจ่ายรายเดือน (ปี) | มูลค่าซื้อขายเฉลี่ยต่อวัน (M USD) | ราคา ณ วันที่ |
|---|---|---|---|---|---|
| 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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 เป็นหุ้นที่จ่ายปันผลรายเดือนที่มีมูลค่าการซื้อขายสูงสุดในกลุ่มนี้ โดยมีการจ่ายเงิน 0.271 ต่อเดือน มีประวัติการจ่ายเงินรายเดือนต่อเนื่องมาเป็นเวลา 14.2 ปี และมีอัตราผลตอบแทนต่อปีอยู่ที่ 5.3% เมื่อเทียบกับราคาปิดที่ Sep 4 โดยมีมูลค่าการซื้อขายเฉลี่ยต่อวันอยู่ที่ 220.3 ล้านดอลลาร์ การคัดกรองนี้ได้ผลลัพธ์ออกมาทั้งหมด 28 รายการ คอลัมน์อัตราผลตอบแทนเป็นการคำนวณจากเงินปันผลล่าสุดเพียงงวดเดียวคูณด้วยสิบสองแล้วหารด้วยราคาปิดดังกล่าว ดังนั้นตัวเลขนี้จะเปลี่ยนแปลงตามราคาหุ้น จึงไม่ใช่การคาดการณ์กระแสเงินสดในอีกสิบสองเดือนข้างหน้า
การถือครองหุ้นก่อนวัน ex-dividend date คือสิ่งที่ทำให้ได้รับเงินปันผลงวดถัดไป ปฏิทิน วันขึ้นเครื่องหมาย XD ที่กำลังจะมาถึง จะแสดงรายชื่อหุ้นที่จะขึ้นเครื่องหมาย XD ในลำดับถัดไป และ คำอธิบายเกี่ยวกับวัน ex-dividend date จะครอบคลุมถึงเกณฑ์การตัดสิทธิที่กำหนดว่าผู้ซื้อจะได้รับเงินปันผลหรือไม่
วิธีการระบุหุ้นหรือกองทุนที่จ่ายเงินปันผลรายเดือน
ข้อมูลปันผลจะระบุความถี่ในการจ่ายมาให้ แต่การเชื่อถือเพียงข้อมูลดังกล่าวอาจนำไปสู่ความเข้าใจที่คลาดเคลื่อนได้ทั้งสองทาง การทดสอบในที่นี้ใช้วิธีนับจำนวนครั้งที่ ticker จ่ายเงินจริง แล้วจึงกำหนดขอบเขตของจำนวนครั้งนั้นทั้งสองด้าน
| กลุ่ม | Tickers | ระบุรายเดือน | เอกสารบริษัท |
|---|---|---|---|
| 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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 tickers ที่จ่ายเงินสดแบบต่อเนื่องสี่สิบครั้งขึ้นไปในช่วงหนึ่งปีที่ผ่านมา และอีก 71 tickers ที่จ่ายระหว่างสิบห้าถึงสามสิบเก้าครั้ง กลุ่มนี้คือผู้จ่ายเงินรายสัปดาห์และรายวัน ซึ่งเป็นส่วนหนึ่งของตลาดกองทุนที่กำลังเติบโตอย่างรวดเร็ว หากใช้ตัวกรองที่ระบุเพียงว่า "จ่ายสิบครั้งขึ้นไป" จะทำให้หุ้นกลุ่มนี้ทั้งหมดถูกดึงเข้ามาอยู่ในรายการรายเดือน การจำกัดจำนวนครั้งไว้ไม่เกินสิบสี่ครั้งจะช่วยคัดกรองหุ้นเหล่านี้ออกไปได้
การพึ่งพาเพียงป้ายกำกับความถี่ก็ไม่ได้ให้ผลลัพธ์ที่ดีกว่า 55 tickers ที่มีป้ายกำกับความถี่รายเดือนจ่ายเงินเพียงครั้งเดียวตลอดทั้งปี และ 182 ของ tickers เหล่านั้นจ่ายระหว่างสามถึงหกครั้ง ในช่วงสิบถึงสิบสี่ครั้ง ป้ายกำกับและบันทึกการจ่ายเงินมีความสอดคล้องกัน 1565 ครั้งจากทั้งหมด 1569 ครั้ง ซึ่งเป็นเหตุผลว่าทำไมหน้านี้จึงจำเป็นต้องใช้ข้อมูลทั้งสองส่วนประกอบกัน
ผู้จ่ายเงินปันผลรายเดือนส่วนใหญ่เป็นกองทุน ไม่ใช่บริษัทดำเนินธุรกิจ
นี่คือส่วนที่บทความจัดอันดับทั่วไปมักมองข้าม ฐานข้อมูลไม่ได้ระบุสถานะว่าเป็นกองทุน, ETF หรือ REIT ดังนั้นรายการหุ้นที่จ่ายปันผลรายเดือนจึงไม่สามารถคัดกรองเฉพาะบริษัทที่ดำเนินธุรกิจจริงด้วยป้ายกำกับได้ สิ่งที่มีให้คือข้อมูลพื้นฐานของบริษัทซึ่งรายงานมูลค่าหลักทรัพย์ตามราคาตลาด (market capitalization) สำหรับบริษัทที่ครอบคลุมอยู่ กองทุนที่ซื้อขายในตลาดหลักทรัพย์และกองทุนปิด (closed-end funds) จะอยู่นอกเหนือขอบเขตข้อมูลนี้ ทำให้การมีอยู่ของ market capitalization เป็นตัวบ่งชี้ทางอ้อมสำหรับบริษัทที่ดำเนินธุรกิจจริงในหน้านี้ จากจำนวน 1569 tickers ในกลุ่มที่จ่ายรายเดือน มีเพียง 32 เท่านั้นที่มีข้อมูลดังกล่าว ส่วนที่เหลือไม่มีบันทึกนี้ ซึ่งส่วนใหญ่เป็นกองทุน ETF, กองทุนปิด และกองทุนประเภท interval funds รวมถึงหน่วยลงทุน ทรัสต์ และผู้ออกหลักทรัพย์รายย่อยที่ฐานข้อมูลเข้าไม่ถึง
กลุ่มบริษัทจำนวนน้อยที่รายงานข้อมูลส่วนใหญ่เป็นทรัสต์เพื่อการลงทุนในอสังหาริมทรัพย์ (REITs), มอร์เกจ REITs, บริษัทพัฒนาธุรกิจ (BDCs) และรอยัลตี้ทรัสต์ นี่คือลักษณะที่แท้จริงของรายได้รายเดือน กล่าวคือ รูปแบบองค์กรที่จ่ายเงินทุกเดือนถูกสร้างขึ้นเพื่อส่งผ่านกระแสเงินสดโดยตรง หุ้นที่เป็น แชมป์การเติบโตของเงินปันผลสองทศวรรษ ในรูปแบบรายเดือนแทบไม่มีอยู่จริงในกลุ่มธุรกิจทั่วไป ซึ่งมักจ่ายเป็นรายไตรมาส เหตุผลที่รอบรายไตรมาสกลายเป็นมาตรฐานของสหรัฐอเมริกาตั้งแต่แรก และโครงสร้างใดบ้างที่แตกต่างออกไป ได้รับการอธิบายไว้ใน คำอธิบายหุ้นปันผลรายเดือน
อัตราผลตอบแทนเงินปันผลรายเดือน
อัตราผลตอบแทนในกลุ่มหุ้นที่จ่ายปันผลรายเดือนมีความแตกต่างกันกว้างกว่าตลาดโดยรวม คณะทำงานได้จัดกลุ่มหุ้นทุกตัวที่จ่ายปันผลรายเดือนซึ่งผ่านเกณฑ์สภาพคล่องขั้นต่ำและมีประวัติราคาครบหนึ่งปี พร้อมทั้งเพิ่มคอลัมน์ที่เครื่องมือคัดกรองหุ้นทั่วไปไม่มี นั่นคือการเปลี่ยนแปลงของราคาหุ้นในช่วงสิบสองเดือนที่ผ่านมา
| กลุ่ม | ผู้จ่ายเงิน | มัธยฐานอัตราผลตอบแทน (%) | มัธยฐานการเปลี่ยนแปลงราคา 12 เดือน (%) | เอกสารบริษัท |
|---|---|---|---|---|
| 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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_pctกลุ่มที่มีขนาดใหญ่ที่สุดคือ From 3% to 5% ซึ่งประกอบด้วยหุ้นจำนวน 289 ตัว เมื่อเทียบกับ 221 ตัวในกลุ่ม From 5% to 8% และ 67 ตัวในกลุ่ม Under 3% อัตราผลตอบแทนมัธยฐานปรับตัวสูงขึ้นอย่างชัดเจน โดยเริ่มจาก 2.28% ในกลุ่มล่างสุดไปจนถึง 14.51% ในกลุ่มบนสุด
เมื่อพิจารณาคอลัมน์ราคาที่อยู่ติดกัน การเปลี่ยนแปลงของราคาหุ้นมัธยฐานในช่วงสิบสองเดือนอยู่ที่ -0.4% ในกลุ่มที่ให้ผลตอบแทนต่ำที่สุด และ -2.3% ในกลุ่ม From 3% to 5% จากนั้นอยู่ที่ -8.9% ในกลุ่ม Above 12% เนื่องจากสูตรคำนวณอัตราผลตอบแทนมีราคาหุ้นเป็นตัวหาร หุ้นตัวหนึ่งจึงสามารถขยับขึ้นไปอยู่ในกลุ่มบนสุดได้โดยที่เงินปันผลจ่ายเท่าเดิม ดังนั้นอัตราผลตอบแทนที่สูงผิดปกติมักเป็นผลทางคณิตศาสตร์จากราคาหุ้นที่ปรับตัวลดลง มากกว่าจะเป็นหลักฐานว่าบริษัทนั้นจ่ายปันผลอย่างเอื้อเฟื้อ อัตราผลตอบแทนเงินปันผลเทียบกับผลตอบแทนพันธบัตรรัฐบาล ได้อธิบายถึงเกณฑ์ที่ตัวเลขรายได้ระดับสูงต้องผ่านการพิจารณา
หุ้นที่มีอัตราผลตอบแทนสูงกว่า 12%
หุ้นที่จ่ายเงินปันผลรายเดือนและมีอัตราผลตอบแทนสูงกว่าระดับประมาณ 12% สมควรได้รับการพิจารณาเป็นพิเศษ นี่คือรายชื่อบริษัทที่ผ่านเกณฑ์ดังกล่าว พร้อมข้อมูลการเปลี่ยนแปลงของราคาหุ้นและเงินปันผลรายเดือนในช่วงหนึ่งปีที่ผ่านมา
| Ticker | อัตราผลตอบแทนต่อปี (%) | การเปลี่ยนแปลงราคา 12 เดือน (%) | การเปลี่ยนแปลงการจ่ายเงิน 12 เดือน (%) | มูลค่าซื้อขายเฉลี่ยต่อวัน (M 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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 25มีหุ้น 10 ตัวที่ผ่านเกณฑ์นี้ โดย EARN มีอัตราผลตอบแทนต่อปีสูงที่สุดที่ 21.99% ซึ่งราคาหุ้นมีการเปลี่ยนแปลง -22.7% ในช่วงสิบสองเดือนที่ผ่านมา และเงินปันผลรายเดือนมีการเปลี่ยนแปลง 0% ตามมาด้วย IVR ที่ระดับ 19.94% โดยราคาหุ้นเปลี่ยนแปลง -5.4% และเงินปันผลเปลี่ยนแปลง -64.7% การปรับลดเงินปันผลและราคาหุ้นที่ร่วงลงมักเกิดขึ้นกับหุ้นตัวเดียวกัน ซึ่งส่งผลให้อัตราผลตอบแทนเพิ่มสูงขึ้นจากทั้งสองปัจจัย
อัตราผลตอบแทนเพียงอย่างเดียวเป็นตัวเลขที่ไม่สมบูรณ์ ซึ่งเป็นประเด็นที่ dividend yield คืออะไร ได้อธิบายไว้อย่างละเอียด
เงินปันผลรายเดือนของ Realty Income ในแต่ละปี
Realty Income ถือเป็นเกณฑ์มาตรฐานสำหรับกลุ่มธุรกิจนี้ และเป็นจุดเริ่มต้นปกติสำหรับผู้ที่สนใจศึกษาเรื่องเงินปันผลรายเดือน อัตราการจ่ายรายเดือนที่ประกาศไว้ ซึ่งเป็นยอดจ่ายสูงสุดที่ประกาศในแต่ละปีปฏิทิน จะแสดงควบคู่ไปกับการปรับขึ้นจากปีก่อนหน้า และจำนวนครั้งที่อัตราการจ่ายปรับตัวสูงขึ้นภายในปีนั้นๆ:
| ปี | เงินจ่ายรายเดือน (USD) | ร้อยละการปรับขึ้นต่อปี | จำนวนครั้งที่ปรับขึ้น | ร้อยละการปรับขึ้นต่อปีที่ต่ำที่สุด |
|---|---|---|---|---|
| 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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 yearอัตราการจ่ายรายเดือนปรับจาก $0.1834 ในปี 2014 เป็น $0.27 ในปี 2025 การปรับขึ้นรายปีที่น้อยที่สุดในตารางมีค่าเท่ากับ 0.69% ดังนั้นอัตราการจ่ายจึงปรับตัวสูงขึ้นในทุกปีที่แสดงไว้ การปรับขึ้นมีอัตรา 2.47% ในปีเต็มล่าสุด และ 0.69% ในปี 2014 โดยจำนวนครั้งที่ปรับขึ้นข้างต้นแสดงให้เห็นว่าอัตราการจ่ายไปถึงจุดนั้นได้อย่างไร เช่น มีการปรับขึ้นแยกกันถึง 6 ครั้งเฉพาะในปี 2025 เท่านั้น หุ้นที่จ่ายปันผลรายเดือนจะปรับอัตราการจ่ายทีละน้อยหลายครั้งต่อปี แทนที่จะปรับครั้งเดียวในคราวเดียว ข้อมูลโปรไฟล์ที่วัดผลไว้อย่างครบถ้วนสามารถดูได้ที่หน้า เงินปันผลของ Realty Income
ประวัติการจ่ายเงินรายเดือนย้อนหลังไปไกลแค่ไหน
สถิติความต่อเนื่องทุกรายการในหน้านี้วัดจากบันทึกการจ่ายเงินปันผล ไม่ใช่จากปีที่บริษัทเริ่มจ่ายเงินรายเดือนเป็นครั้งแรก ดังนั้นบันทึกนี้จึงมีอายุน้อยกว่าบริษัทที่จ่ายเงินรายเดือนมานานที่สุด โดยนับจำนวน tickers ที่มีวัน ex-dividend date เกิดขึ้นซ้ำสิบถึงสิบสี่ครั้งในแต่ละปีปฏิทินที่ครบถ้วน:
| ปี | ผู้ชำระรายเดือน | สัดส่วนรายเดือน (%) |
|---|---|---|
| 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 |
SQL เบื้องหลังตัวเลขแต่ละตัว
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 yearบันทึกนี้ครอบคลุมบริษัทที่จ่ายเงินรายเดือนจำนวน 60 แห่งในปี 2011 และจำนวน 135 แห่งในปี 2012 จากนั้นเป็นจำนวน 730 แห่งในปี 2013 และ 1481 แห่งในปี 2025 คอลัมน์ส่วนแบ่งแยกขั้นตอนดังกล่าวออกจากการเติบโตปกติในข้อมูล โดยบริษัทที่จ่ายเงินรายเดือนมีสัดส่วนเพิ่มขึ้นจาก 1.44% ของบริษัทที่จ่ายเงินปันผลซ้ำทั้งหมด เป็น 10.2% ทั้งนี้ บริษัทที่จ่ายเงินรายเดือนมานานก่อนที่จะถึงจุดเปลี่ยนดังกล่าว ไม่สามารถแสดงจำนวนปีของความต่อเนื่องในที่นี้ได้มากกว่าที่บันทึกข้อมูลมีอยู่จริง
วิธีการวัดผลรายการนี้
เกณฑ์และข้อกำหนดในการคัดออกทั้งหมด อธิบายด้วยภาษาที่เข้าใจง่าย
- ความถี่ในการจ่าย: Ticker จะถูกจัดว่าเป็นแบบรายเดือนเมื่อมีการบันทึกการจ่ายเงินสดแบบต่อเนื่องระหว่างสิบถึงสิบสี่ครั้งในช่วง 365 วันที่ผ่านมา และป้ายกำกับความถี่ล่าสุดระบุว่าเป็นรายเดือน โดยเกณฑ์ทั้งสองด้านมีความสำคัญ: ขอบเขตล่างช่วยให้รองรับกรณีที่มีข้อมูลขาดหายไปบ้าง ส่วนขอบเขตบนช่วยคัดกรองกองทุนที่จ่ายรายสัปดาห์หรือรายวันออกไป
- ประเภทการจ่ายเงิน: จะนับเฉพาะการจ่ายเงินที่ระบบระบุว่าเป็นแบบต่อเนื่อง (recurring) เท่านั้น ส่วนการจ่ายเงินพิเศษ การจ่ายเงินเสริม และการจ่ายเงินครั้งเดียวที่ไม่สม่ำเสมอ จะถูกคัดออกจากการทดสอบความถี่และไม่นำมาคำนวณใน Yield
- ความต่อเนื่อง: จำนวนปีของการจ่ายเงินรายเดือนแบบไม่ขาดช่วง จะนับจากวัน ex-dividend date ที่ต่อเนื่องกันโดยไม่มีช่วงว่างเกินเจ็ดสิบวัน เนื่องจากบางครั้งระบบอาจไม่มีบันทึกในเดือนที่บริษัทมีการจ่ายเงินจริง การกำหนดให้ต้องมีบันทึกครบสิบสองครั้งต่อปีจึงอาจทำให้ตัวเลขความต่อเนื่องต่ำกว่าความเป็นจริง ดังนั้นการเปลี่ยนไปจ่ายแบบรายไตรมาสจะทำให้เกิดช่องว่างเกือบสามเดือนและถือเป็นการสิ้นสุดความต่อเนื่องอย่างถูกต้อง โดยบันทึกข้อมูลจะเป็นตัวกำหนดเพดานสูงสุด ดังที่แสดงในแผงข้อมูลด้านบน
- เกณฑ์สภาพคล่อง: ต้องมีมูลค่าการซื้อขายหุ้นเฉลี่ยอย่างน้อยหนึ่งล้านดอลลาร์ต่อวัน โดยต้องมีการซื้อขายในช่วงเวลาปกติอย่างน้อยสิบห้าวันทำการในเดือนที่ผ่านมา หากต่ำกว่านี้ สเปรดราคาเสนอซื้อเสนอขายจะทำให้ Yield เป็นเพียงตัวเลขเชิงทฤษฎีเท่านั้น
- การกำหนดราคา: Yield จะใช้ราคาปิดล่าสุดของรอบการซื้อขายที่เสร็จสมบูรณ์แล้ว โดยจะไม่รวมรอบการซื้อขายที่กำลังดำเนินอยู่ในขณะที่หน้านี้ถูกสร้างขึ้นใหม่ ดังนั้นวันที่ประทับตราอาจล่าช้ากว่าปฏิทินจริงหนึ่งหรือสองวัน
- การคัดกรองบริษัท: รายการหลักจะเก็บเฉพาะ Ticker ที่มีบันทึกข้อมูลพื้นฐานของบริษัทเท่านั้น ส่วนแผงแสดงการกระจายตัวของ Yield จะรวมผู้จ่ายเงินรายเดือนทั้งหมดไว้ รวมถึงกองทุนด้วย
- การคัดออก: ผลิตภัณฑ์ ETF แบบมีอัตราทด (leveraged) และแบบผกผัน (inverse) จะถูกคัดออกตามชื่อ รวมถึง Ticker ใดก็ตามที่มีการแตกหุ้น (stock split) ในช่วงปีที่ผ่านมา (เนื่องจากการแตกหุ้นทำให้ราคาเคลื่อนไหวหลอกและทำให้การเปรียบเทียบต่อหุ้นผิดเพี้ยน) สัญลักษณ์ใดที่ถูกนำกลับมาใช้ซ้ำโดยผู้ออกหลักทรัพย์สองรายจะถูกคัดออกทั้งหมด
- สิ่งที่ไม่มีในที่นี้: อัตราค่าใช้จ่ายกองทุน (expense ratios) และลักษณะทางภาษีของการจ่ายเงิน (เช่น การคืนทุนเทียบกับรายได้) ไม่ได้รวมอยู่ในข้อมูลชุดนี้ กองทุนรายเดือนที่ให้ผลตอบแทนสูงหลายแห่งใช้วิธีคืนทุนแทนการจ่ายจากกำไร ซึ่งสิ่งนี้จะไม่ปรากฏในค่า Yield
คำถามที่พบบ่อย
หุ้นตัวใดบ้างที่จ่ายเงินปันผลทุกเดือน?
เมื่อวัดจากบันทึกการจ่ายเงินในช่วงสิบสองเดือนที่ผ่านมา มีหุ้นที่จดทะเบียนในสหรัฐฯ จำนวน 1569 ตัวที่จ่ายปันผลเป็นรายเดือน แต่มีเพียง 32 ตัวเท่านั้นที่มีบันทึกปัจจัยพื้นฐานของบริษัท เกือบทั้งหมดที่เหลือคือกองทุนรวม หุ้นที่มีการซื้อขายหนาแน่นที่สุดในกลุ่มที่ยื่นรายงานคือ O และรายชื่อหุ้นที่ผ่านเกณฑ์สภาพคล่องขั้นต่ำมีจำนวนทั้งสิ้น 28 ตัว
หุ้นปันผลรายเดือนมีความปลอดภัยหรือไม่?
ตารางการจ่ายเงินรายเดือนไม่ได้เป็นเครื่องรับประกันความปลอดภัย และกลุ่มนี้มักเอนเอียงไปทาง Mortgage REITs และกองทุนที่เน้นรายได้จาก option ซึ่งการจ่ายเงินจะผันผวนตามสภาวะสินเชื่อและอัตราดอกเบี้ย ในบรรดาหุ้นที่จ่ายปันผลรายเดือนที่วัดผลในที่นี้ ค่ามัธยฐานของการเปลี่ยนแปลงราคาในช่วงสิบสองเดือนอยู่ที่ -8.9% สำหรับหุ้นที่ให้ผลตอบแทนสูงกว่า 12% เทียบกับ -0.4% สำหรับหุ้นที่ให้ผลตอบแทนต่ำกว่า 3%
หุ้นปันผลรายเดือนตัวใดให้ผลตอบแทนสูงสุด?
ในบรรดาบริษัทที่จ่ายปันผลรายเดือนและผ่านเกณฑ์สภาพคล่องขั้นต่ำ EARN มีอัตราผลตอบแทนต่อปีสูงสุดที่ 21.99% ณ ราคาปิดของวันที่ Sep 4 ราคาหุ้นของบริษัทมีการเคลื่อนไหว -22.7% ในช่วงสิบสองเดือนที่ผ่านมา ซึ่งเป็นที่มาทางคณิตศาสตร์ของผลตอบแทนระดับเลขสองหลักส่วนใหญ่
อัตราผลตอบแทนรายเดือนในหน้านี้คำนวณอย่างไร?
การจ่ายเงินรายเดือนครั้งล่าสุดที่ประกาศจะถูกคูณด้วยสิบสอง แล้วหารด้วยราคาปิดของรอบการซื้อขายล่าสุด วิธีนี้เป็นการคำนวณอัตราปัจจุบันให้เป็นรายปีแทนที่จะเป็นการรวมเงินสดที่จ่ายจริงในช่วงสิบสองเดือนที่ผ่านมา ดังนั้นบริษัทที่ปรับเพิ่มเงินปันผลระหว่างปีจึงแสดงตัวเลขที่สูงกว่าอัตราผลตอบแทนย้อนหลัง (trailing yield)
ตารางทั้งหมดข้างต้นเป็นข้อมูลจากคิวรีที่จัดเก็บและระบุเวอร์ชันไว้ ซึ่งอ้างอิงจากบันทึกการประกาศจ่ายเงินปันผลและข้อมูลการซื้อขายจริงแบบรายนาที คุณสามารถขยายดูคำสั่ง SQL ภายใต้แผงข้อมูลใดก็ได้ หรือสร้างตัวกรองหุ้นที่จ่ายปันผลรายเดือนของคุณเองบนเทอร์มินัล Strasmore