Strasmore Research
آموزش Matt Connorتوسط Matt Connor

نحوه محاسبه سود نقدی سالانه هر سهم

سود نقدی سالانه هر سهم از چهار روش متفاوت محاسبه می‌شود که شامل بازه‌های TTM، تقویمی، مالی و نرخ پیش‌بینی‌شده است. این روش‌ها نتایج متفاوتی ارائه می‌دهند.

سود نقدی سالانه هر سهم از طریق جمع کل سودهای نقدی پرداختی به ازای هر سهم در یک بازه دوازده‌ماهه محاسبه می‌شود و هرگونه اختلاف‌نظر در مورد این رقم، ناشی از انتخاب بازه دوازده‌ماهه متفاوت است. چهار قرارداد رایج در این زمینه وجود دارد: دوازده ماه گذشته (TTM)، سال تقویمی، سال مالی شرکت و نرخ پیش‌بینی‌شده (forward rate). اعمال این چهار روش بر مجموعه‌ای یکسان از پرداخت‌ها می‌تواند چهار رقم متفاوت را نشان دهد و هیچ‌کدام از آن‌ها نادرست نیست.

سود نقدی سالانه هر سهم چیست؟

شرکت‌ها هرگز «سود نقدی سالانه» اعلام نمی‌کنند. آن‌ها پرداخت‌های مجزایی را اعلام می‌کنند که برای شرکت‌های بزرگ آمریکایی معمولاً چهار بار در سال است و هر پرداخت تاریخ‌های خاص خود را دارد. رقم سالانه پس از وقوع توسط تحلیلگر یا منبعی که آن را گزارش می‌کند، محاسبه می‌شود؛ به همین دلیل است که روش محاسبه از خودِ عملیات ریاضی اهمیت بیشتری دارد.

هر اعلامیه پرداخت شامل چهار تاریخ است. تاریخ اعلام (declaration date) زمانی است که هیئت‌مدیره پرداخت را اعلام می‌کند. تاریخ بدون سود (ex-dividend date) اولین جلسه‌ای است که خریدار دیگر مشمول دریافت آن سود نمی‌شود. تاریخ ثبت (record date) مبنای شناسایی سهامداران توسط شرکت است. تاریخ پرداخت (pay date) زمانی است که وجه نقد عملاً واریز می‌شود. تنها دو مورد از این تاریخ‌ها برای دسته‌بندی مجموع سالانه معتبر هستند و انتخاب بین آن‌ها، پاسخ را در مرزهای سال تغییر می‌دهد.

پنل زیر هشت اعلامیه فصلی متوالی از یک پرداخت‌کننده بزرگ، یعنی اپل (Apple)، را نشان می‌دهد. این بازه در 30 ژوئن 2026 پایان می‌یابد و به‌روزرسانی نمی‌شود، بنابراین ارقام این صفحه ثابت باقی می‌مانند.

پرس‌وجوهشت اعلامیه فصلی، تاریخ‌های ex-date و پرداخت
کد دقیق SQL پشت هر عدد
SELECT
    toString(ex_dividend_date)                     AS ex_date,
    formatDateTime(ex_dividend_date, '%b %e, %Y')  AS ex_date_label,
    formatDateTime(max(pay_date), '%b %e, %Y')     AS pay_date_label,
    round(max(toFloat64(cash_amount)), 4)          AS amount_per_share
FROM global_markets.stocks_dividends
WHERE ticker = 'AAPL'
  AND ex_dividend_date >= '2024-07-01'
  AND ex_dividend_date <  '2026-07-01'
GROUP BY ex_dividend_date
ORDER BY ex_dividend_date
Run this yourself

در طول آن 8 اعلامیه، مبلغ پرداختی ثابت نمانده است. مبلغ در Aug 12, 2024 برابر با $0.25 به ازای هر سهم و در May 11, 2026 برابر با $0.27 بوده است که نشان‌دهنده افزایش سود در میانه این دوره است. هر آنچه در ادامه می‌آید، اختلاف‌نظر در مورد نحوه جمع این هشت عدد است. سوابق کامل‌تر در بخش تاریخچه سود نقدی اپل قابل مشاهده است.

