Strasmore Research
การเรียนรู้ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-07-24 · data as of July 24, 2026 · refreshed weekly

วันขึ้นเครื่องหมาย ex-dividend สัปดาห์นี้

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

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

วันขึ้นเครื่องหมาย Ex-dividend ในสัปดาห์นี้

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

คำสั่งดึงข้อมูลรายชื่อหุ้น ex-dividend รายวัน — วันขึ้นเครื่องหมายใน 7 วันข้างหน้า
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT toString(ex_dividend_date) AS ex_date,
       formatDateTime(ex_dividend_date, '%b %e') AS ex_date_label,
       count() AS names_going_ex,
       countIf(frequency = 12) AS monthly_payers,
       countIf(frequency = 4) AS quarterly_payers
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today()
  AND ex_dividend_date <= today() + 7
  AND cash_amount > 0
GROUP BY ex_dividend_date
ORDER BY ex_dividend_date

ปฏิทินระยะสั้นมีวันขึ้นเครื่องหมาย ex-dividend ทั้งหมด 5 วัน โดยเริ่มตั้งแต่ Jul 27 ด้วยหุ้นกลุ่ม 40 ซึ่งประกอบด้วย 3 ที่จ่ายปันผลรายเดือน และ 27 ที่จ่ายปันผลรายไตรมาส การแบ่งกลุ่มนี้มีความสำคัญเมื่อคุณตรวจสอบปฏิทิน เนื่องจากหุ้นที่จ่ายรายเดือน (กองทุนเพื่อรายได้, ทรัสต์เพื่อการจำนอง, REITs บางแห่ง) จะปรากฏขึ้นทุกๆ สี่สัปดาห์และมักจะกระจุกตัวอยู่ช่วงกลางเดือน ส่วนหุ้นที่จ่ายรายไตรมาส ซึ่งเป็นบริษัทจดทะเบียนส่วนใหญ่ จะปรากฏขึ้นเพียงไตรมาสละหนึ่งครั้ง หากต้องการได้รับเงินปันผลเหล่านี้ คุณต้องถือครองหุ้นจนถึงเวลาปิดตลาดของวันทำการ ก่อน วันที่ระบุไว้ รายละเอียดเกี่ยวกับจังหวะเวลาสามารถดูได้ในคู่มือ วันขึ้นเครื่องหมาย ex-dividend และ ความแตกต่างระหว่างวันกำหนดรายชื่อผู้มีสิทธิรับปันผลกับวันขึ้นเครื่องหมาย ex-dividend จะอธิบายว่าเหตุใดวัน ex-date จึงเป็นวันที่สำคัญสำหรับผู้ซื้อ

หุ้นบริษัทขนาดใหญ่เตรียมขึ้นเครื่องหมาย ex-dividend ในอีกสองสัปดาห์ข้างหน้า

รายชื่อบริษัทที่มีมูลค่าตลาดสูงสุด (10 พันล้านดอลลาร์ขึ้นไป) ที่จะขึ้นเครื่องหมาย ex-dividend ภายในสิบสี่วันข้างหน้า — ประกอบด้วยจำนวนเงินปันผล, วันที่จ่ายเงิน และอัตราผลตอบแทนต่อปี (annual yield) ที่คำนวณจากราคาปัจจุบัน:

คำสั่งดึงข้อมูลบริษัทขนาดใหญ่ที่จะ ex-dividend ใน 14 วันข้างหน้า — จำนวนเงิน, วันจ่ายเงิน, และอัตราผลตอบแทน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH latest AS (
    SELECT ticker, argMax(market_cap, date) AS mcap, argMax(price, date) AS px
    FROM global_markets.stocks_ratios
    WHERE date >= today() - 10
    GROUP BY ticker
)
SELECT d.ticker AS ticker,
       toString(d.ex_dividend_date) AS ex_date,
       formatDateTime(d.ex_dividend_date, '%b %e') AS ex_date_label,
       round(max(d.cash_amount), 4) AS per_share_usd,
       toString(any(d.pay_date)) AS pay_date,
       formatDateTime(any(d.pay_date), '%b %e') AS pay_date_label,
       round(any(l.mcap) / 1e9, 0) AS mcap_bn,
       round(100 * max(d.cash_amount) * max(d.frequency) / any(l.px), 2) AS indicated_yield_pct
FROM global_markets.stocks_dividends d
JOIN latest l ON d.ticker = l.ticker
WHERE d.ex_dividend_date > today()
  AND d.ex_dividend_date <= today() + 14
  AND d.cash_amount > 0
  AND d.distribution_type = 'recurring'
  AND d.frequency > 0
  AND l.mcap >= 10000000000
  AND d.ticker NOT IN ('SPCX')
GROUP BY d.ticker, d.ex_dividend_date
ORDER BY any(l.mcap) DESC
LIMIT 12

