Strasmore Research

ex-dividend date پر stocks کی قیمت کیوں گرتی ہے؟

ex-dividend date پر کمی sell-off نہیں بلکہ mechanical price adjustment ہوتی ہے۔ جانیں، حقیقی dividend payers پچھلے close کے مقابلے میں کتنی کم قیمت پر open ہوئے۔

Ex-dividend date پر stocks کی قیمت میں کمی sell-off کے بجائے ایک scheduled adjustment ہوتی ہے۔ ex-date پر خریدنے والے کو آنے والی payment نہیں ملتی، اس لیے شیئر پچھلی سہ پہر کے مقابلے میں ایک کم dividend کے حق کے ساتھ trade ہوتا ہے۔ Charting اور order-price purposes کے لیے exchange پچھلے session کے close کو dividend کی رقم سے کم کر کے دکھاتا ہے۔ Stock حقیقت میں کہاں open ہوتا ہے، یہ الگ سوال ہے۔ ذیل کے panels بڑی dividend-paying companies میں پانچ سال کی ex-dates کے دوران اسی سوال کی پیمائش کرتے ہیں۔

ex-dividend date پر stocks کی قیمت کیوں گرتی ہے: adjustment

Dividend کا عمل چار dates پر مشتمل ہوتا ہے۔ Declaration date وہ تاریخ ہے جب board payment کا اعلان کرتا ہے۔ Ex-dividend date پہلا session ہوتا ہے جس میں stock اس payment کے حق کے بغیر trade ہوتا ہے۔ Record date پر company اپنے shareholders کی فہرست دیکھتی ہے، جبکہ pay date وہ دن ہے جب cash موصول ہوتی ہے۔ ہماری ex-dividend date گائیڈ پورا sequence بیان کرتی ہے، جبکہ record date بمقابلہ ex-dividend date ان دو dates کا فرق واضح کرتی ہے جو اکثر خلط ملط ہو جاتی ہیں۔

Ex-date پر trade کرنے سے پہلے exchange دو mechanical adjustments کرتا ہے:

  • پچھلے session کے closing price کو reference purposes کے لیے dividend کی رقم سے کم کر دیا جاتا ہے۔ Charts، percentage-change fields، moving averages اور opening auction کے مقابلے میں quoted reference price، سب adjusted number استعمال کرتے ہیں۔
  • Market سے نیچے موجود open orders کو dividend کی رقم سے کم کر دیا جاتا ہے۔

ان میں سے کوئی بھی adjustment trade نہیں ہے۔ کوئی shares hands نہیں بدلتے اور کوئی volume prints نہیں ہوتے۔ Stock دن کا آغاز ایک کم reference point سے کرتا ہے۔ جو price series اس adjustment کو نظرانداز کرے، وہ ہر quarter میں ایک phantom decline دکھائے گی۔

کیا exchanges ex-date پر آپ کے open orders کم کر دیتے ہیں؟

ہاں، ان order types کے لیے جو موجودہ price سے نیچے بیٹھے ہوں۔ Exchanges ex-date پر open buy limit orders اور open sell stop orders، بشمول sell stop limit orders، کو dividend کی رقم سے کم کر دیتے ہیں۔ $0.50 dividend سے پہلے $50.00 کا buy limit ex-date پر $49.50 کا buy limit بن جاتا ہے۔ Market سے اوپر موجود orders، مثلاً sell limit یا buy stop، میں کوئی تبدیلی نہیں کی جاتی۔ اس کمی کا مقصد resting order کو تقریباً اسی distance پر رکھنا ہے جو اس کے مالک نے ایک دن پہلے منتخب کی تھی۔ US equities cents میں quote ہوتی ہیں، اس لیے adjustment پورے cents میں ظاہر ہوتی ہے۔

DNR، یعنی Do Not Reduce، وہ instruction ہے جو کسی order کو اس adjustment سے مستثنیٰ کرتی ہے۔ اسے attach کرنے سے $50.00 کا buy limit ex-date کے دوران بھی $50.00 رہتا ہے۔ ہر retail platform order ticket پر DNR فراہم نہیں کرتا۔ جہاں یہ موجود ہو، وہاں عموماً time in force کے ساتھ checkbox یا special-instruction dropdown میں دکھائی دیتا ہے۔ اسی نوعیت کی instruction DNI، یعنی Do Not Increase، stock dividends اور splits کے بعد share-count side کے plumbing پر لاگو ہوتی ہے، جس کی وضاحت due bills اور stock splits میں کی گئی ہے۔