چهار قرارداد و چهار پاسخ متفاوت

دوازده ماه گذشته (TTM)، مجموع تمام پرداخت‌هایی است که تاریخ ex-date آن‌ها در 365 روز اخیر بوده است. این رقم کاملاً محقق‌شده است: تمام پرداخت‌های موجود در آن، تاریخ ex-date را پشت سر گذاشته‌اند.

سال تقویمی، مجموع تاریخ‌های ex-date در یک سال از ژانویه تا دسامبر است. مقایسه‌های سال‌به‌سال و اکثر اسناد مالیاتی بر این اساس انجام می‌شوند.

سال مالی، مجموع همان پرداخت‌ها در طول سال گزارشگری خودِ شرکت است. سال مالی اپل در اواخر سپتامبر پایان می‌یابد، بنابراین مجموع سال مالی آن شامل چهار پرداخت متفاوت نسبت به سال تقویمی است.

نرخ پیش‌بینی‌شده (Indicated rate) که به آن نرخ آتی نیز می‌گویند، آخرین پرداخت اعلام‌شده را در تعداد پرداخت‌های سالانه ضرب می‌کند. این تنها روش آینده‌نگر در میان چهار روش است و بر این فرض استوار است که سه پرداخت بعدی با آخرین پرداخت مطابقت دارند.

پرس‌وجویک دوره پرداخت، چهار مجموع سود نقدی سالانه
کد دقیق SQL پشت هر عدد
WITH
    payouts AS
    (
        SELECT
            ex_dividend_date            AS ex_date,
            max(toFloat64(cash_amount)) AS amt
        FROM global_markets.stocks_dividends
        WHERE ticker = 'AAPL'
          AND ex_dividend_date >= '2018-01-01'
          AND ex_dividend_date <  '2026-07-01'
        GROUP BY ex_dividend_date
    ),
    totals AS
    (
        SELECT
            round(sumIf(amt, ex_date > toDate('2026-06-30') - 365), 4)                                AS ttm,
            round(sumIf(amt, toYear(ex_date) = 2025), 4)                                              AS calendar_2025,
            round(sumIf(amt, ex_date >= toDate('2024-09-29') AND ex_date <= toDate('2025-09-27')), 4) AS fiscal_2025,
            round(4 * argMax(amt, ex_date), 4)                                                        AS indicated
        FROM payouts
    )
SELECT
    conv.1                                                       AS convention_label,
    conv.2                                                       AS annual_per_share,
    if(ttm > 0, round(100 * (conv.2 / ttm - 1), 2), 0.0)          AS vs_ttm_pct
FROM totals
ARRAY JOIN
[
    ('Trailing 12 months to Jun 30 2026', ttm),
    ('Calendar year 2025',                calendar_2025),
    ('Fiscal year 2025',                  fiscal_2025),
    ('Indicated forward rate',            indicated)
] AS conv
Run this yourself

با اعمال این چهار قرارداد بر پرداخت‌های یکسان، ارقام $1.05، $1.03، $1.02 و $1.08 به ازای هر سهم به دست می‌آید. نرخ پیش‌بینی‌شده با ورودی‌های یکسان، 2.86% با مجموع دوازده ماه گذشته فاصله دارد. هیچ‌کدام از این‌ها سود نقدی امروز اپل نیستند؛ بلکه چهار خوانش متفاوت از پرداخت‌های گذشته هستند. صفحه‌ای که یکی از این ارقام را بدون ذکر روش محاسبه ارائه می‌دهد، خواننده را به حدس و گمان وامی‌دارد.