บริษัทที่มีมูลค่าสูงสุดในรายการคือ MS โดยจะขึ้นเครื่องหมาย ex-dividend ในวันที่ Jul 31 และจะจ่ายเงินปันผลจำนวน 1.15 ต่อหุ้นในวันที่ Aug 14 ซึ่งคิดเป็นอัตราผลตอบแทนต่อปีที่ 2.14% ตามราคาล่าสุด โปรดตรวจสอบคอลัมน์อัตราผลตอบแทนอย่างละเอียด: ค่านี้เป็นการคำนวณอัตราผลตอบแทนต่อปีจากเงินปันผลที่ประกาศตามความถี่ที่ระบุ ซึ่งเป็นการคำนวณ ณ ช่วงเวลาหนึ่งเท่านั้น ไม่ใช่การรับประกันผลตอบแทน ตัวเลขเงินปันผลต่อหุ้นที่สูงกับอัตราผลตอบแทนที่สูงนั้นเป็นคนละส่วนกัน ดังที่ อัตราผลตอบแทนเงินปันผลคืออะไร ระบุไว้ ทั้งนี้ มีหนึ่งสัญลักษณ์ที่ถูกคัดออกจากการจัดลำดับในตาราง (สามารถดูตัวกรองได้ใน SQL ของแผงควบคุม) เนื่องจากสัญลักษณ์ดังกล่าวถูกนำไปใช้ซ้ำโดยผู้ออกหลักทรัพย์รายที่สอง ทำให้ข้อมูลภายใต้สัญลักษณ์นั้นครอบคลุมถึงสองบริษัท เราจึงเลือกตัดข้อมูลนั้นออกแทนการแสดงผลที่ระบุแหล่งที่มาไม่ได้

กลุ่มบริษัทที่มีการจ่ายปันผลในขณะนี้

ข้อมูลการจ่ายปันผลไม่ได้ระบุกลุ่มอุตสาหกรรม ดังนั้นการวิเคราะห์ในช่วงระยะเวลาสองสัปดาห์จึงต้องพิจารณาจากข้อมูลที่มี ได้แก่ ขนาดของบริษัท ความถี่ในการจ่าย และอัตราผลตอบแทน (yield) ที่คำนวณจากราคาปัจจุบัน รายชื่อบริษัทที่มีการจ่ายปันผลต่อเนื่องและมีข้อมูลมูลค่าหลักทรัพย์ตามราคาตลาด (market-cap) ที่กำลังจะขึ้นเครื่องหมาย ex-dividend ภายในสิบสี่วัน โดยแบ่งตามกลุ่มขนาดบริษัท:

คำสั่งดึงข้อมูลหุ้นที่จะ ex-dividend ใน 14 วันข้างหน้า: รายชื่อ, ความถี่ และอัตราผลตอบแทนตามขนาดบริษัท
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH latest AS (
    SELECT ticker, argMax(market_cap, date) AS mcap, argMax(price, date) AS px
    FROM global_markets.stocks_ratios
    WHERE date >= today() - 10
    GROUP BY ticker
),
names AS (
    SELECT d.ticker AS ticker,
           multiIf(any(l.mcap) >= 1e11, '1 Mega cap ($100B+)',
                   any(l.mcap) >= 1e10, '2 Large cap ($10-100B)',
                   any(l.mcap) >= 2e9,  '3 Mid cap ($2-10B)',
                                        '4 Small cap (under $2B)') AS size_band,
           max(d.cash_amount) AS amt,
           max(d.frequency) AS freq,
           any(l.px) AS px
    FROM global_markets.stocks_dividends d
    JOIN latest l ON d.ticker = l.ticker
    WHERE d.ex_dividend_date > today()
      AND d.ex_dividend_date <= today() + 14
      AND d.cash_amount > 0
      AND d.distribution_type = 'recurring'
      AND d.frequency > 0
      AND l.px > 0
      AND l.mcap > 0
    GROUP BY d.ticker
)
SELECT size_band,
       count() AS names_going_ex,
       round(quantileDeterministic(0.5)(100 * amt * freq / px, cityHash64(ticker)), 2) AS median_indicated_yield_pct,
       countIf(freq = 12) AS monthly_payers,
       countIf(freq = 4) AS quarterly_payers
FROM names
GROUP BY size_band
ORDER BY size_band

