Strasmore Research
Học tập Matt ConnorBởi Matt Connor · Cập nhật 2026-07-23 · data as of July 23, 2026 · refreshed weekly

Lịch giao dịch không hưởng quyền tuần này

Xem danh sách các mã cổ phiếu sắp đến ngày ex-dividend trong tuần này và tuần tới, bao gồm mức cổ tức trên mỗi cổ phiếu và ngày thanh toán cụ thể.

Ngày giao dịch không hưởng quyền (ex-dividend date) quyết định người được nhận cổ tức: bạn cần sở hữu cổ phiếu trước ngày này để nhận kỳ thanh toán tiếp theo; nếu mua vào hoặc sau ngày đó, người bán sẽ giữ khoản tiền này. Trang này cung cấp lịch trình trực tiếp về các ngày sắp tới — danh sách các mã cổ phiếu sẽ mất quyền nhận cổ tức trong tuần này, các công ty lớn nhất sẽ thực hiện trong hai tuần tới — được tính toán từ hồ sơ cổ tức đã công bố và cập nhật hàng tuần. Trang này cũng đo lường biến động thực tế của giá cổ phiếu vào sáng ngày giao dịch không hưởng quyền, và kiểm chứng xem chiến lược giao dịch "dividend capture" có hiệu quả thực tế hay không.

Ngày giao dịch không hưởng quyền trong tuần này

Danh sách các cổ phiếu sắp đến ngày giao dịch không hưởng quyền trong bảy ngày tới, được phân loại theo tần suất chi trả:

Truy vấnCác mã sắp ex-dividend theo từng ngày — 7 ngày tới
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Lịch trình ngắn hạn có 5 ngày giao dịch không hưởng quyền, bắt đầu từ Jul 24 với các mã 99 — bao gồm 52 mã trả cổ tức hàng tháng và 28 mã trả hàng quý. Sự phân loại này rất quan trọng khi bạn xem lịch: các mã trả hàng tháng (các quỹ thu nhập, quỹ tín thác thế chấp, một số REITs) sẽ xuất hiện lại sau mỗi bốn tuần và tập trung vào khoảng giữa tháng; các mã trả hàng quý — chiếm đa số các công ty hoạt động — chỉ xuất hiện mỗi quý một lần. Để nhận được các khoản thanh toán này, bạn phải nắm giữ vị thế trước khi kết thúc ngày giao dịch trước ngày giao dịch không hưởng quyền được niêm yết. Các quy tắc về thời điểm được trình bày trong hướng dẫn ngày giao dịch không hưởng quyền của chúng tôi, và ngày đăng ký danh sách so với ngày giao dịch không hưởng quyền sẽ giải thích tại sao ngày giao dịch không hưởng quyền mới là ngày quan trọng đối với người mua.

Các cổ phiếu lớn sắp đến ngày giao dịch không hưởng quyền trong hai tuần tới

Các công ty lớn nhất (vốn hóa từ 10 tỷ USD trở lên) sẽ giao dịch không hưởng quyền trong vòng mười bốn ngày tới — bao gồm số tiền chi trả, ngày thanh toán và tỷ suất cổ tức hàng năm dựa trên mức giá hiện tại:

Truy vấnCác công ty lớn sắp ex-dividend trong 14 ngày tới — số tiền, ngày thanh toán, yield dự kiến
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Cổ phiếu lớn nhất trong danh sách là COST, sẽ giao dịch không hưởng quyền vào ngày Jul 24 với mức chi trả 1.47 mỗi cổ phiếu vào ngày Aug 7 — tương ứng với tỷ suất cổ tức hàng năm là 0.63% dựa trên mức giá gần đây. Hãy xem kỹ cột tỷ suất cổ tức: con số này được tính toán bằng cách quy đổi mức chi trả đã công bố theo tần suất thanh toán — đây là phép tính tại một thời điểm, không phải là một lời hứa hẹn. Một con số chi trả trên mỗi cổ phiếu lớn và một tỷ suất cổ tức lớn là hai khái niệm khác nhau, như tỷ suất cổ tức là gì đã giải thích. Một mã ticker đã bị loại khỏi các bảng xếp hạng (bộ lọc hiển thị trong SQL của bảng): mã này bị trùng do một tổ chức phát hành thứ hai sử dụng lại, vì vậy chúng tôi loại bỏ nó thay vì hiển thị một dòng dữ liệu không thể xác định chính xác công ty.

