Strasmore Research
สรุปภาวะตลาด Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-10-18 · data as of October 18, 2026 · refreshed weekly

รายชื่อหุ้นจ่ายปันผลรายเดือนที่คัดกรองจากประวัติจริง

สำรวจรายชื่อหุ้นจดทะเบียนในสหรัฐฯ ที่จ่ายเงินปันผลรายเดือนอย่างต่อเนื่องจริงตามประวัติการจ่ายเงิน พร้อมข้อมูลอัตราผลตอบแทนล่าสุด ณ เดือนมิถุนายน 2026 สำหรับนักลงทุนที่เน้นกระแสเงินสด

หุ้นจ่ายปันผลรายเดือน

หุ้นที่จ่ายเงินปันผลรายเดือนจะจ่ายเป็นเงินสดทุกเดือนแทนที่จะจ่ายเพียงไตรมาสละครั้ง และรายชื่อหุ้นกลุ่มนี้ที่มีอยู่จริงนั้นสั้นกว่าที่บทความรวบรวมรายชื่อทั่วไปกล่าวอ้างไว้มาก จากการคัดกรองประวัติการจ่ายเงินจริงแทนที่จะดูเพียงป้ายกำกับของผู้ให้บริการ มีหุ้นที่จดทะเบียนในสหรัฐฯ จำนวน 1590 ตัวที่จ่ายเงินสดต่อเนื่องระหว่างสิบถึงสิบสี่ครั้งในช่วงสิบสองเดือนที่ผ่านมา และมีเพียง 35 ของหุ้นเหล่านั้นที่มีประวัติปัจจัยพื้นฐานของบริษัทรองรับ ข้อมูลทุกรายการในหน้านี้อ้างอิงราคาปิดของช่วงการซื้อขายในเดือนมิถุนายน 2026 Oct 16

รายชื่อหุ้นที่จ่ายเงินปันผลรายเดือน

บริษัททุกแห่งในรายชื่อด้านล่างนี้เป็นบริษัทที่จดทะเบียนในสหรัฐฯ ซึ่งมีการจ่ายเงินสดต่อเนื่องจำนวนสิบถึงสิบสี่ครั้งในช่วงสิบสองเดือนที่ผ่านมา และมีมูลค่าการซื้อขายหุ้นเฉลี่ยอย่างน้อยหนึ่งล้านดอลลาร์ต่อวัน โดยการจัดอันดับอ้างอิงจากมูลค่าการซื้อขายรายวัน

คำสั่งดึงข้อมูลหุ้นปันผลรายเดือน - บริษัทที่จ่ายปันผลทุกเดือน เรียงลำดับตามมูลค่าการซื้อขายรายวัน
31 rows (showing 20)
Tickerเงินจ่ายรายเดือน (USD)อัตราผลตอบแทนต่อปี (%)ระยะเวลาจ่ายรายเดือน (ปี)มูลค่าซื้อขายเฉลี่ยต่อวัน (M USD)ราคา ณ วันที่
O0.27155.8114.3351.5Oct 16
AGNC0.1216.4812294.8Oct 16
DOC0.10176.431.683.1Oct 16
ADC0.2674.775.875.1Oct 16
DX0.1718.637.773.7Oct 16
ARR0.2421.796.353.4Oct 16
ORC0.124.0713.532.1Oct 16
EPR0.316.675.231.4Oct 16
PECO0.1153.615.230.5Oct 16
APLE0.085.584.825.6Oct 16
MAIN0.2655.8714.122.7Oct 16
SMA0.13154.61.419.6Oct 16
LTC0.195.1814.318.9Oct 16
IVR0.1225.920.718.1Oct 16
EFC0.1313.327.416.8Oct 16
TRIN0.1712.60.813.9Oct 16
PSEC0.03526.351411.4Oct 16
CSWC0.193410.031.311.3Oct 16
PFLT0.0814.5614.24.8Oct 16
GOOD0.19.5514.34.3Oct 16
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 60
ลองรันด้วยตัวเอง