ในช่วงเวลาดังกล่าวประกอบด้วยกลุ่ม mega caps (ตั้งแต่ 100 พันล้านดอลลาร์ขึ้นไป) จำนวน 4 บริษัท และกลุ่ม large caps (ระหว่าง 10 พันล้านดอลลาร์ถึง 100 พันล้านดอลลาร์) จำนวน 43 บริษัท พร้อมด้วยกลุ่ม mid caps จำนวน 37 บริษัท และกลุ่มบริษัทขนาดเล็กจำนวน 85 บริษัท ค่ามัธยฐานของอัตราผลตอบแทนอยู่ที่ 2.01% สำหรับกลุ่ม mega-cap, 2.56% สำหรับกลุ่ม large caps, 2.4% สำหรับกลุ่ม mid cap และ 2.79% สำหรับกลุ่มบริษัทขนาดเล็ก ขนาดของบริษัทและอัตราผลตอบแทนเป็นคนละปัจจัยกัน การจัดลำดับตามปฏิทินโดยใช้ผลตอบแทนจะให้รายชื่อบริษัทที่แตกต่างจากการจัดลำดับตามขนาดบริษัท ซึ่งเป็นเหตุผลว่าทำไมการคัดกรองด้วยอัตราผลตอบแทนเพียงอย่างเดียวจะนำไปสู่กลุ่มบริษัทที่มีขนาดเล็กลงเรื่อยๆ ส่วนความถี่ในการจ่ายปันผลมีการแบ่งกลุ่มเช่นเดียวกับตารางรายวันด้านบน โดยกลุ่มที่จ่ายปันผลรายไตรมาสเป็นกลุ่มหลักในตลาด ซึ่งมี mega caps จำนวน 4 บริษัทที่จ่ายรายไตรมาส และ 0 บริษัทที่จ่ายรายเดือน ในขณะที่กลุ่มที่จ่ายรายเดือนจะอยู่ในกลุ่มบริษัทที่มีขนาดเล็กกว่า โดยมีบริษัทขนาดเล็กในกลุ่มนี้จำนวน 13 บริษัทที่จ่ายปันผลทุกเดือน

สิ่งที่คุณต้องทำเพื่อให้ได้รับเงินปันผล

ในเกือบทุกกรณี คุณไม่ต้องทำอะไรเลย ไม่ต้องกรอกแบบฟอร์ม ไม่ต้องโทรหาโบรกเกอร์ และไม่ต้องลงทะเบียน เพียงแค่ถือหุ้นไว้จนถึงเวลาปิดตลาดของวันทำการก่อนวัน ex-date แล้วเงินจะเข้าบัญชีของคุณในวันจ่ายเงินปันผล ซึ่งมักจะเป็นเวลาไม่กี่สัปดาห์หลังจากนั้น การซื้อหุ้นในวันสุดท้ายก่อนวัน ex-date ยังคงนับรวมด้วย เนื่องจากธุรกรรมในสหรัฐฯ จะชำระราคาและส่งมอบในวันทำการถัดไป (T+1) และวัน ex-date จะถูกกำหนดไว้ในช่วงเวลานั้น ขั้นตอนหนึ่งที่สามารถเลือกทำได้คือ DRIP (dividend reinvestment plan) ซึ่งเป็นการตั้งค่าผ่านโบรกเกอร์เพื่อเปลี่ยนเงินปันผลให้เป็นหุ้นในสัดส่วนเศษหุ้นของหุ้นตัวเดิม

การเสียภาษีคือจุดที่วัน ex-date มีความสำคัญ สำหรับบัญชีที่ต้องเสียภาษีในสหรัฐฯ เงินปันผลจะถือเป็น qualified dividend ซึ่งเสียภาษีในอัตราต่ำแบบ capital gains ระยะยาว ก็ต่อเมื่อคุณถือหุ้นมากกว่า 60 วัน ภายในช่วงเวลา 121 วันที่เริ่มนับจาก 60 วันก่อนวัน ex-dividend หากคุณซื้อหุ้นหนึ่งวันก่อนวัน ex-date รับเงินปันผล แล้วขายหุ้นในหนึ่งสัปดาห์ต่อมา คุณจะไม่ผ่านเงื่อนไขนี้ และเงินปันผลจะถูกจัดเก็บภาษีในฐานรายได้ปกติ สำหรับ REIT และการจ่ายเงินปันผลจากกองทุนหลายประเภทจะถูกนับเป็นรายได้ปกติอยู่แล้ว นอกจากนี้ประเภทของบัญชียังมีผลต่อสถานการณ์นี้ด้วย (เช่น บัญชี IRA จะได้รับการยกเว้น) ข้อมูลนี้ไม่ใช่คำแนะนำทางภาษี แต่การถือหุ้นระยะสั้นเพื่อ "capture" เงินปันผลเพียงอย่างเดียวอาจมีมูลค่าหลังหักภาษีต่ำกว่าที่คาดไว้

พฤติกรรมราคาที่เกิดขึ้นจริงในเช้าวัน ex-date

ความเข้าใจทั่วไปคือราคาหุ้นจะเปิดตลาดในวัน ex-date โดย "ปรับลดลงตามมูลค่าเงินปันผล" แม้ตลาดหลักทรัพย์จะมีการปรับลดราคาอ้างอิงลงก่อนการเปิดตลาด แต่ราคาเปิดจริงคือราคาที่ผ่านการปรับลดนั้น บวกกับ ปัจจัยอื่นๆ ที่เกิดขึ้นในช่วงข้ามคืน ตัวอย่างจากหุ้นจ่ายปันผลสามบริษัทในวัน ex-date ล่าสุด:

คำสั่งดึงข้อมูลตัวอย่างการจ่ายเงินปันผล 3 แห่ง ณ วัน ex-date ล่าสุด — ราคาปิดก่อนหน้า, ราคาเปิดเช้าวัน ex-date และจำนวนเงิน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH last_ex AS (
    SELECT ticker,
           max(ex_dividend_date) AS ex_d,
           argMax(cash_amount, ex_dividend_date) AS div_amt
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('KO', 'VZ', 'XOM')
      AND cash_amount > 0
      AND distribution_type = 'recurring'
      AND ex_dividend_date < today()
      AND ex_dividend_date >= today() - 120
    GROUP BY ticker
),
daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_px,
           argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS open_px,
           countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('KO', 'VZ', 'XOM')
      AND window_start >= toDateTime(today() - 130)
    GROUP BY ticker, d
    HAVING bars > 200
),
seq AS (
    SELECT ticker, d, open_px, close_px,
           lagInFrame(close_px, 1) OVER (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS pre_close
    FROM daily
)
SELECT s.ticker AS ticker,
       toString(e.ex_d) AS last_ex_date,
       formatDateTime(e.ex_d, '%b %e') AS last_ex_label,
       round(e.div_amt, 4) AS dividend_usd,
       round(s.pre_close, 2) AS close_before_ex_usd,
       round(s.open_px, 2) AS ex_morning_open_usd,
       round(100 * (s.open_px - s.pre_close) / s.pre_close, 2) AS open_gap_pct,
       round(100 * e.div_amt / s.pre_close, 2) AS dividend_pct_of_price
FROM seq s
JOIN last_ex e ON e.ticker = s.ticker AND e.ex_d = s.d
WHERE s.pre_close > 0
ORDER BY ticker

พิจารณา Coca-Cola ในวัน ex-date ล่าสุดคือ Jun 15: มีการจ่ายเงินปันผลจำนวน $0.53 คิดเป็น 0.64% ของราคาปิด $82.6 ในเย็นวันก่อนหน้า โดยราคาเปิดในเช้าวัน ex-date อยู่ที่ $81.08 ซึ่งเกิดส่วนต่าง (gap) เท่ากับ -1.84% สำหรับ Verizon นั้น เงินปันผลคิดเป็น 1.68% ของราคาปิดก่อนหน้าที่ $42.22 และเปิดตลาดที่ -1.46% ส่วน Exxon นั้นเงินปันผลคิดเป็น 0.67% และเปิดตลาดที่ 0.64% จากหุ้นจ่ายปันผลทั้งสามบริษัทที่มีส่วนต่างขนาดต่างกัน พบว่าไม่มีบริษัทใดที่มีราคาเปิดตรงกับมูลค่าเงินปันผลพอดี การปรับลดราคาคือการปรับปรุงทางบัญชีสำหรับราคาอ้างอิง แต่ราคา เปิด คือราคาตลาดจริง และราคาอาจเคลื่อนไหวในช่วงข้ามคืนจากปัจจัยอื่นที่ไม่เกี่ยวข้องกับเงินปันผล ทั้งนี้มูลค่าเงินปันผลเป็นสิ่งที่ทราบล่วงหน้า แต่ราคาในเช้าวัน ex-date ไม่สามารถทราบได้ล่วงหน้า

กลยุทธ์การเทรดแบบ Dividend Capture ได้ผลจริงหรือไม่?

"Dividend capture" คือแนวคิดในการซื้อหุ้นก่อนวันขึ้นเครื่องหมาย ex-dividend เพื่อรับเงินปันผล แล้วจึงขายเมื่อราคาหุ้นกลับมาที่ระดับเดิม แนวคิดนี้มีข้อสมมติฐานที่สามารถทดสอบได้ โดยการทดสอบนี้ใช้ข้อมูลเหตุการณ์ ex-dividend จำนวน 78 ครั้ง จากหุ้นขนาดใหญ่ (mega-cap) จำนวนห้าสิบบริษัทในช่วงหกเดือนที่ผ่านมา โดยติดตามราคาตั้งแต่ราคาปิดก่อนวันขึ้นเครื่องหมาย ไปจนถึงราคาเปิดในช่วงเช้าของวันขึ้นเครื่องหมาย ราคาปิดของวันขึ้นเครื่องหมาย และราคาในอีกหนึ่ง, ห้า และสิบวันทำการถัดไป

คำสั่งดึงข้อมูลเหตุการณ์ ex-dividend ของหุ้น mega-cap ทุกตัวในรอบ 6 เดือนที่ผ่านมา — เส้นทางราคาจากราคาปิดก่อนวัน ex-date
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH rth AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_px,
           argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS open_px,
           countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'JNJ', 'KO', 'PG', 'XOM', 'CVX', 'JPM', 'HD', 'MCD',
                     'PEP', 'ABBV', 'MRK', 'PFE', 'VZ', 'T', 'CSCO', 'IBM', 'WMT', 'CAT',
                     'BAC', 'WFC', 'C', 'GS', 'MS', 'UNH', 'LLY', 'AMGN', 'BMY', 'GILD',
                     'TXN', 'QCOM', 'AVGO', 'ADP', 'LMT', 'RTX', 'HON', 'GE', 'MMM', 'UPS',
                     'LOW', 'TGT', 'COST', 'SBUX', 'NKE', 'DIS', 'CMCSA', 'DUK', 'SO', 'NEE')
      AND window_start >= toDateTime(today() - 190)
    GROUP BY ticker, d
    HAVING bars > 200
),
seq AS (
    SELECT ticker, d, open_px,
           lagInFrame(close_px, 1) OVER w AS pre_close,
           close_px AS ex_close,
           leadInFrame(close_px, 1) OVER w AS c1,
           leadInFrame(close_px, 5) OVER w AS c5,
           leadInFrame(close_px, 10) OVER w AS c10
    FROM rth
    WINDOW w AS (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND 10 FOLLOWING)
),
ev AS (
    SELECT s.ticker AS ticker, s.d AS ex_d, s.pre_close AS pre_close, s.open_px AS ex_open,
           s.ex_close AS ex_close, s.c1 AS c1, s.c5 AS c5, s.c10 AS c10,
           max(dv.cash_amount) AS div_amt
    FROM seq s
    JOIN global_markets.stocks_dividends dv ON dv.ticker = s.ticker AND dv.ex_dividend_date = s.d
    WHERE dv.cash_amount > 0
      AND dv.distribution_type = 'recurring'
      AND s.d >= today() - 160
      AND s.pre_close > 0 AND s.c1 > 0 AND s.c5 > 0 AND s.c10 > 0
    GROUP BY s.ticker, s.d, s.pre_close, s.open_px, s.ex_close, s.c1, s.c5, s.c10
),
paths AS (
    SELECT ticker, ex_d, pre_close, div_amt,
           arrayJoin([('1 ex-day open', ex_open),
                      ('2 ex-day close', ex_close),
                      ('3 one session later', c1),
                      ('4 five sessions later', c5),
                      ('5 ten sessions later', c10)]) AS chk
    FROM ev
)
SELECT chk.1 AS checkpoint,
       count() AS events,
       round(avg(100 * div_amt / pre_close), 2) AS avg_dividend_pct,
       round(avg(100 * (chk.2 - pre_close) / pre_close), 2) AS avg_move_pct,
       round(quantileDeterministic(0.5)(100 * (chk.2 - pre_close) / pre_close, cityHash64(ticker, ex_d)), 2) AS median_move_pct,
       round(100 * countIf(chk.2 >= pre_close) / count(), 1) AS pct_back_above_pre_ex