این انتخاب در محاسبات بعدی نیز تأثیر می‌گذارد. هر رقمی که به عنوان مجموع انتخاب شود، صورت کسر بازدهی (yield) قرار می‌گیرد و به همین دلیل است که یک سهم واحد، دو بازدهی متفاوت در دو نمایشگر مختلف نشان می‌دهد. برای آگاهی از تأثیر این موضوع در مراحل بعدی، به نحوه محاسبه بازده سود نقدی و بازده سود نقدی گذشته‌نگر در مقابل آتی مراجعه کنید.

چرا افزایش سود در میانه سال باعث عقب ماندن مجموع دوازده ماه گذشته می‌شود

یک پرداخت‌کننده فرضی را در نظر بگیرید که سود فصلی 0.25 دلاری خود را به 0.27 دلار افزایش می‌دهد. در روزی که اولین پرداخت افزایش‌یافته ex-date می‌شود، نرخ پیش‌بینی‌شده به اندازه کل 8 سنت در سال جهش می‌کند (چهار پرداخت ضرب‌در 2 سنت افزایش). مجموع دوازده ماه گذشته تنها 2 سنت حرکت می‌کند، زیرا سه پرداخت از چهار پرداخت آن همچنان با نرخ قدیمی است. یک فصل بعد، دو پرداخت قدیمی باقی می‌ماند، سپس یکی، و این دو قرارداد تنها زمانی دوباره به هم می‌رسند که چهارمین پرداخت افزایش‌یافته ex-date شود. این شکاف در چهار فصل دقیقاً به صورت گام‌های مساوی بسته می‌شود و در تمام این مدت، رقم دوازده ماه گذشته، نرخ فعلی را کمتر از واقع نشان می‌دهد.

پرس‌وجومقایسه چهار پرداخت اخیر با نرخ اعلام‌شده، به تفکیک فصل
کد دقیق SQL پشت هر عدد
SELECT
    ex_date,
    ex_date_label,
    trailing_4_payments,
    indicated_rate
FROM
(
    SELECT
        toString(ex_dividend_date)                 AS ex_date,
        formatDateTime(ex_dividend_date, '%b %Y')  AS ex_date_label,
        ex_dividend_date                           AS d,
        round(4 * amt, 4)                          AS indicated_rate,
        round(sum(amt) OVER (ORDER BY ex_dividend_date ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), 4) AS trailing_4_payments
    FROM
    (
        SELECT
            ex_dividend_date,
            max(toFloat64(cash_amount)) AS amt
        FROM global_markets.stocks_dividends
        WHERE ticker = 'AAPL'
          AND ex_dividend_date >= '2021-07-01'
          AND ex_dividend_date <  '2026-07-01'
        GROUP BY ex_dividend_date
    )
)
WHERE d >= '2022-07-01'
ORDER BY d
Run this yourself

در طول 16 فصل، این روند کاملاً مشخص است. خط نرخ پیش‌بینی‌شده یک تابع پله‌ای است که سالی یک‌بار حرکت می‌کند. خط دوازده ماه گذشته یک شیب است که در طول چهار فصل پس از هر افزایش، به سمت آن بالا می‌رود. در May 2026، مجموع چهار پرداخت گذشته $1.05 در مقابل نرخ پیش‌بینی‌شده $1.08 بوده است. هر دو، یک شرکت واحد را در یک روز واحد توصیف می‌کنند.

تاریخ ex-dividend یا تاریخ پرداخت: کدام‌یک پرداخت را دسته‌بندی می‌کند

دسته‌بندی بر اساس ex-date انجام می‌شود. حق دریافت سود در این تاریخ تعیین می‌شود: اگر پیش از ex-date مالک سهم باشید، سود متعلق به شماست، فارغ از اینکه بعد از آن چه اتفاقی بیفتد. همچنین ex-date روزی است که قیمت سهم به اندازه مبلغ سود کاهش می‌یابد، که باعث می‌شود دسته‌بندی ex-date با سری قیمت‌هایی که بازدهی بر اساس آن اندازه‌گیری می‌شود، همسو بماند. تاریخ پرداخت، یک تاریخ جریان نقدی است که توسط تقویم خود شرکت تعیین می‌شود و ممکن است تغییر کند.