O เป็นหุ้นที่จ่ายปันผลรายเดือนที่มีมูลค่าการซื้อขายสูงที่สุดในกลุ่มนี้ โดยมีการจ่ายเงิน 0.2715 ต่อเดือน มีประวัติการจ่ายเงินปันผลรายเดือนต่อเนื่องมาเป็นเวลา 14.3 ปี และมีอัตราผลตอบแทนต่อปีอยู่ที่ 5.81% เมื่อเทียบกับราคาปิดที่ Oct 16 โดยมีมูลค่าการซื้อขายเฉลี่ยต่อวันอยู่ที่ 351.5 ล้านดอลลาร์ การคัดกรองนี้ได้ผลลัพธ์ออกมาทั้งหมด 31 รายการ คอลัมน์อัตราผลตอบแทนคำนวณจากเงินปันผลล่าสุดเพียงงวดเดียวคูณด้วยสิบสองแล้วหารด้วยราคาปิดดังกล่าว ดังนั้นค่านี้จะเปลี่ยนแปลงไปตามราคาหุ้นเสมอ และไม่ใช่การคาดการณ์กระแสเงินสดในอีกสิบสองเดือนข้างหน้า

การถือครองหุ้นก่อนวัน ex-dividend date คือสิ่งที่ทำให้ได้รับเงินปันผลงวดถัดไป ปฏิทิน วันขึ้นเครื่องหมาย XD ที่กำลังจะมาถึง จะแสดงรายชื่อบริษัทที่จะขึ้นเครื่องหมาย XD ในลำดับถัดไป และ คำอธิบายเกี่ยวกับวัน ex-dividend date จะครอบคลุมถึงเกณฑ์การตัดสิทธิที่ใช้ตัดสินว่าผู้ซื้อจะได้รับเงินปันผลหรือไม่

วิธีการระบุหุ้นหรือกองทุนที่จ่ายเงินปันผลรายเดือน

ข้อมูลปันผลจะระบุความถี่ในการจ่ายไว้ แต่การเชื่อถือเพียงป้ายกำกับดังกล่าวอาจนำไปสู่ความเข้าใจที่คลาดเคลื่อนได้ทั้งสองทาง การทดสอบในที่นี้ใช้วิธีนับจำนวนครั้งที่ ticker จ่ายเงินจริง จากนั้นจึงกำหนดขอบเขตของจำนวนครั้งดังกล่าว

คำสั่งดึงข้อมูลการจ่ายเงินสดตามรอบราย Ticker ในรอบ 1 ปีที่ผ่านมา - แสดงตำแหน่งของรอบการจ่ายรายเดือน
กลุ่มTickersระบุรายเดือนเอกสารบริษัท
One a year33876234
Two a year29944136
Three to six a year45381891483
Seven to nine a year1571533
Ten to fourteen a year1590158135
Fifteen to thirty-nine a year6400
Forty or more a year12200
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)
ลองรันด้วยตัวเอง

มี 122 tickers ที่จ่ายเงินสดแบบต่อเนื่องตั้งแต่สี่สิบครั้งขึ้นไปในช่วงหนึ่งปีที่ผ่านมา และอีก 64 tickers ที่จ่ายระหว่างสิบห้าถึงสามสิบเก้าครั้ง ซึ่งถือเป็นกลุ่มที่จ่ายรายสัปดาห์และรายวัน อันเป็นส่วนของตลาดกองทุนที่กำลังเติบโตอย่างรวดเร็ว หากใช้ตัวกรองที่ระบุเพียงว่า "จ่ายสิบครั้งขึ้นไป" จะทำให้หุ้นกลุ่มนี้ทั้งหมดถูกดึงเข้ามาอยู่ในรายการรายเดือน การจำกัดจำนวนครั้งไว้ไม่เกินสิบสี่ครั้งจึงช่วยคัดกรองกลุ่มนี้ออกไปได้