ex-date پر price حقیقت میں کتنی گرتی ہے؟

ذیل کا panel بڑی dividend-paying companies کے group اور 2021 سے 2025 تک ہر ex-date کا جائزہ لیتا ہے۔ اس window کے دوران کسی company نے stock split نہیں کیا، اس لیے raw prices اور raw cash amounts براہِ راست comparable رہتے ہیں۔ ہر ex-date کے لیے prior session کے close کا موازنہ ex-date کے open سے کیا گیا ہے۔ اس کے بعد drop کو total dividend کے مقابلے میں جمع کیا گیا ہے۔

استفسار کریںادا کردہ dividend کے ہر ڈالر کے مقابل ابتدائی گراوٹ، ex-dates 2021 تا 2025
ہر عدد کے پیچھے موجود درست SQL
WITH
prices AS
(
    SELECT
        ticker,
        date,
        open_px,
        any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
    FROM
    (
        SELECT
            ticker,
            date,
            toFloat64(max(open))  AS open_px,
            toFloat64(max(close)) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
          AND date >= '2020-12-01'
          AND date <  '2026-01-01'
        GROUP BY ticker, date
    )
),
ex_days AS
(
    SELECT
        ticker,
        ex_dividend_date            AS ex_date,
        toFloat64(max(cash_amount)) AS dividend
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
      AND ex_dividend_date >= '2021-01-01'
      AND ex_dividend_date <  '2026-01-01'
      AND cash_amount > 0
    GROUP BY ticker, ex_dividend_date
)
SELECT
    e.ticker                                                   AS ticker,
    count()                                                    AS payment_count,
    round(avg(e.dividend), 4)                                  AS avg_dividend_usd,
    round(sum(p.prior_close - p.open_px) / sum(e.dividend), 2) AS drop_per_dollar_paid
FROM ex_days AS e
INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
WHERE p.prior_close > 0
GROUP BY e.ticker
ORDER BY drop_per_dollar_paid DESC
Run this yourself

آخری column کو ہر dollar dividend کے مقابلے میں opening drop کے dollars کے طور پر پڑھیں۔ 10 names میں یہ figure panel کے نچلے حصے میں 0.28 سے اوپر والے حصے میں 1.23 تک ہے۔ سب سے اوپر کی قدر ABBV کی 20 payments سے متعلق ہے۔ 1.00 کا مطلب ہوگا کہ stock اوسطاً prior close سے مکمل dividend کے برابر کم کھلا۔

ہر payment کو calendar year کے حساب سے pool کرنے سے معلوم ہوتا ہے کہ منتخب sample کے بدلنے پر نتیجہ کتنا تبدیل ہوتا ہے۔

استفسار کریںادا کردہ ہر ڈالر کے مقابل pooled ابتدائی گراوٹ، calendar year کے لحاظ سے
ہر عدد کے پیچھے موجود درست SQL
WITH
prices AS
(
    SELECT
        ticker,
        date,
        open_px,
        any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
    FROM
    (
        SELECT
            ticker,
            date,
            toFloat64(max(open))  AS open_px,
            toFloat64(max(close)) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
          AND date >= '2020-12-01'
          AND date <  '2026-01-01'
        GROUP BY ticker, date
    )
),
ex_days AS
(
    SELECT
        ticker,
        ex_dividend_date            AS ex_date,
        toFloat64(max(cash_amount)) AS dividend
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
      AND ex_dividend_date >= '2021-01-01'
      AND ex_dividend_date <  '2026-01-01'
      AND cash_amount > 0
    GROUP BY ticker, ex_dividend_date
)
SELECT
    toString(toYear(e.ex_date))                                AS year,
    count()                                                    AS payment_count,
    round(sum(p.prior_close - p.open_px) / sum(e.dividend), 2) AS drop_per_dollar_paid
FROM ex_days AS e
INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
WHERE p.prior_close > 0
GROUP BY year
ORDER BY year
Run this yourself