Những loại hình công ty nào đang chi trả cổ tức

Dữ liệu cổ tức không phân loại theo ngành, vì vậy các đặc điểm trong khung thời gian hai tuần được xác định dựa trên các dữ liệu hiện có: quy mô công ty, tần suất chi trả và tỷ suất lợi nhuận (yield) dựa trên mức giá hiện tại. Danh sách bao gồm tất cả các công ty chi trả định kỳ có vốn hóa thị trường sắp giao dịch không hưởng quyền (ex-dividend) trong vòng mười bốn ngày tới, được nhóm theo quy mô:

Truy vấnCác mã ex-dividend trong 14 ngày tới: tên, tần suất và implied yield theo quy mô
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Khung thời gian này bao gồm 6 cổ phiếu vốn hóa siêu lớn (từ 100 tỷ USD trở lên) và 37 cổ phiếu vốn hóa lớn (từ 10 tỷ USD đến 100 tỷ USD), cùng với 30 cổ phiếu vốn hóa trung bình và 66 cổ phiếu vốn hóa nhỏ. Tỷ suất lợi nhuận trung vị là 2.07% ở nhóm vốn hóa siêu lớn, 2.46% ở nhóm vốn hóa lớn, 3% ở nhóm vốn hóa trung bình và 3.08% ở nhóm vốn hóa nhỏ. Quy mô và tỷ suất lợi nhuận là hai trục riêng biệt: một danh sách sắp xếp theo tỷ suất lợi nhuận sẽ cho ra kết quả khác với danh sách sắp xếp theo quy mô công ty, đó là lý do tại sao một bộ lọc chỉ dựa trên tỷ suất lợi nhuận sẽ dẫn dắt bạn đi dần xuống các nhóm vốn hóa thấp hơn. Tần suất chi trả cũng được phân chia tương tự như bảng dữ liệu hàng ngày ở trên. Nhóm chi trả theo quý chiếm ưu thế trên thị trường, với 6 cổ phiếu vốn hóa siêu lớn chi trả hàng quý và 0 chi trả hàng tháng, trong khi nhóm chi trả hàng tháng nằm ở phân khúc vốn hóa thấp hơn: 16 cổ phiếu vốn hóa nhỏ trong khung thời gian này chi trả hàng tháng.

Những gì bạn thực sự cần làm để nhận thanh toán

Hầu như trong mọi trường hợp, bạn không cần làm gì cả. Không cần biểu mẫu, không cần gọi cho môi giới, không cần đăng ký: chỉ cần nắm giữ cổ phiếu vào thời điểm đóng cửa phiên giao dịch trước ngày ex-date, tiền sẽ được chuyển vào tài khoản của bạn vào ngày thanh toán, thường là vài tuần sau đó. Việc mua vào chính ngày cuối cùng đó vẫn được tính — các giao dịch tại Mỹ sẽ thanh toán vào ngày làm việc tiếp theo (T+1), và ex-date thường được ấn định quanh thời điểm đó. Một bước tùy chọn là DRIP (kế hoạch tái đầu tư cổ tức), một thiết lập của môi giới giúp chuyển đổi tiền mặt thành các cổ phần lẻ của cùng một mã cổ phiếu đó.

Cách xử lý thuế là nơi ex-date gây ảnh hưởng. Trong một tài khoản chịu thuế tại Mỹ, cổ tức được coi là qualified — chịu mức thuế lợi tức vốn dài hạn thấp hơn — chỉ khi bạn nắm giữ cổ phiếu hơn sáu mươi ngày trong khung thời gian một trăm hai mươi mốt ngày, bắt đầu từ sáu mươi ngày trước ngày ex-dividend date. Nếu bạn mua vào ngày trước ex-date, nhận thanh toán, rồi bán một tuần sau đó, bạn sẽ không vượt qua được bài kiểm tra này: khoản thanh toán sẽ bị đánh thuế như thu nhập thông thường. Các khoản phân phối của REIT và nhiều quỹ khác mặc định là thu nhập thông thường, và loại tài khoản cũng làm thay đổi cục diện (một tài khoản IRA sẽ tránh được việc này). Đây không phải lời khuyên thuế — nhưng một chiến lược "capture" ngắn hạn sẽ có giá trị thấp hơn sau khi trừ thuế so với vẻ ngoài của nó.

Diễn biến thực tế của giá vào sáng ngày giao dịch không hưởng quyền