ป้ายกำกับเพียงอย่างเดียวก็ไม่ได้ให้ผลลัพธ์ที่ดีกว่า โดยมี 62 tickers ที่มีป้ายกำกับความถี่รายเดือนแต่จ่ายจริงเพียงครั้งเดียวตลอดทั้งปี และ 189 tickers ที่จ่ายระหว่างสามถึงหกครั้ง ทั้งนี้ ในช่วงสิบถึงสิบสี่ครั้ง ป้ายกำกับและบันทึกการจ่ายเงินมีความสอดคล้องกัน 1581 ครั้งจากทั้งหมด 1590 ครั้ง ซึ่งเป็นเหตุผลว่าทำไมหน้านี้จึงจำเป็นต้องใช้ข้อมูลทั้งสองส่วนประกอบกัน

Most monthly payers are funds, not operating companies

This is the part the listicles skip. The warehouse carries no fund, ETF or REIT type flag, so a monthly-payer list cannot be filtered to operating companies by label. What it does carry is a company-fundamentals feed that reports a market capitalization for the operating companies it covers. Exchange-traded and closed-end funds fall outside that coverage, which makes the presence of a market capitalization the working proxy for an operating company on this page. Of the 1590 tickers in the monthly band, 35 carry one. The rest carry no such record. Most of them are exchange-traded, closed-end and interval funds, with a tail of units, trusts and smaller issuers the feed does not reach.

The handful that do file are dominated by real estate investment trusts, mortgage REITs, business development companies and royalty trusts. That is the honest shape of monthly income: the corporate forms that pay every month are built to pass cash straight through. A monthly equivalent of a two-decade dividend growth champion barely exists among ordinary operating businesses, which pay quarterly. Why quarterly became the American default in the first place, and which structures break from it, is worked through in monthly dividend stocks explained.

หุ้นที่จ่ายเงินปันผลรายเดือนให้ผลตอบแทนเท่าใด

อัตราผลตอบแทนของกลุ่มหุ้นที่จ่ายปันผลรายเดือนมีความแตกต่างกันมากกว่าหุ้นในตลาดโดยรวม คณะทำงานได้จัดกลุ่มหุ้นทุกตัวที่จ่ายปันผลรายเดือนซึ่งผ่านเกณฑ์สภาพคล่องขั้นต่ำและมีประวัติราคาครบหนึ่งปี โดยเพิ่มคอลัมน์หนึ่งที่หน้าจอแสดงผลตอบแทนทั่วไปมักไม่แสดง นั่นคือการเปลี่ยนแปลงของราคาหุ้นในช่วงสิบสองเดือนที่ผ่านมา

คำสั่งดึงข้อมูลการกระจายตัวของ Yield ในหุ้นที่จ่ายปันผลรายเดือนที่มีสภาพคล่อง พร้อมค่ามัธยฐานการเปลี่ยนแปลงราคาในรอบ 12 เดือนของแต่ละกลุ่ม
กลุ่มผู้จ่ายเงินมัธยฐานอัตราผลตอบแทน (%)มัธยฐานการเปลี่ยนแปลงราคา 12 เดือน (%)เอกสารบริษัท
Under 3%772.44-1.11
From 3% to 5%3164.2-4.43
From 5% to 8%2416.2-4.89
From 8% to 12%1289.22-7.23
Above 12%9314.73-15.115
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% ซึ่งมีหุ้นอยู่ 316 ตัว เทียบกับ 241 ตัวในกลุ่ม From 5% to 8% และ 77 ตัวในกลุ่ม Under 3% ค่ามัธยฐานของอัตราผลตอบแทนปรับตัวสูงขึ้นอย่างชัดเจน โดยเริ่มจาก 2.44% ในกลุ่มล่างสุดไปจนถึง 14.73% ในกลุ่มบนสุด