Pooled figure 2021 میں 40 payments کے دوران 0.85 رہی، جبکہ 2025 میں 40 payments کے دوران 0.81 رہی۔ یہ پراعتماد دعویٰ کہ ex-date drop dividend کا ایک مقررہ حصہ ہوتا ہے، اتنی وسیع distribution سے لیے گئے صرف ایک sample پر مبنی ہوگا۔

ایک ex-date کچھ نہیں بتاتی

Coca-Cola، KO، کئی دہائیوں سے مستقل quarterly schedule کے مطابق payment کرتی ہے۔ اس کے dividend per share کو ہر ex-date پر realised opening drop کے مقابلے میں plot کرنے سے measurement problem ایک ہی chart میں سامنے آ جاتی ہے۔

استفسار کریںKO: ہر ex-date 2021 تا 2025 پر فی share dividend بمقابلہ realized ابتدائی گراوٹ
ہر عدد کے پیچھے موجود درست SQL
WITH
prices AS
(
    SELECT
        date,
        open_px,
        any(close_px) OVER (ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
    FROM
    (
        SELECT
            date,
            toFloat64(max(open))  AS open_px,
            toFloat64(max(close)) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'KO'
          AND date >= '2020-12-01'
          AND date <  '2026-01-01'
        GROUP BY date
    )
),
ex_days AS
(
    SELECT
        ex_dividend_date            AS ex_date,
        toFloat64(max(cash_amount)) AS dividend
    FROM global_markets.stocks_dividends
    WHERE ticker = 'KO'
      AND ex_dividend_date >= '2021-01-01'
      AND ex_dividend_date <  '2026-01-01'
      AND cash_amount > 0
    GROUP BY ex_dividend_date
)
SELECT
    toString(e.ex_date)                 AS ex_date,
    concat(monthName(e.ex_date), ' ', toString(toDayOfMonth(e.ex_date)), ', ', toString(toYear(e.ex_date))) AS ex_date_label,
    round(e.dividend, 4)                AS dividend_per_share,
    round(p.prior_close - p.open_px, 2) AS drop_at_open
FROM ex_days AS e
INNER JOIN prices AS p ON p.date = e.ex_date
WHERE p.prior_close > 0
ORDER BY e.ex_date
Run this yourself

Dividend line تقریباً flat ہے اور سال میں ایک مرتبہ اوپر جاتی ہے۔ Drop line اس کے گرد اتار چڑھاؤ دکھاتی ہے۔ کچھ ex-dates پر opening adjustment سے بہت نیچے رہی، جبکہ کچھ پر prior close سے بھی اوپر کھلی۔ KO نے March 12, 2021 کو $0.42 فی share اور December 1, 2025 کو $0.51 فی share ادا کیے، جبکہ window میں کل 20 ex-dates تھیں۔

اس scale پر single-day picture واضح نہیں رہتی۔ Large-cap payer کا quarterly dividend share price کے ایک percent سے بھی بہت کم ہوتا ہے، جبکہ معمول کی overnight moves بھی اتنی ہی بڑی ہو سکتی ہیں۔ ذیل کا panel دونوں کو basis points میں مقابل کرتا ہے۔ ایک basis point، percentage point کا one-hundredth ہوتا ہے۔ یہ بھی شمار کیا گیا ہے کہ کتنی مرتبہ صرف معمول کی overnight move پورے quarterly payment سے بڑی رہی۔

استفسار کریںQuarterly dividend بمقابلہ معمول کی overnight حرکات، 2021 تا 2025
ہر عدد کے پیچھے موجود درست SQL
WITH
prices AS
(
    SELECT
        ticker,
        date,
        open_px,
        any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
    FROM
    (
        SELECT
            ticker,
            date,
            toFloat64(max(open))  AS open_px,
            toFloat64(max(close)) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
          AND date >= '2020-12-01'
          AND date <  '2026-01-01'
        GROUP BY ticker, date
    )
),
ex_days AS
(
    SELECT
        ticker,
        ex_dividend_date            AS ex_date,
        toFloat64(max(cash_amount)) AS dividend
    FROM global_markets.stocks_dividends
    WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
      AND ex_dividend_date >= '2021-01-01'
      AND ex_dividend_date <  '2026-01-01'
      AND cash_amount > 0
    GROUP BY ticker, ex_dividend_date
),
div_size AS
(
    SELECT
        e.ticker                                AS ticker,
        avg(e.dividend / p.prior_close) * 10000 AS dividend_bps
    FROM ex_days AS e
    INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
    WHERE p.prior_close > 0
    GROUP BY e.ticker
),
ordinary AS
(
    SELECT
        ticker,
        date,
        abs(open_px / prior_close - 1) * 10000 AS abs_gap_bps
    FROM prices
    WHERE prior_close > 0
      AND date >= '2021-01-01'
      AND (ticker, date) NOT IN (SELECT ticker, ex_date FROM ex_days)
)
SELECT
    o.ticker                                                              AS ticker,
    round(max(d.dividend_bps), 1)                                         AS dividend_bps,
    round(quantileDeterministic(0.5)(o.abs_gap_bps, toUInt32(o.date)), 1) AS median_gap_bps,
    round(100 * countIf(o.abs_gap_bps > d.dividend_bps) / count(), 1)     AS sessions_over_dividend_pct
FROM ordinary AS o
INNER JOIN div_size AS d ON d.ticker = o.ticker
GROUP BY o.ticker
ORDER BY sessions_over_dividend_pct DESC
Run this yourself

HD کے لیے median ordinary overnight move 40.5 basis points رہی، جبکہ quarterly dividend کی قدر 60.7 تھی۔ 33.2 percent ordinary sessions میں صرف overnight move پورے payment سے بڑی رہی۔ Panel کے دوسرے سرے پر VZ نے 3.2 percent sessions میں اسی طرح اپنا dividend عبور کیا۔ ایک ex-date اس distribution کا صرف ایک sample ہے، جس کے اوپر dividend کی ایک تہہ موجود ہوتی ہے۔

drop عموماً dividend سے کم کیوں ہوتی ہے؟

دو mechanisms observed drop کو full payment سے کم رکھتے ہیں۔

پہلا mechanism tax ہے۔ Taxable holder کے لیے dividend کا ایک dollar اور share price کا ایک dollar tax کے بعد برابر قدر نہیں رکھتے۔ Dividend جس سال موصول ہوتا ہے اسی سال tax ہوتا ہے، جبکہ unrealised gain پر tax صرف sale کے وقت، اس وقت لاگو rate کے مطابق، عائد ہوتا ہے۔ اگر marginal holder ایک dollar dividend کی قدر one minus dividend rate اور ایک dollar price کی قدر one minus capital gains rate کے برابر کرے، تو indifference dividend کو (1 - td) / (1 - tg) سے ضرب دینے والی drop پر قائم ہوتی ہے۔ موجودہ قانون کے بجائے ایک illustrative pair of rates لیں۔ Qualified dividend پر 20 percent اور long-term gain پر 15 percent tax دینے والا holder payment کی قدر 0.80 / 0.85، یعنی تقریباً 94 cents on the dollar، سمجھے گا۔ اس سے $0.50 dividend پر تقریباً $0.47 کی drop بنتی ہے۔ اسی holder کو 37 percent اور 20 percent rates پر منتقل کریں تو ratio 0.63 / 0.80، یعنی تقریباً 79 cents، بن جاتا ہے۔ اس صورت میں اسی payment پر drop تقریباً $0.39 ہوگی۔ کون سی rates لاگو ہوں گی، اس کا تعلق holding period اور account type سے ہے۔ qualified dividend holding period اس test کی وضاحت کرتی ہے۔ Rates وقت کے ساتھ بدلتی ہیں، لیکن arithmetic کی ساخت نہیں بدلتی۔

دوسرا mechanism tick ہے۔ Prices پورے cents میں trade ہوتی ہیں، جبکہ $0.235 dividend کو opening print میں exact طور پر ظاہر نہیں کیا جا سکتا۔

کیا dividend لینے کے لیے ایک دن پہلے خرید سکتے ہیں؟

Arithmetic کریں۔ Stock ex-date سے پہلے سہ پہر $50.00 پر close ہوتا ہے اور اس کے ساتھ $0.50 dividend منسلک ہے۔ اس close پر 100 shares خریدنے سے آپ کے پاس $5,000 کا stock ہوگا۔ اگلی صبح adjusted reference close $49.50 ہوگا۔ 100 shares کی value تقریباً $4,950 دکھائی جائے گی، اور آپ کے پاس pay date پر، کئی ہفتے بعد، settle ہونے والا $50 dividend receivable ہوگا۔ Pre-tax دونوں صورتوں میں ex-date کے بعد آپ کے پاس $5,000 رہیں گے۔ آپ نے $50 share price کو $50 cash میں تبدیل کیا ہے، اور taxable account میں ایک tax event پیدا کیا ہے۔

Ex-date سے ایک دن پہلے خریدنے سے یہ طے ہوتا ہے کہ آپ income کب لیں گے۔ کسی خاص صبح open adjusted reference سے اوپر یا نیچے کہاں بنتا ہے، یہ اوپر موجود KO chart کا noise ہے۔ اس gap کو جان بوجھ کر trade کرنے والے approach کا ایک نام ہے۔ dividend capture strategy اسے چلانے کی لاگت بیان کرتی ہے۔ Exit-side mechanics کے لیے ex-dividend date پر فروخت اس سوال کا براہِ راست جواب دیتی ہے۔

یہ panels کیسے تیار کیے گئے

مسلسل quarterly dividend histories رکھنے والی بڑی US payers منتخب کی گئیں۔ ان میں سے کسی نے 2021 اور 2025 کے درمیان stock split نہیں کیا، اس لیے پوری window میں unadjusted opens اور cash amounts comparable رہے۔ ہر ex-date کا prior close اسی ticker کی daily session series میں previous row سے لیا گیا۔ اس طریقے سے weekends اور holidays hardcoded calendar کے بغیر handle ہو گئے۔ Dividend rows کو ہر ticker اور ex-date کے حساب سے deduplicate کیا گیا۔ Ratio panels نے per-event ratios کا average لینے کے بجائے drop کو total dividend کے مقابلے میں جمع کیا۔ اس سے کسی ایک چھوٹی payment کو figure پر غیر معمولی اثر ڈالنے سے روکا گیا۔

اکثر پوچھے جانے والے سوالات

ex-dividend date پر stock price کیوں گرتی ہے؟

Ex-dividend date پر buyer کو آنے والی payment نہیں ملتی۔ Exchange reference اور order-price purposes کے لیے prior close کو dividend کی رقم سے کم کر دیتا ہے۔ یہ drop date کے mechanics میں پہلے ہی شامل ہوتی ہے اور کوئی trading ہونے سے پہلے واقع ہو جاتی ہے۔

کیا stock ہمیشہ dividend کی عین رقم کے برابر گرتا ہے؟

نہیں۔ Reference close کی adjustment عین dividend کے برابر ہوتی ہے، لیکن opening print اس price پر بنتا ہے جہاں auction clear ہوتی ہے۔ کئی ex-dates کا average لینے پر drop عموماً full payment سے کم رہتی ہے۔ ایک صبح کی ordinary price movement اکثر خود dividend سے بڑی ہوتی ہے۔

DNR order کیا ہے؟

DNR کا مطلب Do Not Reduce ہے۔ یہ open buy limit یا sell stop order کے ساتھ attach کی جانے والی instruction ہے۔ اس کے ذریعے exchange کو کہا جاتا ہے کہ ex-dividend date پر order price کو dividend کی رقم سے کم نہ کیا جائے۔

اگر میں ex-dividend date پر خریدوں تو کیا مجھے dividend ملے گا؟

نہیں۔ Ex-date پر یا اس کے بعد خریدنے سے آنے والی payment seller کے پاس رہتی ہے۔ اسے حاصل کرنے کے لیے shares کا ex-date شروع ہونے سے پہلے مالک ہونا ضروری ہے۔ یہی بات ex-date ظاہر کرتی ہے۔

کیا ex-dividend drop کا مطلب ہے کہ مجھے نقصان ہوا؟

Pre-tax، value share price سے cash میں منتقل ہوتی ہے۔ Ex-date تک holder رہنے والے کو position کی marked-down value اور اس کے ساتھ dividend receivable نظر آتا ہے۔ عملی طور پر دونوں sides میں فرق taxes اور pay date کے timing کی وجہ سے پیدا ہوتا ہے۔


یہاں موجود ہر panel اس کے عین SQL کے ساتھ فراہم کیا گیا ہے، تاکہ آپ دیکھ سکیں کہ کون سے sessions شمار کیے گئے اور کون سے چھوڑے گئے۔ جس payer کو آپ پہلے ہی hold کرتے ہیں، اسی پر یہ comparison چلانے کے لیے Strasmore terminal میں سوال plain English میں لکھیں۔