Google Sheetsमध्ये Dividend Yield मोजण्याचे दोन उपाय
GOOGLEFINANCEमध्ये dividend yield attribute नाही. भरलेल्या dividendsवरून trailing yield किंवा cellमध्ये नोंदवलेल्या forward rateवरून yield मोजण्यासाठी दोन सूत्रे वापरा.
Google Sheetsमध्ये dividend yield मोजण्यासाठी हा आकडा स्वतः तयार करावा लागतो. GOOGLEFINANCE price, EPS, P/E, market cap आणि इतर अनेक quote fields परत करते; मात्र dividend yield त्यापैकी एक नाही: =GOOGLEFINANCE("AAPL","yield") हे #N/A परत करते आणि या शब्दाचे इतर कोणतेही लेखन वापरले तरी निकाल मिळत नाही. यासाठी दोन उपाय उपयुक्त ठरतात. शीटमध्ये सांभाळलेल्या dividend columnवरून trailing yield मोजा किंवा घोषित forward rate एखाद्या cellमध्ये टाइप करून त्याला भागा.
GOOGLEFINANCE मध्ये dividend yield attribute का नाही
या functionचे attributes दोन गटांत येतात. Live quote fields दोन argumentsसह मिळतात: price, volume, pe, eps, marketcap, high52, changepct आणि आणखी सुमारे डझनभर fields. त्यानंतर historical price fields येतात. हे date किंवा date rangeसह मिळतात: open, high, low, close, volume. Dividend records यापैकी कोणत्याही गटात येत नाहीत. कोणतेही attribute payment किंवा payout history परत करत नाही. त्यामुळे yieldचा numerator functionच्या बाहेरून घ्यावा लागतो.
Dividend yield म्हणजे प्रति शेअर वार्षिक dividends भागिले प्रति शेअर किंमत, टक्केवारीत व्यक्त केलेले. त्यातील किंमतीचा भाग एका cellमध्ये मिळतो. Dividendचा भाग मिळवण्यासाठी अधिक काम करावे लागते. हा ratio तुमच्यासाठी नवीन असल्यास, dividend yield प्रत्यक्षात काय मोजते spreadsheetच्या पद्धती समजून घेण्यापूर्वी त्याचे स्पष्टीकरण देते. dividend yield कसे मोजावे या लेखात गणिताची पद्धत दिली आहे.
ही आहे मूलभूत माहिती: एका household payerने मागील साधारण तीन वर्षांत केलेला प्रत्येक payment. प्रत्येक rowमध्ये ex-dividend date असते. त्या तारखेपासून शेअर खरेदी करणाऱ्या व्यक्तीला आगामी payment मिळत नाही. त्याच rowमध्ये प्रति शेअर दिलेली रोख रक्कमही असते.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
toString(ex_dividend_date) AS ex_date,
formatDateTime(ex_dividend_date, '%b %e, %Y') AS ex_date_label,
round(toFloat64(payment), 4) AS cash_amount,
round(toFloat64(payment) * 4, 4) AS annualized_run_rate
FROM
(
SELECT
ex_dividend_date,
max(cash_amount) AS payment
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND ex_dividend_date >= today() - 1120
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
ORDER BY ex_dividend_dateCoca-Colaने Sep 14, 2023 रोजी प्रति शेअर $0.46 दिले आणि Jun 15, 2026 रोजी $0.53 दिले. या कालावधीत एकूण 12 payments झाले. Chartवरील दुसरी line प्रत्येक paymentला चारने गुणते. त्या quarterमधील payment संपूर्ण वर्षभर पुन्हा मिळाल्यास सूचित होणारा annual rate त्यातून दिसतो. हा rate वर्षातून एकदा वाढतो आणि मध्ये स्थिर राहतो. Spreadsheetमधील बहुतेक yieldच्या चुका याच पायरीमुळे होतात. संपूर्ण record Coca-Colaचा dividend history येथे आहे.
Google Sheetsमध्ये dividend yield मिळवण्याचे दोन मार्ग
पहिली पद्धत म्हणजे स्वतःच्या स्तंभातून तयार केलेला trailing yield. Column Aमध्ये ex-dividend dates आणि column Bमध्ये प्रति-शेअर रोख रक्कम भरा. प्रत्येक paymentसाठी एक row ठेवा. त्यानंतर:
- मागील बारा महिन्यांतील एकूण रक्कम:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - सध्याची किंमत:
=GOOGLEFINANCE("KO","price") - Trailing yield; cellचे format percentage म्हणून ठेवा:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - त्याच कालावधीतील paymentsची संख्या; पडताळणीसाठी:
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
EDATE(TODAY(),-12) हा बारा महिने मागील त्याच calendar dayचा संदर्भ आहे. त्यामुळे window आपोआप पुढे सरकते. Yield cellचे format percentage म्हणून ठेवा. Formulaमध्ये 100 ने गुणाकार करू नका. दोन्ही पद्धती करणाऱ्या sheetमध्ये 2.9%ऐवजी 290% छापले जाऊ शकते.
दुसरी पद्धत म्हणजे घोषित दरावर आधारित forward yield. सर्वात अलीकडे घोषित केलेला प्रति-शेअर दर D2मध्ये आणि वर्षातील paymentsची संख्या E2मध्ये भरा:
- Forward yield:
=D2*E2/GOOGLEFINANCE("KO","price")
D2साठी कोणतेही automation नाही. Board दर घोषित करते. तो declarationमधून पाहून स्वतः टाइप करावा लागतो. Forward yieldची हीच योग्य पद्धत आहे. दोन numeratorपैकी निवड हाच trailing आणि forward dividend yieldमधील फरक या विषयाचा केंद्रबिंदू आहे.
Functionविषयी आणखी दोन लहान नोंदी. Quotesमध्ये 20 मिनिटांपर्यंत विलंब असू शकतो. कोणत्याही cellमधील विलंब =GOOGLEFINANCE("KO","datadelay") वापरून पाहता येतो. Historical fetchमधून numberऐवजी two by two array मिळतो. त्यामुळे तो wrap करा: =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) केवळ closing price देते.
वार्षिकीकरणाची पायरी आणि त्यातून लपलेली चूक
Dividend sheetमधील सर्वाधिक आढळणाऱ्या चुकीच्या formulaमध्ये अलीकडील paymentला चारने गुणले जाते. कंपनीने dividend वाढवला नाही तोपर्यंत ही पद्धत अचूक ठरते. वाढीनंतर मागील वर्षातील चारपैकी तीन payments जुन्या दराने झालेले असतात. त्यामुळे नवीन paymentला चारने गुणल्यास भागधारकाला प्रत्यक्ष मिळालेल्या रकमेपेक्षा जास्त रक्कम दिसते.
खालील panel आठ मोठ्या dividend payersमधील हा फरक दाखवतो. प्रत्येक कंपनीने मागील बारा महिन्यांत प्रति शेअर दिलेली एकूण रक्कम आणि अलीकडील paymentच्या चारपट रक्कम यांची तुलना येथे केली आहे.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
ticker,
round(toFloat64(sum(cash_amount)), 4) AS paid_last_12m,
round(toFloat64(argMax(cash_amount, ex_dividend_date)) * 4, 4) AS latest_x4,
round((toFloat64(argMax(cash_amount, ex_dividend_date)) * 4
/ toFloat64(sum(cash_amount)) - 1) * 100, 2) AS gap_pct,
count() AS payment_count
FROM
(
SELECT
ticker,
ex_dividend_date,
max(cash_amount) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO', 'JNJ', 'PG', 'AAPL', 'MSFT', 'CVX', 'ABBV', 'IBM')
AND ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
GROUP BY ticker, ex_dividend_date
)
GROUP BY ticker
ORDER BY gap_pct DESCफरकानुसार क्रम लावल्यावर JNJ सर्वात वर येते. या कंपनीने संबंधित कालावधीत 4 paymentsद्वारे प्रति शेअर एकूण $5.24 दिले. त्याउलट, अलीकडील paymentच्या चारपट रक्कम $5.36 होते, जी 2.29%ने जास्त आहे. जवळपास 3% yield असलेल्या शेअरमध्ये एवढी चूक printed figureमध्ये percentage pointच्या एक-दशांशाइतका किंवा त्याहून अधिक फरक घडवू शकते. sorted listचा क्रम बदलण्यासाठी एवढा फरक पुरेसा असतो.
Payment count column हा multiplicationपेक्षा SUMIFS वापरण्याचा दुसरा महत्त्वाचा आधार आहे. मागील बारा महिन्यांच्या rolling windowमध्ये नेहमी नेमके चार quarterly payments असतीलच असे नाही. दरवर्षी ex-dividend dates काही दिवसांनी पुढे-मागे होतात. त्यामुळे एखाद्या windowमध्ये तीन किंवा पाच payments येऊ शकतात. एकूण रकमेवर विश्वास ठेवण्यापूर्वी यापैकी कोणती परिस्थिती घडली, हे COUNTIFS सांगते.
विशेष dividends हा run rate नसतो
दुसरी नेहमीची चूक म्हणजे एकदाच मिळालेल्या देयकाला नियमित वेळापत्रकाचा भाग समजणे. कंपनी एका मोठ्या वितरणाद्वारे अतिरिक्त रोख शिल्लक कमी करते. SUMIFS ते trailing totalमध्ये समाविष्ट करते आणि yield cell वाढतो. बारा महिन्यांनंतर तो पुन्हा हळूहळू कमी होतो.
अशी देयके दुर्मिळ नाहीत. Dividend calendarने नियमितपणे पुनरावृत्ती होणाऱ्या वेळापत्रकाचा भाग नसून एकदाच होणारी म्हणून चिन्हांकित केलेल्या, US marketमधील प्रत्येक देयकाची panel महिन्यानुसार मोजणी करते.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
toString(month_start) AS month,
formatDateTime(month_start, '%b %Y') AS month_label,
countIf(freq = '0') AS one_time_payments,
round(countIf(freq = '0') / count() * 100, 2) AS one_time_share_pct
FROM
(
SELECT
toStartOfMonth(ex_dividend_date) AS month_start,
ticker,
ex_dividend_date,
ifNull(toString(any(frequency)), 'na') AS freq
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toStartOfMonth(today() - 730)
AND ex_dividend_date < toStartOfMonth(today())
GROUP BY month_start, ticker, ex_dividend_date
)
GROUP BY month_start
ORDER BY monthJul 2026 मध्ये, म्हणजे अलीकडील पूर्ण महिन्यात, 111 देयकांवर one-time marking होते. त्या महिन्यात ex-dividend झालेल्या सर्व देयकांपैकी हे प्रमाण 2.91% होते. Rolling twelve-month sumमध्ये यापैकी एखादे देयक लवकर किंवा उशिरा नक्कीच समाविष्ट होईल.
यावर उपाय म्हणजे flag column. प्रत्येक देयकाच्या बाजूला, column Cमध्ये regular किंवा special टाका आणि त्याला criterion म्हणून जोडा:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
Special rows sheetमध्ये ठेवा. ती प्रत्यक्ष रोख रक्कम असते आणि मिळालेल्या रकमेच्या नोंदीत त्यांचा समावेश असायला हवा. मात्र चालू दर दर्शविणाऱ्या आकड्यात त्यांचा समावेश करू नका.
पूर्ण झालेला सेल काय दाखवतो
अशा प्रकारे मोजलेला trailing yield दोन बदलत्या घटकांवर आधारित असतो आणि ते वेगवेगळ्या वेळापत्रकांनुसार बदलतात. Dividendची एकूण रक्कम वर्षातून काही वेळा बदलते—एखादे payment या कालावधीत समाविष्ट झाले किंवा बाहेर पडले, अथवा dividend वाढला की. किंमत मात्र प्रत्येक trading sessionमध्ये बदलते. खालील panel त्याच dividend देणाऱ्या कंपनीसाठी मागील दोन वर्षांतील प्रत्येक महिन्याची पूर्ण गणना दाखवतो.
प्रत्येक आकड्यामागील अचूक SQL
WITH
month_close AS
(
SELECT
toLastDayOfMonth(date) AS month_end,
argMax(close, date) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date >= toStartOfMonth(today() - 730)
AND date < toStartOfMonth(today())
GROUP BY month_end
),
payouts AS
(
SELECT
ex_dividend_date,
max(cash_amount) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND ex_dividend_date >= today() - 1160
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
SELECT
toString(month_end) AS month,
formatDateTime(month_end, '%b %Y') AS month_label,
round(ttm, 4) AS ttm_dividends,
round(ttm / close_px * 100, 2) AS trailing_yield_pct
FROM
(
SELECT
m.month_end AS month_end,
toFloat64(any(m.close_px)) AS close_px,
toFloat64(sumIf(p.cash_amount,
(p.ex_dividend_date > subtractYears(m.month_end, 1))
AND (p.ex_dividend_date <= m.month_end))) AS ttm
FROM month_close AS m
CROSS JOIN payouts AS p
GROUP BY m.month_end
)
ORDER BY monthDividendची रेषा पायरीपायरीने बदलते आणि नंतर स्थिर राहते. त्याच कालावधीत yieldची रेषा दर महिन्याला बदलते. Aug 2024 मध्ये प्रति शेअर trailing total $1.89 होता आणि yield 2.61% होती; Jul 2026 पर्यंत total $2.08 झाला आणि yield 2.37% होती. Dividendच्या columnमध्ये कोणताही बदल न करता yield cell बदलत असेल, तर ते trailing yieldच्या स्वरूपानुसारच आहे: denominator बदलला आहे.
एका tickerसाठी ही पद्धत कार्यरत झाल्यावर प्रत्येक holdingसाठी हा block खाली copy करा आणि yieldsची सरासरी काढण्याऐवजी market valueनुसार परिणामांना weight द्या. या टप्प्याला portfolio weighted dividend yield म्हणतात.
वारंवार विचारले जाणारे प्रश्न
GOOGLEFINANCE मध्ये dividend yield attribute आहे का?
नाही. हे function live quote fields आणि ऐतिहासिक किमती दाखवते; त्यापैकी कोणतेही field dividend किंवा yield दर्शवत नाही. =GOOGLEFINANCE("KO","yield") हे #N/A परत करते. Sheetमधील yield तुम्ही पुरवलेल्या dividendच्या आकड्यावर आणि functionने परत केलेल्या किमतीवरून तयार करावी लागते.
Google Sheetsमध्ये trailing dividend yield कशी मोजावी?
एका columnमध्ये ex-dividend dates आणि त्याच्या पुढील columnमध्ये प्रति शेअर रोख रक्कम ठेवा. =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) वापरून मागील बारा महिन्यांची रक्कम बेरीज करा, ती एकूण रक्कम =GOOGLEFINANCE("KO","price") ने भागा आणि निकालाचे cell percentage म्हणून format करा.
माझी dividend yield brokerच्या पृष्ठावरील yieldपेक्षा वेगळी का आहे?
बहुतेकदा कारण numerator असतो. Forward yield दाखवणारे पृष्ठ सध्या घोषित केलेल्या दराचे वार्षिकीकरण करते. त्याउलट, बारा महिन्यांचा SUMIFS trailing figure परत करतो; त्यात जुन्या दराने केलेली देयके अजूनही समाविष्ट असतात. या कालावधीत special dividend असल्यास फरक आणखी वाढतो.
Special dividend yieldमधून कसा वगळावा?
प्रत्येक payment regular किंवा special आहे हे दर्शवणारा एक column जोडा. त्यानंतर तो column SUMIFSमध्ये अतिरिक्त criterion pair म्हणून द्या. Special payment sheetमध्ये राहील, पण yieldमध्ये समाविष्ट होणार नाही.
Google Sheets dividend history आपोआप आणू शकते का?
GOOGLEFINANCEद्वारे नाही. Dividend column हाताने भरावा लागतो किंवा payment records प्रकाशित करणाऱ्या स्रोताकडून paste करावा लागतो. या पृष्ठावरील दोन्ही पद्धतींमध्ये हीच एक manual step आहे.
येथील प्रत्येक panel त्यातून तयार केलेल्या SQLसह दिला आहे. त्यामुळे एखादा total नेमका कसा मोजला गेला हे पाहण्यासाठी panel उघडा. हेच प्रश्न Strasmore terminalवर plain Englishमध्ये विचारता येतात.