คราวนี้ลองพิจารณาคอลัมน์ราคาที่อยู่ข้างกัน ค่ามัธยฐานของการเปลี่ยนแปลงราคาในช่วงสิบสองเดือนอยู่ที่ -1.1% ในกลุ่มที่ให้ผลตอบแทนต่ำที่สุด และ -4.4% ในกลุ่ม From 3% to 5% จากนั้นอยู่ที่ -15.1% ในกลุ่ม Above 12% เนื่องจากอัตราผลตอบแทนมีราคาหุ้นเป็นตัวหาร หุ้นตัวหนึ่งจึงสามารถขยับขึ้นไปอยู่ในกลุ่มบนสุดได้โดยที่เงินจ่ายปันผลไม่ได้เปลี่ยนแปลงเลย อัตราผลตอบแทนที่สูงผิดปกติมักเป็นผลทางคณิตศาสตร์จากราคาหุ้นที่ปรับตัวลดลง มากกว่าจะเป็นหลักฐานว่าบริษัทนั้นจ่ายปันผลอย่างใจกว้าง อัตราผลตอบแทนจากเงินปันผลเทียบกับอัตราผลตอบแทนพันธบัตรรัฐบาล ได้อธิบายถึงเกณฑ์ที่ตัวเลขรายได้ระดับสูงต้องผ่านให้ได้

หุ้นที่มีอัตราผลตอบแทนสูงกว่า 12%

หุ้นที่จ่ายเงินปันผลรายเดือนและมีอัตราผลตอบแทนสูงกว่าระดับ 12% โดยประมาณ สมควรได้รับการพิจารณาอีกครั้ง นี่คือบริษัทที่ยื่นรายงานข้อมูลซึ่งผ่านเกณฑ์ดังกล่าว พร้อมด้วยการเปลี่ยนแปลงของราคาหุ้นและเงินจ่ายรายเดือนในช่วงหนึ่งปีที่ผ่านมา

คำสั่งดึงข้อมูลหุ้นจ่ายปันผลรายเดือนที่มี Yield สูงกว่า 12% - การเคลื่อนไหวของราคาและเงินปันผลที่อยู่เบื้องหลังตัวเลขดังกล่าว
Tickerอัตราผลตอบแทนต่อปี (%)การเปลี่ยนแปลงราคา 12 เดือน (%)การเปลี่ยนแปลงการจ่ายเงิน 12 เดือน (%)มูลค่าซื้อขายเฉลี่ยต่อวัน (M USD)
OXSQ31.84-28.501.5
EARN27.46-33.801.6
PSEC26.35-41.7-22.211.6
IVR25.92-24.6-64.718
ORC24.07-33-16.732.1
ARR21.79-17.1053.7
SAR19.93-33.502.4
DX18.63-17.2074.1
CION18.22-30.6-72.21.8
HRZN16.69-27.4-45.51.6
AGNC16.48-13.30296.2
PNNT15.69-52.8-501.4
PFLT14.56-26.4-224.8
EFC13.32-13.1017
TRIN12.68.1-66.714
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
ลองรันด้วยตัวเอง

15 ชื่อผ่านเกณฑ์นี้ โดย OXSQ มีตัวเลขผลตอบแทนต่อปีสูงสุดที่ 31.84% ราคาหุ้นมีการเปลี่ยนแปลง -28.5% ในช่วงสิบสองเดือนที่ผ่านมา และเงินจ่ายรายเดือนมีการเปลี่ยนแปลง 0% ตามมาด้วย EARN ที่ระดับ 27.46% โดยมีการเปลี่ยนแปลงของราคา -33.8% และการเปลี่ยนแปลงของเงินจ่าย 0% การปรับลดเงินปันผลและราคาหุ้นที่ร่วงลงมักเกิดขึ้นกับหุ้นตัวเดียวกัน ซึ่งส่งผลให้อัตราผลตอบแทนเพิ่มสูงขึ้นจากทั้งสองปัจจัย

