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

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:

Truy vấnLịch chia cổ tức theo ngày: danh sách 7 ngày tới
Ngày GDKHQNhãn ngày GDKHQMã GDKHQTrả cổ tức hàng thángTrả cổ tức hàng quý
2026-10-19Oct 1931814
2026-10-20Oct 203697
2026-10-21Oct 212086
2026-10-22Oct 221436
2026-10-23Oct 231166422
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
Tự chạy truy vấn này

Lị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ừ Oct 19 với 31 mã, trong đó có 8 mã chi trả hàng tháng và 14 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:

Truy vấnCác công ty lớn chia cổ tức trong 14 ngày tới: số tiền, ngày thanh toán, tỷ suất cổ tức
TickerNgày GDKHQNhãn ngày GDKHQUSD/cổ phiếuNgày thanh toánNhãn ngày thanh toánVốn hóa (tỷ)Lợi suất (%)
COST2026-10-30Oct 301.472026-11-13Nov 134330.6
PG2026-10-23Oct 231.08852026-11-16Nov 163652.77
CAT2026-10-26Oct 261.632026-11-19Nov 193380.89
DELL2026-10-20Oct 200.632026-10-30Oct 303010.53
MS2026-10-30Oct 301.152026-11-13Nov 132862.53
TXN2026-10-30Oct 301.522026-11-10Nov 102552.18
GEV2026-10-27Oct 270.52026-11-24Nov 242470.22
CVS2026-10-22Oct 220.6652026-11-02Nov 21182.87
LOW2026-10-21Oct 211.252026-11-04Nov 41102.55
BNY2026-10-26Oct 260.632026-11-09Nov 9961.77
EPD2026-10-30Oct 300.562026-11-13Nov 13776.3
CL2026-10-20Oct 200.532026-11-13Nov 13742.29
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
Tự chạy truy vấn này

Tên tuổi lớn nhất trong danh sách là COST, sẽ đến ngày giao dịch không hưởng quyền vào Oct 30 với mức chi trả 1.47 đô la mỗi cổ phiếu vào ngày Nov 13, tương ứng với tỷ suất cổ tức hàng năm là 0.6% 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:

Truy vấnDanh sách chia cổ tức 14 ngày tới: tên, tần suất và tỷ suất dự kiến theo quy mô vốn hóa
Nhóm quy môMã GDKHQLợi suất trung vị (%)Trả cổ tức hàng thángTrả cổ tức hàng quý
1 Mega cap ($100B+)92.1809
2 Large cap ($10-100B)312.19427
3 Mid cap ($2-10B)263.09521
4 Small cap (under $2B)315.981219
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
Tự chạy truy vấn này

Khung thời gian này bao gồm 9 công ty vốn hóa siêu lớn (từ 100 tỷ USD trở lên) và 31 công ty vốn hóa lớn (từ 10 tỷ USD đến 100 tỷ USD), cùng với 26 công ty vốn hóa trung bình và 31 các tên tuổi nhỏ hơn. Lợi suất chỉ định trung vị đạt 2.18% ở nhóm vốn hóa siêu lớn, 2.19% ở nhóm vốn hóa lớn, 3.09% ở nhóm vốn hóa trung bình và 5.98% ở 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 9 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: 12 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:

Truy vấnBa mã cổ phiếu tiêu biểu tại ngày giao dịch không hưởng quyền gần nhất: giá đóng cửa, giá mở cửa và mức chi trả
TickerNgày GDKHQ gần nhấtNhãn GDKHQ gần nhấtCổ 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á (%)
KO2026-09-15Sep 150.5389.3688.53-0.930.59
VZ2026-10-09Oct 90.707546.3642.83-7.61.53
XOM2026-08-17Aug 171.03160.09160.10.010.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 ticker
Tự chạy truy vấn này

Hãy xem xét ngày ex-date gần nhất của Coca-Cola, Sep 15: khoản chi trả 0.53, tương đương 0.59% so với mức giá đóng cửa 89.36 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à 88.53, tạo ra một khoảng cách -0.93%. Khoản chi trả của Verizon tương đương 1.53% so với mức giá đóng cửa 46.36 trước đó; cổ phiếu này mở cửa ở mức -7.6%. 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: 80 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.