پرس‌وجوفاصله زمانی ex-date تا تاریخ پرداخت سود نقدی در آمریکا، به تفکیک سال
کد دقیق SQL پشت هر عدد
SELECT
    toString(toYear(ex_dividend_date))                                              AS ex_year,
    count()                                                                         AS payout_count,
    round(avg(dateDiff('day', ex_dividend_date, pay_date)), 1)                      AS avg_days_ex_to_pay,
    round(100 * countIf(toYear(pay_date) != toYear(ex_dividend_date)) / count(), 2) AS pay_lands_other_year_pct
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= '2019-01-01'
  AND ex_dividend_date <  '2026-01-01'
  AND dateDiff('day', ex_dividend_date, pay_date) BETWEEN 0 AND 120
GROUP BY ex_year
ORDER BY ex_year
Run this yourself

در طول 7 سال تقویمی توزیع‌های نقدی در آمریکا، فاصله بین ex-date تا تاریخ پرداخت به طور میانگین 11.9 روز در 2025 بوده است و 4% از پرداخت‌های آن سال در سال تقویمی متفاوتی نسبت به سالی که ex-date آن‌ها در آن قرار داشته، پرداخت شده‌اند. ex-date در دسامبر با تاریخ پرداخت در ژانویه، یک مورد عادی است. اگر آن پرداخت را بر اساس تاریخ پرداخت دسته‌بندی کنید، از مجموع یک سال خارج و به سال بعد اضافه می‌شود، بدون اینکه هیچ تغییری در شرکت رخ داده باشد.

چه چیزی مجموع ساده چهار پرداخت اخیر را مختل می‌کند

چهار وضعیت وجود دارد که قراردادها را از هم جدا می‌کند:

توزیع‌های ویژه (Special distribution)، پرداخت‌های یک‌باره خارج از روال عادی هستند. اکثر صفحات، سودهای ویژه را از نرخ پیش‌بینی‌شده حذف می‌کنند اما در مجموع دوازده ماه گذشته نگه می‌دارند، بنابراین یک پرداخت می‌تواند برای یک سال کامل دو رقم بسیار متفاوت داشته باشد. بخش توضیح سود نقدی ویژه نحوه اعلام این موارد را پوشش می‌دهد.

تعدیل ناشی از تقسیم سهام (Split adjustment)، ارقام تاریخی هر سهم را بازنویسی می‌کند. پس از یک تقسیم 4 به 1، یک سهم قدیمی به چهار سهم جدید تبدیل می‌شود و پرداخت قدیمی به ازای هر سهم، یک‌چهارمِ سهم جدید را پوشش می‌دهد.

تغییر تقویم پرداخت باعث می‌شود پنج تاریخ ex-date در یک سال و سه تاریخ در سال بعد قرار گیرد. پرداخت‌کنندگان با تقویم مالی 52 یا 53 هفته‌ای این کار را طبق برنامه انجام می‌دهند؛ دیگران با جابه‌جایی تاریخ اعلامیه در مرز سال این کار را می‌کنند. مجموع سال تقویمی برای سالی که پنج پرداخت دارد، نرخ جاری را به اندازه یک فصل بیش از واقع نشان می‌دهد.

تغییر تناوب پرداخت (از فصلی به ماهانه یا برعکس)، میان‌برِ «آخرین مبلغ ضرب‌در چهار» را کاملاً از بین می‌برد. تناوب را از روی اعلامیه بخوانید، نه با فرض کردن آن.

پرس‌وجومقایسه مبلغ اعلام‌شده با مبلغ تعدیل‌شده پس از تقسیم سهام، به تفکیک فصل
کد دقیق SQL پشت هر عدد
SELECT
    toString(ex_dividend_date)                           AS ex_date,
    formatDateTime(ex_dividend_date, '%b %Y')            AS ex_date_label,
    round(max(toFloat64(cash_amount)), 4)                AS as_declared,
    round(max(toFloat64(split_adjusted_cash_amount)), 4) AS split_adjusted