Quan điểm phổ biến cho rằng một cổ phiếu sẽ mở cửa vào ngày ex-date với mức giá "đã điều chỉnh giảm tương ứng với cổ tức". Sàn giao dịch thực sự có điều chỉnh giảm giá tham chiếu trước khi mở cửa — nhưng giá khớp lệnh mở cửa là kết quả của mức điều chỉnh đó cộng với tất cả các biến động khác xảy ra qua đêm. Ba doanh nghiệp chi trả cổ tức tại các ngày ex-date gần nhất:

Truy vấnBa cổ phiếu trả cổ tức điển hình tại ngày ex-date cuối cùng — giá đóng cửa trước đó, giá mở cửa sáng ex-date, và mức thanh toán
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Xét ngày ex-date gần nhất của Coca-Cola, Jun 15: mức chi trả là $0.53, tương đương 0.64% của mức giá đóng cửa $82.6 tối hôm trước, so với giá mở cửa đầu tiên là $81.08 — chênh lệch là -1.84%. Khoản chi trả của Verizon tương đương 1.68% của mức giá đóng cửa $42.22 trước đó; cổ phiếu này mở cửa ở mức -1.46%. Khoản chi trả của Exxon tương đương 0.67%; cổ phiếu này mở cửa ở mức 0.64%. Ba doanh nghiệp chi trả, ba mức chênh lệch khác nhau, không có mức nào khớp chính xác với khoản cổ tức. Việc điều chỉnh giảm chỉ là một nghiệp vụ kế toán đối với giá tham chiếu; còn giá mở cửa là một mức giá thực tế, và giá cả biến động qua đêm vì những lý do không liên quan đến cổ tức. Khoản cổ tức được biết trước; còn giá vào sáng ngày ex-date thì không.

Chiến lược dividend-capture có hiệu quả không?

"Dividend capture" là ý tưởng mua cổ phiếu ngay trước ngày giao dịch không hưởng quyền (ex-date), nhận cổ tức, sau đó bán khi giá hồi phục. Chiến lược này dựa trên một giả thuyết có thể kiểm chứng. Bài kiểm tra: 83 sự kiện không hưởng quyền của năm mươi cổ phiếu vốn hóa lớn trong sáu tháng qua, mỗi cổ phiếu được theo dõi từ mức giá đóng cửa trước ngày ex-date, qua giá mở cửa sáng ngày ex-date, giá đóng cửa ngày ex-date, và sau đó là một, năm và mười phiên.

Truy vấnMọi sự kiện ex-dividend của mega-cap trong 6 tháng qua — biến động giá từ trước ngày ex-close
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Mức chi trả trung bình ở đây chiếm 0.64% giá cổ phiếu trước ngày ex-date. Vào sáng ngày ex-date, mức biến động trung bình của cổ phiếu là -0.51% so với giá đóng cửa trước đó (trung vị là -0.45%), và chỉ 25.3% sự kiện mở cửa tại hoặc cao hơn mức giá đóng cửa trước đó: sự sụt giảm là có thật và diễn ra ngay lập tức. Dưới đây là phần mà các lời chào mời thường bỏ qua. Đến cuối ngày ex-date, mức biến động trung bình là -0.67% so với giá bắt đầu; một phiên sau đó là -1.05%; năm phiên sau là -1.17%; mười phiên sau là -0.24% — với 44.6% quay trở lại mức ban đầu hoặc cao hơn.

Việc chờ đợi giá "hồi phục" đồng nghĩa với việc phải nắm giữ qua mười phiên biến động thông thường — những biến động lớn hơn nhiều so với mức chi trả 0.64% theo cả hai hướng — trong khi việc nắm giữ ngắn hạn sẽ làm mất quyền hưởng ưu đãi thuế đối với cổ tức được phân loại (qualified-dividend). Cổ tức thực chất là sự chuyển dịch từ giá cổ phiếu sang tài khoản của bạn, không phải là tiền miễn phí, và diễn biến giá sau đó hoàn toàn phụ thuộc vào thị trường.

Các quỹ và ETF: lý do chúng không xuất hiện trong lịch trình sắp tới