Truy vấnCác sự kiện chia cổ tức của nhóm mega-cap trong 6 tháng qua: biến động giá từ ngày trước khi chốt quyền
Điểm kiểm traSự kiệnCổ 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 open800.65-0.56-0.622.5
2 ex-day close800.65-0.53-0.2738.8
3 one session later800.65-0.59-0.7340
4 five sessions later800.65-0.410.0150
5 ten sessions later800.650.12-0.2846.2
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
Tự chạy truy vấn này

Khoản chi trả trung bình ở đây tương đương 0.65% 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.56% so với giá đóng cửa trước đó (trung vị -0.6%), và chỉ 22.5% 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.53% so với giá khởi điểm; một phiên sau đó là -0.59%; năm phiên sau là -0.41%; mười phiên sau là 0.12%, với 46.2% 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.65% 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 độ đó:

Truy vấnMười ba quỹ cổ tức và thu nhập lớn: ngày chốt quyền gần nhất, tần suất và ngày chốt quyền dự kiến tiếp theo
TickerSố lần chi trả/nămNgày GDKHQ gần nhấtNhãn GDKHQ gần nhấtCổ tức gần nhất ($)Số ngày gap điển hìnhNgày ex dự kiếnNhãn ngày ex dự kiến
QYLD122026-09-21Sep 210.1767282026-10-19Oct 19
SPHD122026-09-21Sep 210.2016282026-10-19Oct 19
JEPI122026-10-01Oct 10.3413302026-10-31Oct 31
JEPQ122026-10-01Oct 10.5669302026-10-31Oct 31
DGRO42026-09-15Sep 150.385912026-12-15Dec 15
DVY42026-09-15Sep 151.3291912026-12-15Dec 15
HDV42026-09-16Sep 160.056902026-12-15Dec 15
SPY42026-09-18Sep 181.8888912026-12-18Dec 18
VYM42026-09-18Sep 180.8869912026-12-18Dec 18
SPYD42026-09-21Sep 210.5178912026-12-21Dec 21
NOBL42026-09-23Sep 230.2825912026-12-23Dec 23
SCHD42026-09-23Sep 230.2665912026-12-23Dec 23
VIG42026-09-28Sep 280.9295922026-12-29Dec 29
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
Tự chạy truy vấn này

Quỹ có ngày gần nhất trong nhóm là QYLD, với ngày ex-date gần nhất vào Sep 21 ở mức $0.1767 mỗi chứng chỉ quỹ theo chu kỳ 28 ngày, dự kiến ngày ex-date tiếp theo vào khoảng Oct 19. Quỹ có thời gian xa nhất là VIG, vận hành theo chu kỳ 92 ngày, hướng tới ngày Dec 29. 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:

Truy vấnNgày giao dịch không hưởng quyền theo tháng: trung bình 3 năm, so sánh tần suất quý và tháng
ThángSố ngày ex/nămTrả cổ tức hàng quýTrả cổ tức hàng tháng
01 Jan20435171024
02 Feb31089861559
03 Mar560526591541
04 Apr33346351596
05 May424111591619
06 Jun579226401612
07 Jul31946681661
08 Aug381311431658
09 Sep558725141634
10 Oct27026601511
11 Nov337011981521
12 Dec638025831951
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
Tự chạy truy vấn này

Cá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ó 5587 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:

Truy vấnDữ liệu cổ tức đã công bố: thông tin chi tiết đằng sau lịch này
Ngày ex tương lai đã công bốTrong 7 ngày tớiQuỹ công bố trước ngày chốtNgày công bố xa nhấtNhãn ngày công bố xa nhất
233821702027-11-12Nov 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 > 0
Tự chạy truy vấn này

2338 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 217 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ơ đó, 2338 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ố 80 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.56% 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.65% thị giá, và mười phiên sau đó chỉ có 46.2% 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.