Lịch ngày giao dịch không hưởng quyền tuần này
Xem danh sách các cổ phiếu sắp đến ngày giao dịch không hưởng quyền trong tuần này và tuần tới. Tìm hiểu mức chi trả trên mỗi cổ phiếu, ngày thanh toán và tác động của ex-day đến giá.
Ngày giao dịch không hưởng quyền sắp tới
Ngày giao dịch không hưởng quyền (ex-dividend date) quyết định ai là người được nhận cổ tức: bạn phải sở hữu cổ phiếu trước ngày ex-dividend để nhận khoản thanh toán tiếp theo; nếu mua vào đúng ngày này hoặc sau đó, người bán sẽ giữ lại số tiền đó. Trang này là lịch trực tuyến các ngày sắp tới, danh sách các công ty bắt đầu giao dịch không hưởng quyền mỗi ngày trong tuần này, và các công ty lớn nhất sẽ đến ngày ex-dividend 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 buổi sáng ngày ex-dividend, và liệu chiến lược "dividend capture" có hiệu quả khi đối chiếu với dữ liệu thực tế hay không.
Ngày giao dịch không hưởng quyền trong tuần
Mọi khoản cổ tức tiền mặt đã công bố sẽ bắt đầu giao dịch không hưởng quyền trong bảy ngày tới, phân loại theo ngày và tần suất chi trả của đơn vị phát hành:
| Ngày GDKHQ | Nhãn ngày GDKHQ | Mã GDKHQ | Trả cổ tức hàng tháng | Trả cổ tức hàng quý |
|---|---|---|---|---|
| 2026-09-08 | Sep 8 | 101 | 10 | 46 |
| 2026-09-09 | Sep 9 | 66 | 5 | 23 |
| 2026-09-10 | Sep 10 | 120 | 12 | 50 |
| 2026-09-11 | Sep 11 | 187 | 34 | 69 |
| 2026-09-12 | Sep 12 | 1 | 0 | 0 |
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_dateLịch trình ngắn hạn bao gồm 5 ngày giao dịch không hưởng quyền, bắt đầu từ Sep 8 với 101 mã, trong đó có 10 mã chi trả hàng tháng và 46 mã chi trả hàng quý. Sự phân loại này rất quan trọng khi bạn theo dõi lịch: các mã chi trả hàng tháng (quỹ thu nhập, tín thác thế chấp, một số REIT) xuất hiện trở lại sau mỗi bốn tuần và tập trung vào giữa tháng; các mã chi trả hàng quý, chủ yếu là các công ty vận hành, xuất hiện mỗi mùa một lần. Để nhận được các khoản thanh toán này, vị thế phải được nắm giữ vào thời điểm đóng cửa ngày giao dịch trước ngày được liệt kê. Cơ chế về thời gian nằm trong hướng dẫn ngày giao dịch không hưởng quyền của chúng tôi, và bài viết ngày chốt danh sách so với ngày giao dịch không hưởng quyền giải thích lý do tại sao ngày ex-date là mốc quan trọng đối với người mua.
Các tên tuổi 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 thị trường từ mười tỷ đô la trở lên) sẽ đến ngày giao dịch không hưởng quyền trong vòng mười bốn ngày tới, cùng với thông tin về khoản thanh toán, ngày chi trả và tỷ suất cổ tức hàng năm tương ứng với mức giá hiện tại:
| Ticker | Ngày GDKHQ | Nhãn ngày GDKHQ | USD/cổ phiếu | Ngày thanh toán | Nhãn ngày thanh toán | Vốn hóa (tỷ) | Lợi suất (%) |
|---|---|---|---|---|---|---|---|
| NVDA | 2026-09-10 | Sep 10 | 0.25 | 2026-10-01 | Oct 1 | 5516 | 0.44 |
| KO | 2026-09-15 | Sep 15 | 0.53 | 2026-10-01 | Oct 1 | 382 | 2.39 |
| MRK | 2026-09-15 | Sep 15 | 0.85 | 2026-10-07 | Oct 7 | 376 | 2.23 |
| UNH | 2026-09-14 | Sep 14 | 2.32 | 2026-09-22 | Sep 22 | 360 | 2.31 |
| TMO | 2026-09-15 | Sep 15 | 0.47 | 2026-10-15 | Oct 15 | 229 | 0.3 |
| CRM | 2026-09-17 | Sep 17 | 0.44 | 2026-10-08 | Oct 8 | 218 | 0.67 |
| GILD | 2026-09-15 | Sep 15 | 0.82 | 2026-09-29 | Sep 29 | 188 | 2.17 |
| BLK | 2026-09-08 | Sep 8 | 5.73 | 2026-09-22 | Sep 22 | 174 | 2.04 |
| WDC | 2026-09-08 | Sep 8 | 0.15 | 2026-09-17 | Sep 17 | 159 | 0.14 |
| BKNG | 2026-09-11 | Sep 11 | 0.42 | 2026-09-30 | Sep 30 | 147 | 0.86 |
| CB | 2026-09-11 | Sep 11 | 1.02 | 2026-10-02 | Oct 2 | 134 | 1.17 |
| PLD | 2026-09-16 | Sep 16 | 1.07 | 2026-09-30 | Sep 30 | 131 | 3.09 |
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 12Tên tuổi lớn nhất trong danh sách là NVDA, sẽ đến ngày giao dịch không hưởng quyền vào Sep 10 với mức chi trả 0.25 đô la mỗi cổ phiếu vào ngày Oct 1, tương ứng với tỷ suất cổ tức hàng năm là 0.44% tại mức giá gần nhất. Hãy đọc kỹ cột tỷ suất cổ tức: con số này được tính toán dựa trên khoản chi trả đã công bố theo tần suất xác định, đây là phép tính tại thời điểm hiện tại, không phải là một lời hứa. Một con số chi trả lớn trên mỗi cổ phiếu và một tỷ suất cổ tức cao là hai khái niệm khác nhau, như bài viết tỷ suất cổ tức là gì đã chỉ rõ. Một mã chứng khoán đã bị loại khỏi các bảng xếp hạng (bộ lọc được hiển thị trong truy vấn SQL của bảng): mã này đã được một tổ chức phát hành thứ hai sử dụng lại, do đó dữ liệu ghi nhận dưới mã này bao gồm hai công ty khác nhau, và 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.
Những loại công ty nào đang chi trả cổ tức hiện nay
Nguồn dữ liệu cổ tức không phân loại theo ngành, vì vậy hình thái của khung thời gian hai tuần phải được xác định từ các hồ sơ hiện có: quy mô công ty, tần suất thanh toán và lợi suất (yield) mà mỗi khoản thanh toán đã công bố mang lại ở mức giá hiện tại. Dưới đây là danh sách các công ty chi trả định kỳ có ngày giao dịch không hưởng quyền (ex-dividend date) trong vòng mười bốn ngày tới, được nhóm theo quy mô vốn hóa:
| Nhóm quy mô | Mã GDKHQ | Lợi suất trung vị (%) | Trả cổ tức hàng tháng | Trả cổ tức hàng quý |
|---|---|---|---|---|
| 1 Mega cap ($100B+) | 16 | 1.94 | 0 | 16 |
| 2 Large cap ($10-100B) | 79 | 2.1 | 2 | 75 |
| 3 Mid cap ($2-10B) | 85 | 2.58 | 3 | 82 |
| 4 Small cap (under $2B) | 85 | 3.41 | 8 | 75 |
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_bandKhung thời gian này bao gồm 16 công ty vốn hóa siêu lớn (từ 100 tỷ USD trở lên) và 79 công ty vốn hóa lớn (từ 10 tỷ USD đến 100 tỷ USD), cùng với 85 công ty vốn hóa trung bình và 85 các tên tuổi nhỏ hơn. Lợi suất chỉ định trung vị đạt 1.94% ở nhóm vốn hóa siêu lớn, 2.1% ở nhóm vốn hóa lớn, 2.58% ở nhóm vốn hóa trung bình và 3.41% ở nhóm vốn hóa nhỏ. Quy mô và lợi suất là hai trục độc lập: một lịch trình được sắp xếp theo lợi suất sẽ hiển thị các mã khác với lịch trình 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 lợi suất sẽ âm thầm dẫn bạn xuống các bậc vốn hóa thấp hơn. Tần suất thanh toán cũng phân hóa tương tự như bảng theo ngày ở trên. Thói quen chi trả hàng quý chiếm ưu thế ở phân khúc cao cấp của thị trường, với 16 các công ty 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 tập trung nhiều hơn ở các phân khúc vốn hóa thấp hơn: 8 các công ty vốn hóa nhỏ trong khung thời gian này thực hiện chi trả mỗi tháng. Việc chi trả mười hai lần một năm là một lựa chọn về cấu trúc thay vì là hệ quả của quy mô, và cổ phiếu trả cổ tức hàng tháng sẽ đề cập đến những cấu trúc nào thực hiện điều này và cách lợi suất của chúng thực sự so sánh với tiêu chuẩn chi trả hàng quý.
Bạn cần làm gì để nhận tiền
Trong hầu hết các trường hợp, bạn không cần làm gì cả. Không cần điền biểu mẫu, không cần gọi cho môi giới, cũng không cần đăng ký: bạn chỉ cần nắm giữ cổ phiếu vào cuối ngày giao dịch trước ngày ex-dividend, tiền mặt sẽ tự động 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 đó. Mua cổ phiếu ngay trong ngày cuối cùng đó vẫn được tính, vì các giao dịch tại Mỹ thanh toán vào ngày làm việc tiếp theo (T+1), và ngày ex-dividend được thiết lập dựa trên cơ sở này. Bước tùy chọn duy nhất là DRIP (kế hoạch tái đầu tư cổ tức), một cài đặt của môi giới giúp chuyển đổi tiền mặt thành các cổ phiếu lẻ của cùng mã đó.
Vấn đề thuế là điểm mấu chốt khi xét đến ngày ex-dividend. Trong một tài khoản chịu thuế tại Mỹ, cổ tức chỉ được coi là qualified (đủ điều kiện) và chịu mức thuế thấp hơn áp dụng cho lãi vốn dài hạn nếu bạn nắm giữ cổ phiếu hơn sáu mươi ngày trong khoảng 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. Nếu bạn mua vào ngày trước ex-dividend, nhận khoản thanh toán, rồi bán ra một tuần sau đó, bạn sẽ không đạt yêu cầu 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 từ REIT và nhiều quỹ đầu tư luôn là thu nhập thông thường, và loại hình tài khoản cũng làm thay đổi tình hình (tài khoản IRA có thể tránh được vấn đề này). Đây không phải là lời khuyên về thuế, nhưng chiến lược "đánh bắt" cổ tức trong ngắn hạn thường mang lại giá trị thực tế sau thuế thấp hơn so với vẻ ngoài của nó.
Diễn biến giá thực tế vào sáng ngày giao dịch không hưởng quyền
Lý thuyết thông thường cho rằng cổ phiếu sẽ mở cửa vào ngày giao dịch không hưởng quyền (ex-date) với mức giá "đã điều chỉnh giảm theo cổ tức". Sở giao dịch thực hiện đánh dấu giá tham chiếu thấp xuống trước giờ mở cửa, nhưng mức giá khớp lệnh đầu tiên (opening print) chính là mức giá đã điều chỉnh đó cộng với mọi biến động xảy ra trong đêm. Dưới đây là ba mã cổ phiếu chi trả cổ tức tiêu biểu tại các ngày ex-date gần nhất:
| Ticker | Ngày GDKHQ gần nhất | Nhãn GDKHQ gần nhất | Cổ tức (USD) | Giá đóng cửa trước GDKHQ (USD) | Giá mở cửa phiên GDKHQ (USD) | Gap mở cửa (%) | Cổ tức/Giá (%) |
|---|---|---|---|---|---|---|---|
| KO | 2026-06-15 | Jun 15 | 0.53 | 82.6 | 81.08 | -1.84 | 0.64 |
| VZ | 2026-07-10 | Jul 10 | 0.7075 | 42.22 | 41.61 | -1.46 | 1.68 |
| XOM | 2026-08-17 | Aug 17 | 1.03 | 160.09 | 160.1 | 0.01 | 0.64 |
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 tickerHãy xem xét ngày ex-date gần nhất của Coca-Cola, Jun 15: khoản chi trả 0.53, tương đương 0.64% so với mức giá đóng cửa 82.6 của phiên trước đó, so với mức giá khớp lệnh đầu tiên vào sáng ngày ex-date là 81.08, tạo ra một khoảng cách -1.84%. Khoản chi trả của Verizon tương đương 1.68% so với 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.64%; cổ phiếu này mở cửa ở mức 0.01%. Ba mã chi trả, ba khoảng cách chênh lệch khác nhau, và không mã nào khớp chính xác với giá trị cổ tức. Việc điều chỉnh giá là một nghiệp vụ kế toán đối với giá tham chiếu; trong khi 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 chi trả đượ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-dividend date), nhận khoản chi trả, rồi bán ra khi giá phục hồi. Ý tưởng này chứa đựng một tuyên bố có thể kiểm chứng. Bài kiểm tra: 79 sự kiện ex-dividend của năm mươi cổ phiếu vốn hóa siêu lớn trong sáu tháng qua, mỗi sự kiện được theo dõi từ giá đóng cửa trước ngày ex-date cho đến giá mở cửa sáng hôm sau, giá đóng cửa ngày ex-date, và sau một, năm, mười phiên giao dịch.
| Điểm kiểm tra | Sự kiện | Cổ tức trung bình (%) | Biến động TB (%) | Biến động trung vị (%) | Tỷ lệ hồi phục trên giá trước ex (%) |
|---|---|---|---|---|---|
| 1 ex-day open | 79 | 0.67 | -0.51 | -0.58 | 25.3 |
| 2 ex-day close | 79 | 0.67 | -0.63 | -0.27 | 39.2 |
| 3 one session later | 79 | 0.67 | -0.79 | -0.72 | 39.2 |
| 4 five sessions later | 79 | 0.67 | -0.39 | 0.22 | 53.2 |
| 5 ten sessions later | 79 | 0.67 | 0.98 | 0.32 | 50.6 |
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 checkpointKhoản chi trả trung bình ở đây tương đương 0.67% giá cổ phiếu trước ngày ex-date. Vào phiên sáng ngày ex-date, giá cổ phiếu trung bình biến động -0.51% so với giá đóng cửa trước đó (trung vị -0.58%), và chỉ 25.3% số sự kiện có giá mở cửa bằng hoặc cao hơn giá đóng cửa trước đó: mức điều chỉnh giảm là có thật và diễn ra ngay lập tức. Phần tiếp theo là điều mà các lời chào mời thường bỏ qua. Đến khi đóng cửa ngày ex-date, mức giá trung bình của sự kiện là -0.63% so với giá khởi điểm; một phiên sau đó là -0.79%; năm phiên sau là -0.39%; mười phiên sau là 0.98%, với 50.6% số trường hợp quay lại mức giá cũ hoặc cao hơn.
Việc chờ đợi giá "quay trở lại" đồng nghĩa với việc nắm giữ qua mười phiên biến động thông thường, những biến động có quy mô lớn hơn nhiều so với khoản chi trả 0.67% theo cả hai chiều, trong khi việc nắm giữ ngắn hạn lại làm mất đi ưu đãi thuế đối với cổ tức đủ điều kiện (qualified dividend). Cổ tức là sự chuyển dịch giá trị từ giá cổ phiếu sang tài khoản của bạn, không phải là tiền miễn phí trên bảng điện, 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 vắng bóng trên lịch sự kiện tương lai
Nhà đầu tư thu nhập thường nắm giữ các quỹ thay vì cổ phiếu đơn lẻ, và lịch sự kiện tương lai phía trên rất ít thông tin về các quỹ này vì một lý do cấu trúc: hầu hết các quỹ ETF không công bố ngày giao dịch không hưởng quyền (ex-date) từ sớm như hội đồng quản trị của các công ty. Các khoản phân phối của quỹ chỉ được ghi nhận trên hệ thống giao dịch vào đúng ngày hoặc ngay trước ngày ex-date. Tuy nhiên, các quỹ này có nhịp độ phân phối rất đề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 thông thường giữa các ngày ex-date và ngày dự kiến tiếp theo dựa trên nhịp độ đó:
| Ticker | Số lần chi trả/năm | Ngày GDKHQ gần nhất | Nhãn GDKHQ gần nhất | Cổ tức gần nhất ($) | Số ngày gap điển hình | Ngày ex dự kiến | Nhãn ngày ex dự kiến |
|---|---|---|---|---|---|---|---|
| DGRO | 4 | 2026-06-15 | Jun 15 | 0.3306 | 91 | 2026-09-14 | Sep 14 |
| DVY | 4 | 2026-06-15 | Jun 15 | 1.2472 | 91 | 2026-09-14 | Sep 14 |
| SPY | 4 | 2026-06-18 | Jun 18 | 1.9035 | 91 | 2026-09-17 | Sep 17 |
| VYM | 4 | 2026-06-18 | Jun 18 | 0.9795 | 91 | 2026-09-17 | Sep 17 |
| QYLD | 12 | 2026-08-24 | Aug 24 | 0.1829 | 28 | 2026-09-21 | Sep 21 |
| SPHD | 12 | 2026-08-24 | Aug 24 | 0.2196 | 28 | 2026-09-21 | Sep 21 |
| SPYD | 4 | 2026-06-22 | Jun 22 | 0.5428 | 91 | 2026-09-21 | Sep 21 |
| NOBL | 4 | 2026-06-24 | Jun 24 | 0.3037 | 91 | 2026-09-23 | Sep 23 |
| SCHD | 4 | 2026-06-24 | Jun 24 | 0.2525 | 91 | 2026-09-23 | Sep 23 |
| VIG | 4 | 2026-06-26 | Jun 26 | 0.9988 | 91 | 2026-09-25 | Sep 25 |
| JEPI | 12 | 2026-09-01 | Sep 1 | 0.3714 | 30 | 2026-10-01 | Oct 1 |
| JEPQ | 12 | 2026-09-01 | Sep 1 | 0.6826 | 30 | 2026-10-01 | Oct 1 |
| HDV | 4 | 2026-08-19 | Aug 19 | 0.1046 | 90 | 2026-11-17 | Nov 17 |
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, tickerQuỹ có ngày gần nhất trong nhóm là DGRO, với ngày ex-date gần nhất vào Jun 15 ở mức $0.3306 mỗi chứng chỉ quỹ theo chu kỳ 91 ngày, dự kiến ngày ex-date tiếp theo vào khoảng Sep 14. Quỹ có thời gian xa nhất là HDV, vận hành theo chu kỳ 90 ngày, hướng tới ngày Nov 17. Cột payments_per_year phân loại các nhóm quỹ: các quỹ chi trả mười hai lần một năm sẽ có ngày ex-date khoảng bốn tuần một lần; các quỹ chi trả bốn lần một năm thực hiện mỗi quý một lần, vào các tháng cuối quý. Hãy coi ngày dự kiến này là ước tính, chỉ có thông báo từ đơn vị quản lý quỹ mới là quyết định cuối cùng.
Đây là một tháng bận rộn hay trầm lắng?
Ngày giao dịch không hưởng quyền (ex-dividend date) không được phân bổ đều trong năm. Dưới đây là số liệu trung bình theo tháng dương lịch trong ba năm qua:
| Tháng | Số ngày ex/năm | Trả cổ tức hàng quý | Trả cổ tức hàng tháng |
|---|---|---|---|
| 01 Jan | 2043 | 517 | 1024 |
| 02 Feb | 3108 | 986 | 1559 |
| 03 Mar | 5605 | 2659 | 1541 |
| 04 Apr | 3334 | 635 | 1596 |
| 05 May | 4241 | 1159 | 1619 |
| 06 Jun | 5792 | 2640 | 1612 |
| 07 Jul | 3194 | 668 | 1661 |
| 08 Aug | 3813 | 1143 | 1658 |
| 09 Sep | 4973 | 2396 | 1448 |
| 10 Oct | 2702 | 660 | 1511 |
| 11 Nov | 3370 | 1198 | 1521 |
| 12 Dec | 6380 | 2583 | 1951 |
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 monthCác tháng cuối quý là thời điểm tập trung nhiều nhất: tháng Ba trung bình có 5605 ngày ex-date, 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 ghi nhận hơn hai nghìn mã chi 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 có số lượng thấp hơn, với tháng Một trung bình là 2043 và tháng Bảy là 3194, chỉ bằng một nửa hoặc ít hơn so với các tháng cuối quý. Mức nền cho các tháng trầm lắng này chính là nhóm chi trả hàng tháng: 1661 số lượng trung bình của tháng Bảy đến từ các mã chi trả hàng tháng, vốn không phụ thuộc vào lịch chi trả theo quý. Danh sách ngắn trong tuần này là đặc điểm của lịch trình, không phải là đánh giá về thị trường.
Tại sao các lịch trình khác biệt và cách đọc bảng này
Nếu so sánh trang này với lịch của các công ty môi giới, bạn sẽ thấy những khác biệt nhỏ. Mỗi lịch trình được xây dựng dựa trên các thông báo từ công ty, và các nguồn dữ liệu khác nhau về tốc độ cập nhật thông báo, cách hiển thị các ngày đã điều chỉnh, cũng như việc có bao gồm các quỹ, quỹ tín thác và niêm yết nước ngoài hay chỉ tính các công ty vận hành (số lượng ngày ở trên bao gồm tất cả; chỉ các bảng xếp hạng mới áp dụng ngưỡng vốn hóa thị trường). Khi hai lịch trình không khớp nhau, thông cáo báo chí công bố của công ty là căn cứ quyết định. Dữ liệu độ sâu thị trường được tính toán trực tiếp:
| Ngày ex tương lai đã công bố | Trong 7 ngày tới | Quỹ công bố trước ngày chốt | Ngày công bố xa nhất | Nhãn ngày công bố xa nhất |
|---|---|---|---|---|
| 4023 | 475 | 0 | 2027-11-12 | Nov 12, 2027 |
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 > 04023 ngày giao dịch không hưởng quyền (ex-dividend date) trong tương lai hiện đã có trong hệ thống, với 475 ngày nằm trong vòng một tuần tới, và các thông báo kéo dài đến Nov 12, 2027. Trong số mười ba quỹ nêu trên, số lượng ngày ex-date được công bố trước là 0, đây là khoảng cách cấu trúc khiến cho nhịp độ, chứ không phải 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 xa hơn sẽ được lấp đầy khi có thông báo mới: 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 ngày giao dịch không hưởng quyền (ex-dividend)
Làm thế nào để tìm các 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 khoản cổ tức kèm theo ngày giao dịch không hưởng quyền (ex-dividend date), ngày chốt danh sách (record date) và ngày thanh toán (pay date), và các thông báo này được đưa vào các nguồn dữ liệu thị trường. Trang này tính toán lịch dựa trực tiếp trên các hồ sơ đó, 4023 các ngày trong tương lai đã được lưu trữ, và được cập nhật lại 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ó nhận được 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 bao gồm khoản thanh toá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 ex-dividend; nếu mua vào đúng ngày ex-dividend, người bán sẽ giữ lại 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 qua thời điểm đóng cửa trước ngày ex-dividend, tiền mặt sẽ tự động được ghi có vào tài khoản môi giới 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 thiết lập của nhà môi giới giúp tái đầu tư khoản thanh toán vào việc 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 để hưởng cổ tức có hiệu quả không?
Dữ liệu cho thấy điều ngược lại. Trong số 79 sự kiện ex-dividend của các cổ phiếu vốn hóa siêu 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 ex-dividend, trong khi giá trị thanh toán trung bình chỉ chiếm 0.67% thị giá, và mười phiên sau đó chỉ có 50.6% số cổ phiếu quay trở lại hoặc vượt mức giá ban đầu. Việc nắm giữ ngắn hạn cũng không đáp ứng được bài kiểm tra thời gian nắm giữ đối với cổ tức đủ điều kiện (qualified dividend).
Cổ tức có bị đánh thuế 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 Hoa Kỳ. Một khoản cổ tức được coi là đủ điều kiện (qualified), chịu thuế theo mức thuế lãi 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 khoảng 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. Một giao dịch mua ngay trước và bán ngay sau ngày này sẽ bỏ lỡ khoảng 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ỹ là thu nhập thông thường bất kể thời gian nắm giữ. Đây là thông tin về cơ chế vận hành, không phải lời khuyên về thuế.
Hồ sơ cổ tức theo ticker
Mỗi doanh nghiệp vốn hóa lớn trong lịch này đều có hồ sơ cổ tức riêng, với tỷ suất cổ tức hiện tại được tính từ giá đóng cửa gần nhất, lịch sử chi trả đầy đủ được ghi nhận trên băng tin, chuỗi tăng trưởng cổ tức và diễn biến giao dịch thực tế vào các buổi sáng ngày giao dịch không hưởng quyền (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à quản lý phiên bản dựa trên các hồ sơ cổ tức đã công bố và dữ liệu giao dịch theo phút thực tế. Bạn có thể mở rộng mã SQL bên dưới bất kỳ bảng nào hoặc tự sàng lọc lịch trên thiết bị đầu cuối Strasmore.