Các nhà đầu tư tìm kiếm thu nhập thường nắm giữ các quỹ thay vì cổ phiếu riêng lẻ. Lịch trình sắp tới ở trên có ít các quỹ này vì một lý do cấu trúc: hầu hết các quỹ hoán đổi danh mục (ETF) không công bố ngày giao dịch không hưởng quyền (ex-date) sớm như hội đồng quản trị của một công ty — các khoản phân phối của chúng được ghi nhận vào hệ thống tại thời điểm hoặc ngay trước ngày ex-date. Tuy nhiên, chúng có một nhịp độ đều đặn, đủ để nhà đầu tư lập kế hoạch. Dưới đây là mười ba quỹ thu nhập phổ biến, cùng với ngày ex-date gần nhất, khoảng cách giữa các kỳ ex-date điển hình và ngày dự kiến tiếp theo dựa trên nhịp độ đó:

Truy vấn13 quỹ dividend và income lớn — ex-date gần nhất, tần suất, và ex-date tiếp theo dự kiến
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Quỹ có ngày ex-date sớm nhất trong nhóm là JEPI, lần ex-date gần nhất vào ngày Jul 1 với mức $0.3872 mỗi cổ phiếu theo chu kỳ 30 ngày — đưa ngày ex-date tiếp theo đến gần ngày Jul 31. Quỹ có ngày xa nhất là HDV, chạy theo nhịp độ 91 ngày, hướng tới ngày Oct 14. Cột payments_per_year phân loại các nhóm: các quỹ phát hành mười hai lần một năm sẽ ex-date khoảng bốn tuần một lần; các quỹ phát hành bốn lần một năm sẽ thực hiện vào các tháng cuối quý. Hãy coi ngày dự kiến là một ước tính — chỉ thông báo từ tổ chức phát hành mới là chính thức.

Đây là tháng bận rộn hay tháng ít biến động?

Ngày giao dịch không hưởng quyền không phân bổ đều trong năm — dưới đây là dữ liệu trung bình theo tháng trong ba năm qua:

Truy vấnNgày ex-dividend theo tháng — trung bình 3 năm, so sánh trả theo quý và theo tháng
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Các tháng cuối quý chiếm tỷ trọng lớn: tháng Ba trung bình có 5605 ngày, tháng Sáu có 5792, tháng Chín có 4973 và tháng Mười Hai có 6380. Mỗi tháng này đều có hơn hai nghìn doanh nghiệp trả cổ tức theo quý (riêng tháng Sáu là 2640). Tháng đầu tiên của mỗi quý thường ít biến động — tháng Một trung bình có 2043 và tháng Bảy có 2683, tương đương chưa đầy một nửa số lượng của tháng cuối quý. Các tháng ít biến động này chủ yếu do nhóm trả cổ tức hàng tháng: 1470 lượng trung bình của tháng Bảy là các doanh nghiệp trả cổ tức hàng tháng, không phụ thuộc vào lịch trình theo quý. Danh sách rút ngắn trong tuần này là đặc điểm của lịch trình, không phải là nhận định về thị trường.

Tại sao các lịch trình không đồng nhất — và cách đọc lịch này

Nếu so sánh trang này với lịch của một công ty môi giới, bạn sẽ thấy những khác biệt nhỏ. Mỗi lịch đều được xây dựng từ các thông báo của doanh nghiệp. Các nguồn dữ liệu khác nhau về tốc độ cập nhật thông báo, việc có hiển thị ngày sửa đổi hay không, và việc có tính cả các quỹ, tín thác và niêm yết nước ngoài bên cạnh các công ty đang hoạt động hay không (số ngày tính ở trên bao gồm tất cả; chỉ các bảng xếp hạng mới áp dụng mức vốn hóa tối thiểu). Khi hai lịch trình không khớp nhau, thông cáo báo chí về quyết định của doanh nghiệp sẽ là căn cứ cuối cùng. Dữ liệu chi tiết được tính toán trực tiếp:

Truy vấnDữ liệu ex-dividend đã công bố — nguồn gốc của lịch này
Câu lệnh SQL chính xác đằng sau mỗi con số
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

Hiện tại đang có 3307 ngày ex-dividend trong tương lai, trong đó 220 ngày nằm trong vòng một tuần, và các thông báo kéo dài đến tận Nov 12, 2027. Trong số mười ba quỹ ở trên, số ngày ex-date đã công bố trước là 0 — khoảng cách cấu trúc này khiến việc theo dõi nhịp độ thay vì các thông báo mới là cách để dự đoán ngày ex-date tiếp theo của một quỹ. Hội đồng quản trị chỉ công bố từng cuộc họp một, vì vậy lịch trình dài sẽ được cập nhật dần khi có thông báo: hãy coi các ngày gần là đáng tin cậy và các ngày xa là tạm thời.