อัตราผลตอบแทนเป็นเพียงตัวเลขที่ไม่สมบูรณ์ในตัวเอง ซึ่งเป็นประเด็นที่ อัตราเงินปันผลตอบแทนคืออะไร ได้อธิบายไว้อย่างละเอียด

เงินปันผลรายเดือนของ Realty Income ในแต่ละปี

Realty Income ถือเป็นเกณฑ์มาตรฐานสำหรับกลุ่มธุรกิจนี้ และเป็นจุดเริ่มต้นปกติสำหรับผู้ที่ศึกษาเรื่องเงินปันผลรายเดือน อัตราการจ่ายรายเดือนที่ประกาศไว้ ซึ่งเป็นยอดจ่ายสูงสุดที่ประกาศในแต่ละปีปฏิทิน แสดงอยู่เคียงข้างกับการปรับเพิ่มขึ้นเมื่อเทียบกับปีก่อนหน้า และจำนวนครั้งที่อัตราการจ่ายปรับตัวสูงขึ้นภายในปีนั้น:

คำสั่งดึงข้อมูลอัตราการจ่ายปันผลรายเดือนของ Realty Income ตามปีปฏิทิน การปรับเพิ่มขึ้นจากปีก่อนหน้า และการปรับขึ้นระหว่างปี
ปีเงินจ่ายรายเดือน (USD)ร้อยละการปรับขึ้นต่อปีจำนวนครั้งที่ปรับขึ้นร้อยละการปรับขึ้นต่อปีที่ต่ำที่สุด
20140.18340.6940.69
20150.1914.1350.69
20160.20256.0260.69
20170.21254.9450.69
20180.221450.69
20190.22752.9450.69
20200.23453.0850.69
20210.24655.1250.69
20220.24850.8140.69
20230.25653.2250.69
20240.26352.7340.69
20250.272.4760.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

ประวัติการจ่ายเงินรายเดือนย้อนหลังไปไกลแค่ไหน

สถิติทุกรายการในหน้านี้วัดจากบันทึกเงินปันผล แทนที่จะวัดจากปีที่บริษัทเริ่มจ่ายเงินรายเดือนเป็นครั้งแรก ดังนั้นบันทึกนี้จึงมีอายุสั้นกว่าบริษัทที่จ่ายเงินมานานที่สุด โดยนับจำนวน Ticker ที่มีวัน ex-dividend date เกิดขึ้นซ้ำสิบถึงสิบสี่ครั้งในแต่ละปีปฏิทินที่ครบถ้วน:

คำสั่งดึงข้อมูลหุ้นที่จ่ายปันผลรายเดือนในบันทึกเงินปันผล จำแนกตามปีปฏิทินที่เสร็จสมบูรณ์
21 rows (showing 20)
ปีผู้ชำระเงินรายเดือนสัดส่วนรายเดือน (%)
200500
200670.25
2007692.32
2008401.2
2009471.32
2010611.53
2011601.44
20121351.88
201373010.2
201483111.12
201585711.5
201683910.92
201786910.98
20189348.76
20199838.94
20209719.44
202110049.49
202210949.88
2023116910.44
2024129911.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 วันที่ผ่านมา และป้ายกำกับความถี่ล่าสุดระบุว่าเป็นรายเดือน ทั้งสองขอบเขตมีความสำคัญ โดยขอบเขตล่างช่วยรองรับกรณีที่มีข้อมูลขาดหายไปบ้าง ส่วนขอบเขตบนช่วยคัดกรองกองทุนที่จ่ายรายสัปดาห์หรือรายวันออกไป
  • ประเภทการจ่ายเงิน. นับเฉพาะการจ่ายเงินที่ระบบระบุว่าเป็นแบบต่อเนื่องเท่านั้น การจ่ายเงินพิเศษ เงินสมทบ และการจ่ายครั้งเดียวที่ไม่สม่ำเสมอ จะถูกคัดออกจากการทดสอบความถี่และไม่นำมาคำนวณใน Yield
  • ความต่อเนื่อง. จำนวนปีของการจ่ายเงินรายเดือนแบบไม่ขาดช่วง จะนับจากวัน ex-dividend date ที่เป็นแบบต่อเนื่องโดยไม่มีช่วงว่างเกินเจ็ดสิบวัน ระบบอาจขาดบันทึกในบางเดือนที่บริษัทมีการจ่ายจริง ดังนั้นการกำหนดให้ต้องมีบันทึกครบสิบสองครั้งต่อปีจะทำให้ค่าความต่อเนื่องต่ำกว่าความเป็นจริง การเปลี่ยนไปจ่ายแบบรายไตรมาสจะทำให้เกิดช่วงว่างประมาณสามเดือนและถือเป็นการสิ้นสุดความต่อเนื่องอย่างถูกต้อง ข้อมูลบันทึกจะเป็นตัวกำหนดเพดานสูงสุด ดังที่แสดงในแผงข้อมูลด้านบน
  • เกณฑ์สภาพคล่อง. ต้องมีมูลค่าการซื้อขายหุ้นเฉลี่ยอย่างน้อยหนึ่งล้านดอลลาร์ต่อวัน ในช่วงเวลาทำการปกติอย่างน้อยสิบห้าวันทำการในเดือนที่ผ่านมา หากต่ำกว่านี้ สเปรดราคาเสนอซื้อเสนอขายจะทำให้ค่า Yield เป็นเพียงตัวเลขทางทฤษฎีเท่านั้น
  • การกำหนดราคา. ค่า Yield ใช้ราคาปิดล่าสุดของรอบการซื้อขายที่เสร็จสมบูรณ์แล้ว โดยจะไม่รวมรอบการซื้อขายที่กำลังดำเนินอยู่ในขณะที่หน้านี้ถูกสร้างขึ้นใหม่ ดังนั้นวันที่ประทับอาจล่าช้ากว่าปฏิทินจริงหนึ่งหรือสองวัน
  • การคัดกรองบริษัท. รายการหลักจะเก็บเฉพาะ Ticker ที่มีบันทึกปัจจัยพื้นฐานของบริษัทเท่านั้น ส่วนแผงแสดงการจ่ายเงิน Yield จะรวมผู้จ่ายเงินรายเดือนทุกราย รวมถึงกองทุนต่างๆ ด้วย
  • ข้อยกเว้น. ผลิตภัณฑ์ ETF แบบ Leveraged และ Inverse จะถูกคัดออกตามชื่อ รวมถึง Ticker ใดก็ตามที่มีการแตกหุ้น (Stock split) ในช่วงปีที่ผ่านมา (การแตกหุ้นทำให้ราคาเคลื่อนไหวหลอกและทำให้การเปรียบเทียบต่อหุ้นผิดเพี้ยน) สัญลักษณ์ที่ถูกนำกลับมาใช้ซ้ำโดยผู้ออกหลักทรัพย์สองรายจะถูกคัดออกทั้งหมด
  • สิ่งที่ไม่มีในที่นี้. อัตราค่าใช้จ่ายกองทุน (Expense ratios) และลักษณะทางภาษีของการจ่ายเงิน (การคืนทุนเทียบกับรายได้) ไม่ได้รวมอยู่ในข้อมูลชุดนี้ กองทุนรายเดือนที่ให้ผลตอบแทนสูงหลายแห่งใช้วิธีคืนทุนแทนการจ่ายจากกำไร ซึ่งสิ่งนี้จะไม่ปรากฏในค่า Yield

คำถามที่พบบ่อย

หุ้นตัวใดบ้างที่จ่ายเงินปันผลทุกเดือน?