FROM paths
GROUP BY checkpoint
ORDER BY checkpoint

มูลค่าเงินปันผลเฉลี่ยอยู่ที่ 0.65% ของราคาหุ้นก่อนวันขึ้นเครื่องหมาย ในช่วงราคาเปิดเช้าวันขึ้นเครื่องหมาย ราคาหุ้นเฉลี่ยเคลื่อนที่ไป -0.5% จากราคาปิดก่อนวันขึ้นเครื่องหมาย (ค่ามัธยฐานอยู่ที่ -0.45%) และมีเพียง 25.6% ของเหตุการณ์ทั้งหมดที่เปิดที่ระดับราคาเดิมหรือสูงกว่าราคาปิดก่อนหน้า ซึ่งแสดงให้เห็นว่าราคาปรับตัวลดลงจริงและเกิดขึ้นทันที ข้อมูลต่อไปนี้คือส่วนที่คำโฆษณาไม่ได้ระบุไว้ เมื่อถึงราคาปิดของวันขึ้นเครื่องหมาย ราคาเฉลี่ยเคลื่อนที่ไปอยู่ที่ -0.69% จากราคาเริ่มต้น หนึ่งวันทำการถัดมาอยู่ที่ -1.08% เมื่อผ่านไปห้าวันอยู่ที่ -1.24% และเมื่อผ่านไปสิบวันอยู่ที่ -0.25% โดยมีเพียง 44.9% ที่กลับมาอยู่ที่ระดับเดิมหรือสูงกว่าจุดเริ่มต้น

การรอให้ราคา "กลับมาที่เดิม" หมายถึงการต้องถือหุ้นผ่านความผันผวนปกติเป็นเวลาสิบวันทำการ ซึ่งการเคลื่อนที่ของราคาในทั้งสองทิศทางนั้นมีขนาดใหญ่กว่ามูลค่าเงินปันผล 0.65% มาก ในขณะที่การถือครองระยะสั้นจะทำให้เสียสิทธิประโยชน์ทางภาษีสำหรับเงินปันผลประเภท qualified-dividend ทั้งนี้ เงินปันผลคือการโอนมูลค่าจากราคาหุ้นเข้าสู่บัญชีของคุณ ไม่ใช่เงินฟรี และทิศทางของราคาหลังจากนั้นขึ้นอยู่กับกลไกของตลาด

กองทุนและ ETF: เหตุใดจึงไม่มีข้อมูลในปฏิทินล่วงหน้า

