एक्स-डिविडेंड डेट कैलेंडर: इस हफ़्ते के शेयर
इस और अगले हफ़्ते एक्स-डिविडेंड होने वाले बड़े शेयर, प्रति-शेयर भुगतान और पे डेट देखें, साथ ही एक्स-डे पर कीमत गिरने का असली आंकड़ा।
आने वाली एक्स-डिविडेंड डेट यही तय करती है कि भुगतान किसे मिलेगा: शेयर की एक्स-डिविडेंड डेट से पहले उसे होल्ड करें तो अगला भुगतान आपका है; उस दिन या उसके बाद खरीदें तो नकद विक्रेता के पास रहता है। यह पेज आगे की तारीख़ों का लाइव कैलेंडर है — इस हफ़्ते हर दिन एक्स-डिविडेंड होने वाले नाम, अगले दो हफ़्तों में एक्स-डिविडेंड होने वाली सबसे बड़ी कंपनियाँ — जो घोषित डिविडेंड रिकॉर्ड से निकाला गया है और हर हफ़्ते ताज़ा होता है। यह यह भी मापता है कि एक्स-डे की सुबह शेयर की कीमत असल में क्या करती है, और क्या "डिविडेंड कैप्चर" ट्रेड डेटा की कसौटी पर खरा उतरता है।
इस हफ़्ते की एक्स-डिविडेंड डेट
अगले सात दिनों में एक्स-डिविडेंड होने वाला हर घोषित कैश डिविडेंड, दिन के हिसाब से, और भुगतान कितनी बार होता है उसके हिसाब से बँटा हुआ:
हर आंकड़े के पीछे का पूरा 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नज़दीकी कैलेंडर में 5 एक्स-डिविडेंड दिन दर्ज हैं, शुरुआत Jul 23 से — 35 नाम, जिनमें 16 मंथली पेयर और 8 क्वार्टरली पेयर शामिल हैं। कैलेंडर देखते वक़्त यह बँटवारा मायने रखता है: मंथली नाम (इनकम फ़ंड, मॉर्टगेज ट्रस्ट, कुछ REIT) हर चार हफ़्ते में दोबारा दिखते हैं और महीने के बीचोबीच जमा हो जाते हैं; क्वार्टरली नाम — यानी ज़्यादातर ऑपरेटिंग कंपनियाँ — सीज़न में एक बार आते हैं। इनमें से कोई भी भुगतान पाने के लिए पोज़िशन लिस्टेड तारीख़ से पहले वाले ट्रेडिंग दिन के क्लोज़ पर होल्ड होनी चाहिए। टाइमिंग की पूरी मशीनरी हमारी एक्स-डिविडेंड डेट गाइड में है, और रिकॉर्ड डेट बनाम एक्स-डिविडेंड डेट बताता है कि ख़रीदारों के लिए एक्स-डेट ही क्यों मायने रखती है।
अगले दो हफ़्तों में एक्स-डिविडेंड होने वाले बड़े नाम
अगले चौदह दिनों में एक्स-डिविडेंड होने वाली सबसे बड़ी कंपनियाँ ($10B और उससे ऊपर का मार्केट कैप) — भुगतान, पे डेट, और मौजूदा कीमत पर उस भुगतान से बनने वाली वार्षिक यील्ड:
हर आंकड़े के पीछे का पूरा 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लिस्ट की सबसे बड़ी कंपनी COST है, जो Jul 24 को एक्स-डिविडेंड होगी और जिसका $1.47 प्रति-शेयर भुगतान Aug 7 को आएगा — यानी हाल की कीमत पर 0.63% की इंडिकेटेड वार्षिक यील्ड। यील्ड वाले कॉलम को ध्यान से पढ़िए: यह घोषित भुगतान को उसकी बताई गई फ़्रीक्वेंसी पर सालाना करके निकाला गया है — यह एक स्नैपशॉट गणित है, कोई वादा नहीं। बड़ा प्रति-शेयर आँकड़ा और बड़ी यील्ड अलग-अलग चीज़ें हैं, जैसा डिविडेंड यील्ड क्या है दिखाता है। रैंक की गई टेबलों से एक सिंबल हटा दिया गया है (यह फ़िल्टर पैनल के SQL में दिखता है): उसका टिकर एक दूसरे इशूअर को दोबारा दिया गया था, इसलिए उसके रिकॉर्ड दो कंपनियों में बँटे हैं, और हम ऐसी पंक्ति छापने के बजाय उसे हटाना बेहतर मानते हैं जिसका सही श्रेय तय न हो सके।
अभी किस तरह की कंपनियाँ भुगतान कर रही हैं
डिविडेंड फ़ीड में कोई सेक्टर लेबल नहीं होता, इसलिए दो हफ़्ते की विंडो की शक्ल उन्हीं चीज़ों से बनानी पड़ती है जो रिकॉर्ड में मौजूद हैं: कंपनी का आकार, भुगतान की फ़्रीक्वेंसी, और हर घोषित भुगतान से मौजूदा कीमत पर बनने वाली यील्ड। अगले चौदह दिनों में एक्स-डिविडेंड होने वाला हर रेगुलर पेयर, जिसके पास मार्केट-कैप रिकॉर्ड है, आकार के बैंड के हिसाब से बाँटा गया:
हर आंकड़े के पीछे का पूरा 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इस विंडो में 7 मेगा-कैप ($100B और ऊपर) और 30 लार्ज-कैप ($10B से $100B), साथ ही 27 मिड-कैप और 56 छोटे नाम शामिल हैं। मीडियन इंडिकेटेड यील्ड मेगा-कैप बैंड में 2.13%, लार्ज-कैप में 2.55%, मिड-कैप में 2.98% और स्मॉल-कैप में 3.88% है। आकार और यील्ड अलग-अलग धुरी हैं: यील्ड के हिसाब से छाँटा गया कैलेंडर आकार के हिसाब से छाँटे गए कैलेंडर से बिलकुल अलग नाम दिखाता है — यही वजह है कि सिर्फ़ यील्ड पर बना कोई स्क्रीन चुपके से आपको आकार की सीढ़ी नीचे उतार देता है। फ़्रीक्वेंसी भी ठीक वैसे ही बँटती है जैसे ऊपर की दिन-ब-दिन टेबल में। बाज़ार के ऊपरी हिस्से पर क्वार्टरली आदत का राज है — मेगा-कैप का 7 हिस्सा क्वार्टरली भुगतान करता है और 0 मंथली, जबकि मंथली भीड़ कैप टेबल में और नीचे बैठती है: इस विंडो के स्मॉल-कैप नामों में 17 हर महीने भुगतान करते हैं।
भुगतान पाने के लिए असल में क्या करना होता है
लगभग हर मामले में कुछ नहीं। कोई फ़ॉर्म नहीं, ब्रोकर को कॉल नहीं, कोई रजिस्ट्रेशन नहीं: एक्स-डेट से पहले वाले ट्रेडिंग दिन के क्लोज़ पर शेयर होल्ड कीजिए, और नकद पे डेट पर — आम तौर पर कुछ हफ़्तों बाद — आपके खाते में आ जाता है। उस आख़िरी दिन को ख़रीदना भी गिना जाता है — अमेरिकी ट्रेड अगले कारोबारी दिन सेटल होते हैं (T+1), और एक्स-डेट इसी हिसाब से तय होती है। एक वैकल्पिक क़दम है DRIP (डिविडेंड रीइन्वेस्टमेंट प्लान) — ब्रोकर की एक सेटिंग जो नकद को उसी शेयर के फ़्रैक्शनल हिस्सों में बदल देती है।
टैक्स ट्रीटमेंट में ही एक्स-डेट सबसे ज़्यादा असर डालती है। किसी अमेरिकी टैक्सेबल अकाउंट में डिविडेंड क्वालिफ़ाइड — यानी कम लॉन्ग-टर्म कैपिटल-गेन्स रेट पर टैक्स होने लायक — तभी माना जाता है जब आप एक्स-डिविडेंड डेट से 60 दिन पहले शुरू होने वाली 121-दिन की विंडो में शेयर 60 दिन से ज़्यादा होल्ड करते हैं। एक्स-डेट से एक दिन पहले ख़रीदना, भुगतान लेना और एक हफ़्ते बाद बेच देना — यह टेस्ट फ़ेल हो जाता है: भुगतान ऑर्डिनरी इनकम की तरह टैक्स होता है। REIT और कई फ़ंड के डिस्ट्रीब्यूशन वैसे भी हमेशा ऑर्डिनरी इनकम होते हैं, और अकाउंट का प्रकार तस्वीर बदल देता है (IRA में यह नियम लागू नहीं होता)। यह टैक्स सलाह नहीं है — लेकिन छोटी होल्डिंग वाला "कैप्चर" टैक्स के बाद दिखने से कम बचाता है।
एक्स-मॉर्निंग को कीमत असल में क्या करती है
आम तौर पर कहा जाता है कि शेयर अपनी एक्स-डेट पर "डिविडेंड जितना नीचे समायोजित" होकर खुलता है। एक्सचेंज ओपन से पहले रेफ़रेंस प्राइस को वाक़ई नीचे मार्क करता है — लेकिन ओपनिंग प्रिंट उस मार्कडाउन के साथ-साथ रात भर में हुई बाक़ी हर चीज़ का भी नतीजा होता है। तीन जाने-पहचाने पेयर, उनकी सबसे हालिया एक्स-डेट पर:
हर आंकड़े के पीछे का पूरा 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कोका-कोला की सबसे हालिया एक्स-डेट, Jun 15, लीजिए: $0.53 का भुगतान, जो पिछली शाम के $82.6 क्लोज़ का 0.64% था, जबकि एक्स-मॉर्निंग का पहला प्रिंट $81.08 पर हुआ — यानी -1.84% का गैप। वेराइज़न का भुगतान उसके $42.22 के पिछले क्लोज़ का 1.68% था; वह -1.46% पर खुला। एक्सॉन का भुगतान 0.67% था; वह 0.64% पर खुला। तीन पेयर, तीन अलग-अलग आकार के गैप, कोई भी ठीक भुगतान जितना नहीं। मार्कडाउन रेफ़रेंस प्राइस में की गई एक बहीखाता एडजस्टमेंट है; ओपन एक असली कीमत है, और कीमतें रात भर उन वजहों से भी हिलती हैं जिनका डिविडेंड से कोई लेना-देना नहीं। भुगतान पहले से पता होता है; एक्स-मॉर्निंग की कीमत नहीं।
क्या डिविडेंड-कैप्चर ट्रेड काम करता है?
"डिविडेंड कैप्चर" का आइडिया है: एक्स-डेट से ठीक पहले ख़रीदना, भुगतान लेना, और कीमत वापस चढ़ने पर बेच देना। इसमें एक टेस्ट किया जा सकने वाला दावा छुपा है। टेस्ट: पिछले छह महीनों में पचास मेगा-कैप पेयर के 84 एक्स-डिविडेंड इवेंट, हर एक को एक्स-डेट से पहले के क्लोज़ से लेकर एक्स-मॉर्निंग ओपन, एक्स-डे क्लोज़, और एक, पाँच व दस सेशन बाद तक ट्रैक किया गया।
हर आंकड़े के पीछे का पूरा 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.64% था। एक्स-मॉर्निंग ओपन पर औसत शेयर अपने प्री-एक्स क्लोज़ से -0.51% हिला (मीडियन -0.52%), और सिर्फ़ 25% इवेंट पिछले क्लोज़ पर या उससे ऊपर खुले: मार्कडाउन असली है और फ़ौरन असर डालता है। इसके बाद जो होता है, वही हिस्सा पिच में छोड़ दिया जाता है। एक्स-डे क्लोज़ तक औसत इवेंट शुरुआती कीमत से -0.71% पर था; एक सेशन बाद -1.1%; पाँच सेशन बाद -1.22%; दस सेशन बाद -0.26% — जिसमें 44% अपनी शुरुआती जगह पर या उससे ऊपर वापस आ चुके थे।
कीमत के "वापस आने" का इंतज़ार करने का मतलब है दस सेशन की सामान्य वोलैटिलिटी झेलना — ऐसी हलचलें जो दोनों दिशाओं में 0.64% के भुगतान को बौना बना देती हैं — जबकि छोटी होल्डिंग क्वालिफ़ाइड-डिविडेंड टैक्स ट्रीटमेंट भी गँवा देती है। डिविडेंड शेयर की कीमत से आपके खाते में हुआ एक ट्रांसफ़र है, टेप पर मिला मुफ़्त पैसा नहीं, और उसके बाद की कीमत की चाल बाज़ार की मर्ज़ी पर है।
फ़ंड और ETF: फ़ॉरवर्ड कैलेंडर में क्यों नहीं दिखते
इनकम चाहने वाले निवेशक अक्सर अकेले शेयरों के बजाय फ़ंड होल्ड करते हैं, और ऊपर का फ़ॉरवर्ड कैलेंडर एक स्ट्रक्चरल वजह से उनमें पतला है: ज़्यादातर एक्सचेंज-ट्रेडेड फ़ंड किसी कंपनी बोर्ड की तरह बहुत पहले से एक्स-डेट घोषित नहीं करते — उनके डिस्ट्रीब्यूशन रिकॉर्ड टेप पर एक्स-डेट पर, या उससे बस थोड़ा पहले ही दर्ज होते हैं। जो चीज़ उनके पास होती है वह है एक मशीन जैसी नियमित फ़्रीक्वेंसी, जिसके सहारे योजना बनाई जा सकती है। तेरह व्यापक रूप से होल्ड किए जाने वाले इनकम फ़ंड, उनकी आख़िरी एक्स-डेट, एक्स-डेट के बीच का सामान्य अंतर, और वह फ़्रीक्वेंसी अगली तारीख़ के बारे में क्या इशारा करती है:
हर आंकड़े के पीछे का पूरा 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 है, जो आख़िरी बार Jul 1 को $0.3872 प्रति शेयर पर एक्स हुआ था, 30-दिन की फ़्रीक्वेंसी पर — जो उसकी अगली एक्स-डेट को Jul 31 के आसपास रखता है। सबसे दूर वाला, HDV, 91-दिन की फ़्रीक्वेंसी पर चलता है, जो Oct 14 की ओर इशारा करती है। payments_per_year कॉलम इन परिवारों को बाँट देता है: साल में बारह बार भुगतान करने वाले नाम हर क़रीब चार हफ़्ते में एक्स होते हैं; साल में चार बार वाले फ़ंड क्वार्टर-एंड महीनों में, सीज़न में एक बार। इशारा की गई तारीख़ को अनुमान ही मानिए — आख़िरी बात सिर्फ़ स्पॉन्सर की सूचना ही तय करती है।
क्या यह भारी महीना है या हल्का?
एक्स-डिविडेंड डेट पूरे साल में बराबर नहीं बँटी होतीं — तीन साल के रिकॉर्ड, कैलेंडर महीने के हिसाब से औसत:
हर आंकड़े के पीछे का पूरा 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 हिस्सा मंथली पेयर से आता है, जो क्वार्टरली कैलेंडर को पूरी तरह नज़रअंदाज़ करते हैं। इस हफ़्ते की छोटी लिस्ट कैलेंडर की एक ख़ासियत है, बाज़ार पर कोई फ़ैसला नहीं।
कैलेंडर आपस में क्यों नहीं मिलते — और इसे कैसे पढ़ें
इस पेज की तुलना किसी ब्रोकर के कैलेंडर से कीजिए तो छोटे-मोटे फ़र्क़ मिलेंगे। हर कैलेंडर कंपनी की घोषणाओं से बनता है, और स्रोत इस बात में अलग-अलग होते हैं कि वे घोषणाओं को कितनी तेज़ी से लेते हैं, संशोधित तारीख़ें दिखाते हैं या नहीं, और ऑपरेटिंग कंपनियों के साथ-साथ फ़ंड, ट्रस्ट और विदेशी लिस्टिंग को भी गिनते हैं या नहीं (ऊपर की दिन-गिनती में ये सब शामिल हैं; सिर्फ़ रैंक की गई टेबलों पर मार्केट-कैप की सीमा लागू होती है)। जब दो कैलेंडर आपस में न मिलें, तो कंपनी का घोषणा प्रेस रिलीज़ ही निर्णायक होता है। गहराई की यह रसीद लाइव निकाली गई है:
हर आंकड़े के पीछे का पूरा 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अभी 3237 आगामी एक्स-डिविडेंड डेट रिकॉर्ड में दर्ज हैं, जिनमें से 233 एक हफ़्ते के भीतर हैं, और घोषणाएँ Nov 12, 2027 तक पहुँचती हैं। ऊपर बताए गए तेरह फ़ंडों में फ़ॉरवर्ड-घोषित एक्स-डेट सिर्फ़ 0 हैं — यही स्ट्रक्चरल फ़ासला है जिसकी वजह से किसी फ़ंड की अगली एक्स-डेट का अंदाज़ा घोषणाओं से नहीं, फ़्रीक्वेंसी से लगाना पड़ता है। बोर्ड एक बार में एक ही मीटिंग की घोषणा करते हैं, इसलिए दूर का कैलेंडर घोषणाएँ आने के साथ-साथ भरता है: नज़दीकी तारीख़ों को भरोसेमंद मानिए, दूर वालियों को अस्थायी।
FAQ
आने वाली एक्स-डिविडेंड डेट का पता कैसे लगाएं?
कंपनियाँ हर डिविडेंड की घोषणा उसकी एक्स-डिविडेंड, रिकॉर्ड और पे डेट के साथ करती हैं, और ये घोषणाएँ मार्केट डेटा फ़ीड में आ जाती हैं। यह पेज कैलेंडर सीधे उन्हीं रिकॉर्ड से निकालता है — अभी 3237 आगामी तारीख़ें दर्ज हैं — और हर हफ़्ते नए सिरे से बनता है।
एक्स-डिविडेंड डेट पर शेयर खरीदने पर डिविडेंड मिलता है क्या?
नहीं। एक्स-डिविडेंड डेट वह पहला दिन है जब शेयर उस भुगतान के बिना ट्रेड होता है। भुगतान पाने के लिए आपको एक्स-डेट से पहले वाले ट्रेडिंग दिन के क्लोज़ पर शेयर होल्ड करना ज़रूरी है; एक्स-डेट पर ख़रीदने पर भुगतान विक्रेता के पास ही रहता है।
डिविडेंड पाने के लिए क्या करना पड़ता है?
कुछ नहीं। एक्स-डेट से पहले वाले क्लोज़ तक शेयर होल्ड कीजिए, और नकद अपने आप पे डेट पर आपके ब्रोकरेज अकाउंट में जमा हो जाता है — कोई फ़ॉर्म नहीं, कोई क्लेम नहीं, कोई कॉल नहीं। सिर्फ़ एक वैकल्पिक क़दम है DRIP, यानी ब्रोकर की वह सेटिंग जो भुगतान को दोबारा और शेयरों में लगा देती है।
क्या डिविडेंड कैप्चर स्ट्रैटेजी काम करती है?
डेटा इसके ख़िलाफ़ बोलता है। पिछले छह महीनों के 84 मेगा-कैप एक्स-डिविडेंड इवेंट में, औसत शेयर का ओपन अपने प्री-एक्स क्लोज़ से -0.51% हिला, जबकि औसत भुगतान कीमत का सिर्फ़ 0.64% था, और दस सेशन बाद सिर्फ़ 44% अपनी शुरुआती जगह पर या उससे ऊपर लौटे। छोटी होल्डिंग क्वालिफ़ाइड-डिविडेंड होल्डिंग-पीरियड टेस्ट में भी फ़ेल हो जाती है।
डिविडेंड पर टैक्स कब और कैसे लगता है?
हाँ, किसी अमेरिकी टैक्सेबल अकाउंट में। डिविडेंड क्वालिफ़ाइड — यानी लॉन्ग-टर्म कैपिटल-गेन्स रेट पर टैक्स होने लायक — तभी माना जाता है जब आप एक्स-डिविडेंड डेट से 60 दिन पहले शुरू होने वाली 121-दिन की विंडो में शेयर 60 दिन से ज़्यादा होल्ड करें। ठीक पहले ख़रीदकर ठीक बाद बेच देने वाला ट्रेड यह विंडो चूक जाता है, और भुगतान ऑर्डिनरी इनकम की तरह टैक्स होता है। REIT और कई फ़ंड के डिस्ट्रीब्यूशन वैसे भी हमेशा ऑर्डिनरी इनकम होते हैं। यह एक मैकेनिक्स है, टैक्स सलाह नहीं।
टिकर के हिसाब से डिविडेंड प्रोफ़ाइल
इस कैलेंडर पर हर लार्ज-कैप पेयर का अपना मापा हुआ डिविडेंड प्रोफ़ाइल है — नवीनतम क्लोज़ से निकाली गई मौजूदा यील्ड, टेप पर दर्ज पूरा भुगतान इतिहास, ग्रोथ स्ट्रीक, और उसकी एक्स-डिविडेंड सुबहें असल में कैसे ट्रेड हुई हैं:
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.
ऊपर की हर टेबल घोषित डिविडेंड रिकॉर्ड और असली मिनट बार पर चलने वाली एक स्टोर की हुई, वर्ज़न-कंट्रोल्ड क्वेरी है — किसी भी पैनल के नीचे का SQL खोलिए, या Strasmore टर्मिनल पर ख़ुद यह कैलेंडर स्क्रीन कीजिए।