FROM global_markets.stocks_dividends
WHERE ticker = 'AAPL'
  AND ex_dividend_date >= '2012-01-01'
  AND ex_dividend_date <  '2026-07-01'
GROUP BY ex_dividend_date
ORDER BY ex_dividend_date
Run this yourself

این نمودار از Aug 2012 شروع می‌شود. آن پرداخت به عنوان مبلغ اعلام‌شده $2.65 و پس از تعدیل تقسیم سهام $0.0946 است که در طول 56 پرداخت فصلی و دو تقسیم سهام محاسبه شده است. سریِ «اعلام‌شده» در هر تقسیم به صورت عمودی سقوط می‌کند؛ اما سریِ «تعدیل‌شده» این‌گونه نیست. جمع کردن مبالغ اعلام‌شده در طول یک تقسیم سهام، مجموع را به اشتباه افزایش می‌دهد که همان مشکل تعدیل در تاریخچه قیمت تعدیل‌شده پس از تقسیم است.

پرسش‌های متداول

سود نقدی سالانه هر سهم چیست؟

مجموع سود نقدی نقدی است که یک شرکت در یک بازه دوازده‌ماهه به ازای هر سهم پرداخت می‌کند. این عدد به بازه مورد استفاده بستگی دارد: 365 روز گذشته، سال تقویمی، سال مالی شرکت، یا چهار برابر آخرین پرداخت اعلام‌شده.

آیا سود نقدی سالانه با سود نقدی پیش‌بینی‌شده (indicated) یکی است؟

معمولاً خیر. سود نقدی پیش‌بینی‌شده آینده‌نگر است: آخرین پرداخت اعلام‌شده ضرب‌در تناوب پرداخت. رقم سالانه گذشته‌نگر، تا چهار فصل پس از افزایش سود، همچنان پرداخت‌های انجام‌شده با نرخ قدیمی را در خود دارد.

آیا سودها را بر اساس ex-dividend date جمع می‌کنیم یا تاریخ پرداخت؟

ex-dividend date استاندارد است. این تاریخی است که تعیین می‌کند چه کسی حق دریافت سود را دارد و تاریخی است که قیمت سهم بر اساس آن تعدیل می‌شود. تاریخ‌های پرداخت می‌توانند سود را به سال تقویمی بعد منتقل کنند و بدون تغییر در وضعیت شرکت، مجموع سالانه را تغییر دهند.

چرا دو وب‌سایت سود نقدی سالانه متفاوتی برای یک سهم نشان می‌دهند؟

اغلب به این دلیل است که آن‌ها از قراردادهای متفاوتی بر روی داده‌های یکسان استفاده می‌کنند. یکی در حال جمع چهار ex-date اخیر است و دیگری آخرین اعلامیه را سالانه می‌کند. سودهای ویژه و تاریخچه تعدیل‌شده پس از تقسیم سهام، عامل اکثر تفاوت‌های دیگر هستند.

آیا سودهای نقدی ویژه در سود نقدی سالانه هر سهم لحاظ می‌شوند؟

بستگی به قرارداد دارد. مجموع دوازده ماه گذشته معمولاً آن‌ها را شامل می‌شود، زیرا واقعاً پرداخت شده‌اند. نرخ پیش‌بینی‌شده معمولاً آن‌ها را حذف می‌کند، زیرا شرکت تعهدی به تکرار آن‌ها ندارد.


هر پنل در بالا به همراه کد SQL تولیدکننده آن ارائه شده است. با تغییر یک بازه تاریخی، چهار قرارداد به طور خودکار از هم فاصله می‌گیرند. برای اجرای همان چهار مجموع بر روی هر پرداخت‌کننده‌ای، پرسش خود را به زبان ساده در ترمینال Strasmore مطرح کنید.