นักลงทุนที่เน้นรายได้มักถือครองกองทุนแทนที่จะเป็นหุ้นรายตัว และสาเหตุเชิงโครงสร้างที่ทำให้ปฏิทินล่วงหน้าด้านบนมีข้อมูลกองทุนน้อยมาก เนื่องจาก exchange-traded funds ส่วนใหญ่ไม่ได้ประกาศวัน ex-date ล่วงหน้านานๆ เหมือนกับคณะกรรมการบริษัท โดยการจ่ายเงินปันผลจะถูกบันทึกลงในระบบ ณ วัน ex-date หรือก่อนหน้านั้นเพียงเล็กน้อย อย่างไรก็ตาม กองทุนเหล่านี้มีรอบการจ่ายที่สม่ำเสมอ ซึ่งเพียงพอต่อการวางแผน ต่อไปนี้คือข้อมูลของกองทุนเน้นรายได้สิบสามกองทุนที่ได้รับความนิยม พร้อมวัน ex-date ล่าสุด ช่วงเวลาห่างระหว่าง ex-date โดยปกติ และวันที่คาดการณ์ตามรอบการจ่าย:

คำสั่งดึงข้อมูลกองทุนปันผลและรายได้ขนาดใหญ่ 13 แห่ง — วัน ex-date ล่าสุด, ความถี่ และวัน ex-date ถัดไปที่คาดการณ์
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH hist AS (
    SELECT ticker, ex_dividend_date, cash_amount, frequency,
           dateDiff('day', lagInFrame(ex_dividend_date) OVER (PARTITION BY ticker ORDER BY ex_dividend_date), ex_dividend_date) AS gap_days
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('SCHD', 'VYM', 'VIG', 'DVY', 'SPYD', 'JEPI', 'JEPQ', 'QYLD', 'SPHD', 'NOBL', 'DGRO', 'HDV', 'SPY')
      AND cash_amount > 0
      AND ex_dividend_date >= today() - 800
)
SELECT ticker,
       any(frequency) AS payments_per_year,
       toString(max(ex_dividend_date)) AS last_ex_date,
       formatDateTime(max(ex_dividend_date), '%b %e') AS last_ex_label,
       round(argMax(cash_amount, ex_dividend_date), 4) AS last_per_share_usd,
       round(quantileDeterministicIf(0.5)(gap_days, cityHash64(ticker, ex_dividend_date), gap_days BETWEEN 5 AND 200)) AS typical_gap_days,
       toString(max(ex_dividend_date) + toIntervalDay(round(quantileDeterministicIf(0.5)(gap_days, cityHash64(ticker, ex_dividend_date), gap_days BETWEEN 5 AND 200)))) AS implied_next_ex,
       formatDateTime(max(ex_dividend_date) + toIntervalDay(round(quantileDeterministicIf(0.5)(gap_days, cityHash64(ticker, ex_dividend_date), gap_days BETWEEN 5 AND 200))), '%b %e') AS implied_next_label
FROM hist
GROUP BY ticker
HAVING countIf(gap_days BETWEEN 5 AND 200) > 0
ORDER BY implied_next_ex, ticker

กองทุนที่ใกล้ที่สุดในกลุ่มคือ JEPI โดยมี ex-date ล่าสุดเมื่อ Jul 1 ที่ราคา $0.3872 ต่อหุ้น ด้วยรอบการจ่ายทุกๆ 30 วัน ทำให้วัน ex-date ครั้งถัดไปจะอยู่ใกล้กับ Jul 31 ส่วนกองทุนที่ไกลที่สุดคือ HDV ซึ่งมีรอบการจ่ายทุกๆ 91 วัน โดยคาดการณ์ไว้ในวันที่ Oct 14 คอลัมน์ payments_per_year แสดงการแบ่งกลุ่มกองทุน: กองทุนที่จ่ายสิบสองครั้งต่อปีจะมีวัน ex-date ประมาณทุกสี่สัปดาห์ ส่วนกองทุนที่จ่ายสี่ครั้งต่อปีจะจ่ายทุกไตรมาสในช่วงเดือนสิ้นไตรมาส ทั้งนี้ควรใช้วันที่คาดการณ์เป็นเพียงการประมาณการเท่านั้น ข้อมูลที่แน่นอนที่สุดคือประกาศจากผู้จัดการกองทุนเท่านั้น

เดือนนี้มีปริมาณมากหรือน้อย?

วันที่ขึ้นเครื่องหมาย Ex-dividend ไม่ได้กระจายตัวสม่ำเสมอตลอดทั้งปี จากข้อมูลย้อนหลังสามปี เมื่อคำนวณค่าเฉลี่ยตามเดือนปฏิทิน:

คำสั่งดึงข้อมูลวัน ex-dividend แบ่งตามเดือน — ค่าเฉลี่ยย้อนหลัง 3 ปี, เปรียบเทียบผู้จ่ายปันผลรายไตรมาสและรายเดือน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT multiIf(toMonth(ex_dividend_date) = 1, '01 Jan', toMonth(ex_dividend_date) = 2, '02 Feb', toMonth(ex_dividend_date) = 3, '03 Mar',
               toMonth(ex_dividend_date) = 4, '04 Apr', toMonth(ex_dividend_date) = 5, '05 May', toMonth(ex_dividend_date) = 6, '06 Jun',
               toMonth(ex_dividend_date) = 7, '07 Jul', toMonth(ex_dividend_date) = 8, '08 Aug', toMonth(ex_dividend_date) = 9, '09 Sep',
               toMonth(ex_dividend_date) = 10, '10 Oct', toMonth(ex_dividend_date) = 11, '11 Nov', '12 Dec') AS month,
       round(count() / 3.0) AS ex_dates_per_year,
       round(countIf(frequency = 4) / 3.0) AS quarterly_payers,
       round(countIf(frequency = 12) / 3.0) AS monthly_payers
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toStartOfMonth(today()) - INTERVAL 36 MONTH
  AND ex_dividend_date < toStartOfMonth(today())
  AND cash_amount > 0
GROUP BY month
ORDER BY month

เดือนสุดท้ายของแต่ละไตรมาสมีปริมาณงานสูง โดยเดือนมีนาคมมีค่าเฉลี่ยอยู่ที่ 5605 วัน, มิถุนายน 5792, กันยายน 4973 และธันวาคม 6380 ซึ่งแต่ละเดือนมีบริษัทที่จ่ายปันผลรายไตรมาสมากกว่าสองพันบริษัท (เฉพาะเดือนมิถุนายนเพียงเดือนเดียวมีถึง 2640 บริษัท) ส่วนเดือนแรกของแต่ละไตรมาสจะมีปริมาณน้อย โดยเดือนมกราคมมีค่าเฉลี่ยอยู่ที่ 2043 และเดือนกรกฎาคมอยู่ที่ 2683 ซึ่งมีปริมาณไม่ถึงครึ่งหนึ่งของเดือนสิ้นไตรมาส สำหรับเดือนที่มีปริมาณน้อยจะมีกลุ่มบริษัทที่จ่ายปันผลรายเดือนเป็นฐานรองรับ โดย 1470 ของค่าเฉลี่ยในเดือนกรกฎาคมคือบริษัทที่จ่ายปันผลรายเดือนโดยไม่ขึ้นกับปฏิทินรายไตรมาส การที่มีรายชื่อบริษัทจำนวนน้อยในสัปดาห์นี้เป็นลักษณะเฉพาะของปฏิทิน ไม่ใช่การตัดสินสภาวะตลาด

ทำไมปฏิทินแต่ละแหล่งจึงไม่ตรงกัน — และวิธีอ่านข้อมูลชุดนี้

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

คำสั่งดึงข้อมูลข้อมูลวันขึ้นเครื่องหมาย ex-dividend ที่ประกาศล่วงหน้า — รายละเอียดเบื้องหลังปฏิทินนี้
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT countIf(ex_dividend_date > today()) AS future_ex_dates_declared,
       countIf(ex_dividend_date > today() AND ex_dividend_date <= today() + 7) AS in_the_next_7_days,
       countIf(ex_dividend_date > today() AND ticker IN ('SCHD', 'VYM', 'VIG', 'DVY', 'SPYD', 'JEPI', 'JEPQ', 'QYLD', 'SPHD', 'NOBL', 'DGRO', 'HDV', 'SPY')) AS fund_records_declared_ahead,
       toString(max(ex_dividend_date)) AS furthest_declared_date,
       formatDateTime(max(ex_dividend_date), '%b %e, %Y') AS furthest_declared_label
FROM global_markets.stocks_dividends
WHERE ex_dividend_date > today() - 1
  AND cash_amount > 0

มีวันที่ ex-dividend ในอนาคตที่ถูกบันทึกไว้แล้วจำนวน 3379 รายการ โดย 364 รายการจะเกิดขึ้นภายในหนึ่งสัปดาห์ และมีการประกาศไปจนถึง Nov 12, 2027 สำหรับกองทุนทั้งสิบสามแห่งข้างต้น มีจำนวนวันที่ประกาศ ex-date ล่วงหน้าอยู่ที่ 0 ซึ่งช่องว่างเชิงโครงสร้างนี้ทำให้การดูจังหวะเวลา (cadence) มีความแม่นยำกว่าการดูการประกาศในการคาดการณ์วันที่ ex-date ครั้งถัดไปของกองทุน คณะกรรมการจะประกาศการประชุมทีละครั้ง ดังนั้นข้อมูลในปฏิทินระยะไกลจะถูกเติมเต็มเมื่อมีการประกาศออกมา ให้ถือว่าวันที่ในระยะใกล้มีความน่าเชื่อถือ และวันที่ในระยะไกลเป็นข้อมูลชั่วคราว

คำถามที่พบบ่อยเกี่ยวกับปฏิทินวันขึ้นเครื่องหมาย XD

ฉันจะหาวันขึ้นเครื่องหมาย XD ที่กำลังจะมาถึงได้อย่างไร?

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