เมื่อวัดจากบันทึกการจ่ายเงินในช่วงสิบสองเดือนที่ผ่านมา มีหุ้นที่จดทะเบียนในสหรัฐฯ จำนวน 1590 ตัวที่จ่ายปันผลเป็นรายเดือน แต่มีเพียง 35 เท่านั้นที่มีประวัติปัจจัยพื้นฐานของบริษัทรองรับ ส่วนที่เหลือเกือบทั้งหมดเป็นกองทุน หุ้นที่มีการซื้อขายหนาแน่นที่สุดในกลุ่มที่ยื่นรายงานคือ O และรายชื่อหุ้นที่ผ่านเกณฑ์สภาพคล่องขั้นต่ำมีจำนวนทั้งสิ้น 31 ตัว

หุ้นที่จ่ายปันผลรายเดือนมีความปลอดภัยหรือไม่?

ตารางการจ่ายเงินรายเดือนไม่ได้เป็นเครื่องรับประกันความปลอดภัย และกลุ่มนี้มักเอนเอียงไปทาง Mortgage REITs และกองทุนที่เน้นรายได้จากออปชัน ซึ่งการจ่ายเงินจะผันแปรตามสภาวะสินเชื่อและอัตราดอกเบี้ย สำหรับหุ้นที่จ่ายปันผลรายเดือนที่วัดผลในที่นี้ ค่ามัธยฐานของการเปลี่ยนแปลงราคาในช่วงสิบสองเดือนอยู่ที่ -15.1% สำหรับหุ้นที่มีอัตราผลตอบแทนสูงกว่า 12% เทียบกับ -1.1% สำหรับหุ้นที่มีอัตราผลตอบแทนต่ำกว่า 3%

หุ้นที่จ่ายปันผลรายเดือนตัวใดมีอัตราผลตอบแทนสูงสุด?

ในบรรดาบริษัทที่จ่ายปันผลรายเดือนและผ่านเกณฑ์สภาพคล่องขั้นต่ำ OXSQ มีอัตราผลตอบแทนต่อปีสูงสุดที่ 31.84% ณ ราคาปิดของวันที่ Oct 16 ราคาหุ้นของบริษัทมีการเคลื่อนไหว -28.5% ในช่วงสิบสองเดือนก่อนหน้า ซึ่งเป็นตัวเลขทางคณิตศาสตร์ที่อยู่เบื้องหลังอัตราผลตอบแทนระดับสองหลักส่วนใหญ่

อัตราผลตอบแทนรายเดือนในหน้านี้คำนวณอย่างไร?

การจ่ายเงินรายเดือนครั้งล่าสุดที่ประกาศจะถูกนำมาคูณด้วยสิบสอง แล้วหารด้วยราคาปิดของรอบการซื้อขายล่าสุด วิธีนี้เป็นการคำนวณอัตราปัจจุบันให้เป็นรายปี แทนที่จะเป็นการรวมเงินสดที่จ่ายจริงในช่วงสิบสองเดือนที่ผ่านมา ดังนั้นบริษัทที่ปรับเพิ่มเงินปันผลระหว่างปีจะมีตัวเลขในหน้านี้สูงกว่าอัตราผลตอบแทนย้อนหลัง (trailing yield)


ตารางทั้งหมดข้างต้นเป็นข้อมูลจากฐานข้อมูลที่มีการจัดเก็บและระบุเวอร์ชัน ซึ่งประมวลผลจากบันทึกการประกาศจ่ายเงินปันผลและข้อมูลการซื้อขายแบบนาทีต่อนาที คุณสามารถขยายดูคำสั่ง SQL ภายใต้แผงข้อมูลใดก็ได้ หรือสร้างตัวคัดกรองหุ้นที่จ่ายปันผลรายเดือนของคุณเองบนเทอร์มินัล Strasmore

#dividends#monthly dividends#income investing#reits#dividend yield