Câu hỏi thường gặp về lịch chia cổ tức (ex-dividend)

Làm thế nào để tôi tìm ngày giao dịch không hưởng quyền sắp tới?

Các công ty công bố mỗi đợt cổ tức kèm theo ngày giao dịch không hưởng quyền, ngày chốt danh sách và ngày thanh toán; những thông tin này được truyền trực tiếp vào các nguồn dữ liệu thị trường. Trang này tính toán lịch trình dựa trên các hồ sơ đó — gồm 3307 ngày trong tương lai — và được cập nhật hàng tuần.

Nếu tôi mua cổ phiếu vào ngày giao dịch không hưởng quyền, tôi có được nhận cổ tức không?

Không. Ngày giao dịch không hưởng quyền là ngày đầu tiên cổ phiếu được giao dịch mà không kèm theo quyền nhận cổ tức. Để nhận được cổ tức, bạn phải sở hữu cổ phiếu vào thời điểm đóng cửa của ngày giao dịch trước ngày giao dịch không hưởng quyền; nếu mua vào đúng ngày giao dịch không hưởng quyền, người bán sẽ là người nhận khoản thanh toán đó.

Tôi có cần làm gì để nhận cổ tức không?

Không. Chỉ cần nắm giữ cổ phiếu cho đến khi đóng cửa trước ngày giao dịch không hưởng quyền, tiền sẽ tự động được chuyển vào tài khoản chứng khoán của bạn vào ngày thanh toán — không cần biểu mẫu, không cần yêu cầu, không cần gọi điện. Bước tùy chọn duy nhất là DRIP, một dịch vụ của môi giới giúp tái đầu tư khoản thanh toán đó để mua thêm cổ phiếu.

Việc mua cổ phiếu ngay trước ngày giao dịch không hưởng quyền để lấy cổ tức có hiệu quả không?

Dữ liệu cho thấy điều đó không hiệu quả. Trong số 83 sự kiện chia cổ tức của các cổ phiếu vốn hóa lớn trong sáu tháng qua, giá mở cửa trung bình của cổ phiếu biến động -0.51% so với giá đóng cửa trước ngày giao dịch không hưởng quyền, trong khi giá trị cổ tức trung bình tương đương 0.64% giá cổ phiếu, và mười phiên sau đó chỉ có 44.6% cổ phiếu quay trở lại mức giá ban đầu hoặc cao hơn. Việc nắm giữ ngắn hạn cũng không vượt qua được bài kiểm tra thời gian nắm giữ để được hưởng cổ tức đủ điều kiện (qualified dividend).

Thuế cổ tức có khác nhau tùy thuộc vào thời điểm tôi mua không?

Có, đối với tài khoản chịu thuế tại Mỹ. Một khoản cổ tức được coi là qualified — chịu thuế theo mức thuế lợi tức vốn dài hạn — chỉ khi bạn nắm giữ cổ phiếu hơn sáu mươi ngày trong khung thời gian 121 ngày, bắt đầu từ 60 ngày trước ngày giao dịch không hưởng quyền. Giao dịch mua ngay trước và bán ngay sau ngày này sẽ không nằm trong khung thời gian đó, và khoản thanh toán sẽ bị đánh thuế như thu nhập thông thường. Các khoản phân phối từ REIT và nhiều quỹ khác luôn được tính là thu nhập thông thường. Đây là thông tin kỹ thuật, không phải lời khuyên thuế.

Hồ sơ cổ tức theo ticker

Mỗi doanh nghiệp vốn hóa lớn có chi trả cổ tức trong danh sách này đều có hồ sơ riêng biệt. Hồ sơ bao gồm: tỷ suất cổ tức hiện tại dựa trên giá đóng cửa gần nhất, lịch sử thanh toán đầy đủ theo dữ liệu giao dịch, chuỗi tăng trưởng và diễn biến giao dịch thực tế vào các sáng ngày 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.


Mỗi bảng trên là một truy vấn đã được lưu trữ và phân phiên dựa trên hồ sơ cổ tức đã công bố và dữ liệu nến phút thực tế. Bạn có thể mở rộng mã SQL dưới bất kỳ bảng nào, hoặc tự lọc lịch này trên terminal Strasmore.