หากฉันซื้อหุ้นในวันขึ้นเครื่องหมาย XD ฉันจะได้รับเงินปันผลหรือไม่?

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

ฉันต้องดำเนินการอย่างไรเพื่อให้ได้รับเงินปันผล?

ไม่ต้องดำเนินการใดๆ เพียงแค่ถือหุ้นไว้จนถึงเวลาปิดตลาดก่อนวันขึ้นเครื่องหมาย XD เงินปันผลจะถูกโอนเข้าบัญชีซื้อขายหลักทรัพย์ของคุณโดยอัตโนมัติในวันจ่ายเงินปันผล — ไม่ต้องกรอกแบบฟอร์ม ไม่ต้องยื่นคำร้อง และไม่ต้องโทรแจ้ง ขั้นตอนทางเลือกเพียงอย่างเดียวคือ DRIP ซึ่งเป็นบริการจากโบรกเกอร์ที่นำเงินปันผลไปลงทุนต่อในหุ้นเพิ่มขึ้น

การซื้อหุ้นก่อนวันขึ้นเครื่องหมาย XD เพื่อรับเงินปันผลได้ผลจริงหรือไม่?

ข้อมูลชี้ให้เห็นว่าไม่ได้ผล จากเหตุการณ์ขึ้นเครื่องหมาย XD ของหุ้นขนาดใหญ่ (mega-cap) จำนวน 78 ครั้งในช่วงหกเดือนที่ผ่านมา ราคาเปิดเฉลี่ยของหุ้นเคลื่อนที่ไป -0.5% จากราคาปิดก่อนวันขึ้นเครื่องหมาย XD เมื่อเทียบกับเงินปันผลเฉลี่ยที่มีมูลค่าเท่ากับ 0.65% ของราคาหุ้น และเมื่อผ่านไปสิบวันทำการ มีหุ้นเพียง 44.9% เท่านั้นที่มีราคากลับมาอยู่ที่ระดับเดิมหรือสูงกว่าจุดเริ่มต้น นอกจากนี้ การถือหุ้นระยะสั้นยังไม่ผ่านเกณฑ์ระยะเวลาการถือครองเพื่อให้ได้รับสิทธิประโยชน์ทางภาษีสำหรับเงินปันผล (qualified-dividend)

เงินปันผลมีการจัดเก็บภาษีแตกต่างกันตามช่วงเวลาที่ฉันซื้อหรือไม่?

แตกต่างกัน หากเป็นบัญชีที่ต้องเสียภาษีในสหรัฐฯ เงินปันผลจะถือเป็น qualified dividend — ซึ่งเสียภาษีในอัตราภาษีกำไรจากส่วนต่างราคาหลักทรัพย์ระยะยาว (long-term capital-gains) — ก็ต่อเมื่อคุณถือหุ้นมากกว่าหกสิบวัน ภายในกรอบเวลาหนึ่งร้อยยี่สิบเอ็ดวัน ซึ่งเริ่มนับจากหกสิบวันก่อนวันขึ้นเครื่องหมาย XD การซื้อก่อนวันขึ้นเครื่องหมายเพียงเล็กน้อยแล้วขายทันทีจะทำให้พลาดกรอบเวลาดังกล่าว และเงินปันผลจะถูกจัดเก็บภาษีในฐานรายได้ปกติ สำหรับ REIT และการจัดสรรผลประโยชน์จากกองทุนจำนวนมากจะถูกจัดเก็บเป็นรายได้ปกติไม่ว่าจะถือครองอย่างไร ข้อมูลนี้เป็นเพียงการอธิบายกลไก ไม่ใช่คำแนะนำทางภาษี

ข้อมูลปันผลรายชื่อหุ้น

หุ้นกลุ่ม Large-cap ที่จ่ายปันผลทุกตัวในปฏิทินนี้มีข้อมูลปันผลที่วัดผลได้เฉพาะตัว ประกอบด้วย อัตราผลตอบแทนปัจจุบันที่คำนวณจากราคาปิดล่าสุด ประวัติการจ่ายปันผลทั้งหมดตามบันทึก ข้อมูลความต่อเนื่องในการเติบโต และพฤติกรรมการซื้อขายในช่วงเช้าของวันขึ้นเครื่องหมาย ex-dividend:

AAPL, ABBV, ABT, ACN, ADP, AMGN, AVGO, AXP, BAC, BLK, BMY, C, CAT, CL, CMCSA, COP, COST, CRM, CSCO, CVX, DE, DHR, DUK, GE, GILD, GIS, GOOGL, GS, HD, HON, IBM, JNJ, JPM, KMB, KO, LIN, LLY, LMT, LOW, MA, MCD, MDLZ, MDT, META, MMM, MO, MRK, MS, MSFT, NEE, NKE, O, ORCL, PEP, PFE, PG, PM, QCOM, RTX, SBUX, SO, SPGI, T, TGT, TMO, TXN, UNH, UNP, USB, V, VZ, WFC, WMT, XOM.


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