آیا استراتژی دریافت سود سهام (Dividend Capture) کار میکند
استراتژی دریافت سود سهام شامل خرید سهم پیش از تاریخ بدون-سود و فروش پس از آن است. این بررسی نشان میدهد قیمت بازگشایی چقدر کاهش مییابد و آیا این کاهش با سود دریافتی همخوانی دارد.
سهامگیری سود سهم (Dividend capture) روشی است که در آن سرمایهگذار سهامی را اندکی پیش از تاریخ بدون-سود (ex-dividend date) خریداری میکند، آن را تا روزی که مشخص میکند چه کسی سود را دریافت میکند نگه میدارد و سپس بلافاصله پس از آن میفروشد. جذابیت این روش بهسادگی قابل توضیح است: یک شب مالکیت، یک سود سهم. اما پیچیدگی در اینجاست که سهم در تاریخ بدون-سود با قیمتی بازگشایی میشود که بورس آن را تقریباً به اندازهٔ سود سهم کاهش داده است. این صفحه اندازهگیری میکند که این کاهش قیمت تا چه اندازه به مبلغ سود سهم نزدیک است و این بررسی روی دهها هزار تاریخ بدون-سود انجام شده است.
استراتژی دریافت سود سهام چیست؟
سه تاریخ در تقویم تعیینکننده هستند. تاریخ اعلام، پرداخت را اعلام میکند. تاریخ بدون حق سود اولین جلسه معاملاتی است که در آن خریدار دیگر سود سهام آتی را دریافت نمیکند. تاریخ ثبت مشخصکننده سهامداران در دفاتر شرکت است. سهامی که در تاریخ بدون حق سود خریداری شود، ادعایی نسبت به سود نقدی آن سهماهه ندارد؛ سهامی که در جلسه قبل از آن خریداری شود، دارد. راهنمای تاریخ بدون حق سود جدول زمانی کامل را توضیح میدهد و تفاوت تاریخ ثبت و تاریخ بدون حق سود این دو تاریخی را که خوانندگان اغلب با هم اشتباه میگیرند، از یکدیگر جدا میکند.
استراتژی دریافت سود سهام این قانون تعلق را به یک برنامه زمانی تبدیل میکند: قبل از تاریخ بدون حق سود بخرید، تا زمان باز شدن بازار نگه دارید، بفروشید و روی سهم بعدی تکرار کنید. این استراتژی قدیمی است، به طور گسترده توصیف شده و بر یک سوال قابل اندازهگیری واحد استوار است. وقتی سهم بدون سود سهام بازگشایی میشود، قیمت بازگشایی چه مقدار از پرداخت را بازمیگرداند؟
در تاریخ بدون سود (ex-dividend) چه بر سر قیمت میآید؟
در تاریخ بدون سود، بورس قیمت پایانی قبلی را به اندازه مبلغ سود نقدی کاهش میدهد تا قیمت مرجع را تعیین کند و حراج آغازین از آن نقطه شروع میشود. ده شرکت معروف پرداختکننده سود که هر کدام بین ژوئیه 2023 و ژوئن 2026 دوازده تاریخ بدون سود فصلی داشتند، تفاوت شبانه را به صورت عددی نشان میدهند:
کد دقیق SQL پشت هر عدد
WITH tk AS (SELECT ['KO','JNJ','PG','XOM','CVX','VZ','MRK','PEP','MCD','MMM'] AS t),
px AS (
SELECT ticker,
date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND date BETWEEN toDate('2023-06-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
dv AS (
SELECT ticker, ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY ticker, d
)
SELECT px.ticker AS ticker,
count() AS ex_dates,
round(avg(dv.div_amount), 3) AS avg_dividend_usd,
round(avg(px.prev_close - px.day_open), 3) AS avg_overnight_decline_usd,
round(avg(px.prev_close - px.day_open) / avg(dv.div_amount), 2) AS decline_per_dividend_ratio
FROM px
INNER JOIN dv ON px.ticker = dv.ticker AND px.date = dv.d
WHERE px.prev_close > 0
GROUP BY px.ticker
ORDER BY decline_per_dividend_ratio DESCستون آخر را به صورت سنت کاهش در قیمت آغازین به ازای هر سنت سود نقدی بخوانید. در رأس جدول، KO به طور میانگین کاهشی معادل $0.544 در قیمت آغازین در برابر میانگین سود $0.497 داشت که نسبتی برابر 1.1 است. در انتهای جدول، PG مقدار $-0.22 را نشان میدهد: علامت منفی به این معناست که میانگین قیمت آغازین در تاریخ بدون سود بالاتر از قیمت پایانی قبلی در آن 12 تاریخ بوده است. بیشتر این ده نام در فاصله یک سوم سود نقدی در هر طرف مبلغ پرداختی قرار میگیرند که همان الگوی توصیفشده در سازوکار است و دو انتهای جدول نشان میدهد که یک برنامه ثبت سود (capture schedule) یا نتیجه مطلوب میدهد یا ناامیدکننده است.
میانگین دوازده تاریخ، پراکندگی درون آنها را پنهان میکند، بنابراین جدول بعدی نمونه را گسترش میدهد.
افت قیمت چقدر با سود نقدی همخوانی دارد؟
هر سود نقدی سهماههای منظم بر سهامهای بالای 5 دلار در بورس آمریکا، از ژانویه 2024 تا ژوئن 2026، بر اساس مقایسه تفاوت شبانه با مبلغ پرداختی مرتب شده است. نسبت 1 به این معناست که قیمت باز شدن دقیقاً به اندازه سود نقدی کاهش یافته؛ نسبت 0 یعنی قیمت باز شدن با بسته شدن روز قبل برابر بوده است.
کد دقیق SQL پشت هر عدد
WITH divs AS (
SELECT ticker, ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND frequency = 4
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2024-01-01') AND toDate('2026-06-30')
GROUP BY ticker, d
),
px AS (
SELECT ticker,
date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE date BETWEEN toDate('2023-12-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
ev AS (
SELECT (px.prev_close - px.day_open) / divs.div_amount AS ratio
FROM px
INNER JOIN divs ON px.ticker = divs.ticker AND px.date = divs.d
WHERE px.prev_close >= 5
AND divs.div_amount / px.prev_close BETWEEN 0.001 AND 0.05
)
SELECT multiIf(ratio < 0, 'opened higher',
ratio < 0.5, 'fell under half',
ratio < 1, 'fell half to full',
ratio < 1.5, 'fell 1 to 1.5x',
'fell over 1.5x') AS drop_bucket,
count() AS ex_dates,
round(100 * count() / (SELECT count() FROM ev), 1) AS share_pct
FROM ev
GROUP BY drop_bucket
ORDER BY multiIf(drop_bucket = 'opened higher', 0,
drop_bucket = 'fell under half', 1,
drop_bucket = 'fell half to full', 2,
drop_bucket = 'fell 1 to 1.5x', 3, 4)بخش میانی توزیع همانگونه عمل میکند که کتابهای درسی میگویند. بزرگترین دستهٔ تکی، دستهای است که fell half to full، با 25.8% از تاریخها در میان 8217 مشاهده، و 17.3% دیگر در بازهای قرار دارند که fell 1 to 1.5x. دمهای توزیع برای یک برنامهٔ جمعآوری سود اهمیت دارند. در 20.8% از این تاریخهای بدون سود، سهم opened higher نسبت به بسته شدن روز قبل داشته است، و در 22.4% نیز fell over 1.5x. تقریباً از هر پنج تاریخ بدون سود، دو تاریخ کاملاً خارج از بازهٔ میانی 0٫5 تا 1٫5 برابر قرار دارند.
این پراکندگی، توصیف صادقانهٔ این معامله است. مبلغ پرداختی ثابت و مشخص است. اما قیمتی که سهام به آن فروخته میشود، نه ثابت است و نه مشخص.
ردیابی فصلی به فصلی
یک نام در طول سه سال نشان میدهد که این دو کمیت چگونه با هم حرکت میکنند. شرکت کوکاکولا در این بازه دوازده بار سود نقدی تکراری پرداخت کرد. جدول، کاهش قیمت در باز شدن روز بعد را در کنار هر پرداخت قرار داده و تفاوت را محاسبه میکند.
کد دقیق SQL پشت هر عدد
WITH px AS (
SELECT date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date BETWEEN toDate('2023-06-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
dv AS (
SELECT ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY d
)
SELECT formatDateTime(px.date, '%Y-%m-%d') AS date,
round(dv.div_amount, 3) AS dividend_usd,
round(px.prev_close - px.day_open, 3) AS overnight_decline_usd,
round((px.prev_close - px.day_open) - dv.div_amount, 3) AS decline_minus_dividend_usd
FROM px
INNER JOIN dv ON px.date = dv.d
ORDER BY dateخط سود نقدی تقریباً ثابت است: در تاریخ اول $0.46 و در تاریخ آخر $0.53، با دو بار افزایش در این میان. خط کاهش قیمت در اطراف آن نوسان دارد. در 2023-09-14 قیمت باز شدن $0.2 از یک پرداخت $0.46 را از دست داد؛ در 2026-06-15 نیز $1.54 از $0.53 را از دست داد. در تمام 12 تاریخ، ستون سوم که کاهش منهای سود نقدی است، از $-0.26 در تاریخ اول تا $1.01 در تاریخ آخر متغیر است. یک سرمایهگذار که یک شب سهم را نگه داشته بود، هر سهماه یکبار همان مبلغ نقدی را دریافت کرد، اما هر بار با قیمت باز شدن متفاوتی روبرو شد.
سود سهم در کنار نوسان روزانه عادی
یک سود سهم فصلی در مقایسه با قیمت سهم، مبلغ کوچکی است. اما نوسان روزانه عادی همان سهم چنین نیست و پنجرهٔ دریافت سود، یک جلسه کامل معاملاتی از این نوسان را در خود دارد.
کد دقیق SQL پشت هر عدد
WITH tk AS (SELECT ['KO','JNJ','PG','XOM','CVX','VZ','MRK','PEP','MCD','MMM'] AS t),
r AS (
SELECT ticker,
date,
toFloat64(close) AS close,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
AND close > 0
),
vol AS (
SELECT ticker,
round(100 * avg(abs(close / prev_close - 1)), 2) AS avg_daily_move_pct,
round(quantileDeterministic(0.95)(100 * abs(close / prev_close - 1), cityHash64(date)), 2) AS p95_daily_move_pct,
avg(close) AS avg_close
FROM r
WHERE prev_close > 0
GROUP BY ticker
),
dv AS (
SELECT ticker, avg(cash_amount) AS avg_dividend_usd
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY ticker
)
SELECT vol.ticker AS ticker,
round(100 * dv.avg_dividend_usd / vol.avg_close, 2) AS dividend_pct_of_price,
vol.avg_daily_move_pct AS avg_daily_move_pct,
vol.p95_daily_move_pct AS p95_daily_move_pct
FROM vol
INNER JOIN dv ON vol.ticker = dv.ticker
ORDER BY dividend_pct_of_price DESCبزرگترین پرداخت فصلی در این گروه، VZ، معادل 1.64% از میانگین قیمت سهم بود، در حالی که میانگین نوسان روزانه 1.01% و نوسان روزانه در صدک 95ام 2.95% بود. در سوی دیگر، MCD در هر فصل 0.59% از قیمت سهم را پرداخت کرد، در حالی که در یک روز عادی 0.82% نوسان داشت. هدف درون نویز (نوسان تصادفی) برای هر نام در این فهرست قرار دارد. این همان حسابی است که یک برنامهٔ دریافت سود با آن زندگی میکند: پرداخت از قبل مشخص است، و از دامنهٔ یک جلسه عادی معاملاتی کوچکتر است.
آنچه میان سود سهام و سود سرمایه قرار دارد
چهار مورد بر روی تعدیل قیمت بازگشایی که در بالا اندازهگیری شد، قرار میگیرند.
- رفت و برگشت کامل. ورود و خروج به معنای عبور دو بار از تفاوت قیمت پیشنهاد خرید و فروش است و صبحهای روز بدون سود سهام در بازهای قرار میگیرند که تفاوت قیمتها بیشترین گستردگی را دارد. در یک سهم فرضی 50 دلاری با قیمت پیشنهاد خرید 49.98 و فروش 50.02، هزینه رفت و برگشت 4 سنت در برابر سود سهام 40 سنتی است.
- رفتار مالیاتی. طبق قوانین ایالات متحده تا ژوئیه 2026، سود سهام تنها زمانی مشمول نرخ ترجیحی میشود که سهم بیش از 60 روز در بازه 121 روزه متمرکز بر تاریخ بدون سود سهام نگهداری شود. نگهداری یک شبه این شرط را نقض میکند و پرداخت به عنوان درآمد عادی با نرخ نهایی دارنده مالیات میشود. نگهداری بلندمدت میتواند این شرط را برآورده کند.
- خود قیمت بازگشایی. نمودارهای بالا قیمت ثبتشده در بازگشایی را اندازهگیری میکنند. دارندهای که بعداً در همان جلسه معاملاتی خارج میشود، هر آنچه در باقی روز رخ میدهد را تحمل میکند.
- نسخههای پوششریسکی شده. فروش اختیار خرید یا خرید اختیار فروش در تاریخ بدون سود سهام، ریسک قیمت را حذف میکند و پس از قیمتگذاری اختیار، بیشتر سود سهام را نیز همراه آن حذف میکند. تاریخهای بدون سود سهام و اختیار معامله نشان میدهد که چگونه پرداخت از قبل در قیمتهای اختیار معامله نهفته است، که همان جایی است که واگذاری زودهنگام نیز متمرکز میشود.
چرا حفظ یک مزیت آشکار دشوار است
هر تاریخ بدون-سود (ex-dividend) ماهها قبل عمومی میشود. تاریخهای اعلام، مبالغ و تقویمها همزمان به تمام میزهای معاملاتی میرسد، و استراتژی دریافت سود (dividend capture) در کتابهای درسی، صفحات راهنمای کارگزاریها و غربالگرها توضیح داده شده است. فرصتی که نیاز به پیشبینی ندارد و در یک تقویم منتشرشده ظاهر میشود، مشارکتکنندگانی با هزینههای کمتر از یک حساب خرد جذب میکند: بازارگردانهایی که از قبل موجودی دارند، کارگزارانی که کارمزد نهادی میپردازند، و شرکتهایی که تحت قوانین مالیاتی متفاوتی عمل میکنند. رقابت آنها برای خرید همان سهمها، قیمت قبل از تاریخ بدون-سود را بالا میبرد و قیمت بعد از آن تاریخ را پایین میفشارد، و آنچه باقی میماند توزیع در پنل دوم است: پهن، متمرکز در نزدیکی یک سود، بدون هیچ پول نقد رایانی در وسط آن.
استثناهای قابل اندازهگیری محدود هستند. باز شدن معاملات در نمادهای کممعامله، انحراف بیشتری از سود دارد، و سودهای ویژه یا غیرعادی بزرگ، سهم بیشتری از قیمت را جابهجا میکنند، که محاسبات را تغییر میدهد بدون اینکه هزینههای رفت و برگشت و مالیات ذکرشده در بالا را حذف کند.
پرسشهای متداول
آیا قیمت سهم در تاریخ بدون-سود (ex-dividend) همیشه به اندازه سود نقدی کاهش مییابد؟
خیر. در میان شرکتهای آمریکایی که سود فصلی پرداخت میکنند، از ژانویه 2024 تا ژوئن 2026، در کمی کمتر از نیمی از تاریخهای بدون-سود، قیمت بازگشایی بین نصف سود نقدی تا 1.5 برابر آن کاهش یافته است. همچنین در 20.8% از این تاریخها، قیمت بالاتر از بسته شدن روز قبل باز شده است. بورس قیمت مرجع را به اندازه سود نقدی تعدیل میکند؛ سپس حراج بازگشایی عرضه و تقاضای آن روز را قیمتگذاری میکند.
چه مدت باید سهم را نگه داشت تا سود نقدی دریافت کرد؟
شرط دریافت سود، مالکیت سهم در تاریخ ثبت (record date) است؛ یعنی خرید قبل از تاریخ بدون-سود و نگهداری تا عبور از آن. فروش سهم در خود تاریخ بدون-سود نیز سود را حفظ میکند. نگهداری طولانیتر هیچ تغییری در استحقاق ایجاد نمیکند، هرچند ماهیت مالیاتی پرداخت را تغییر میدهد.
آیا سود نقدی حاصل از نگهداری یکروزه مالیات متفاوتی دارد؟
بله. تا ژوئیه 2026، برای برخورداری از نرخ مالیاتی سود واجد شرایط (qualified dividend) در آمریکا، باید سهم را بیش از 60 روز در بازه 121 روزهای که تاریخ بدون-سود در مرکز آن قرار دارد نگه داشت. بنابراین سودی که در یک شبانهروز دریافت میشود به عنوان درآمد عادی مشمول مالیات میشود، نه با نرخ سود سرمایه بلندمدت.
آیا استراتژی دریافت سود کوتاهمدت (dividend capture) با سهام با بازده بالا بهتر عمل میکند؟
سود نقدی بزرگتر هدف بزرگتری است، اما تعدیل بازگشایی بزرگتری نیز به همراه دارد. نمودارهای بالا پراکندگی حول آن تعدیل را نشان میدهند، نه یک شکاف سیستماتیک. بازده سود نقدی و نسبت پرداخت سود توضیح میدهند که بازده بالا معمولاً چه چیزی را درباره شرکت پرداختکننده نشان میدهد.
هر عدد بالا از یک پرسوجوی ذخیرهشده و نسخهبندیشده روی سوابق سود نقدی ثبتشده و تاریخچه قیمت روزانه به دست آمده است. هر پنل را باز کنید تا SQL آن را بخوانید، یا همان مقایسه تاریخ بدون-سود را در ترمینال استراسمور اجرا کنید.