Google Sheetsలో డివిడెండ్ యీల్డ్: రెండు పరిష్కారాలు
GOOGLEFINANCEలో డివిడెండ్ యీల్డ్ attribute లేదు. చెల్లించిన డివిడెండ్లతో trailing yieldను, ప్రకటించిన forward రేటుతో మరో yieldను లెక్కించే రెండు సూత్రాలు ఇవి.
Google Sheetsలో dividend yieldను లెక్కించాలంటే ఆ విలువను మీరే రూపొందించాలి. GOOGLEFINANCE ధర, EPS, P/E, market capతో పాటు మరెన్నో quote fieldsను అందిస్తుంది. అయితే dividend yield వాటిలో ఉండదు: =GOOGLEFINANCE("AAPL","yield"), #N/Aను అందిస్తుంది; ఆ పదానికి వేరే spelling ఉపయోగించినా ఫలితం రాదు. దీనికి రెండు ప్రత్యామ్నాయ పద్ధతులు ఉపయోగకరంగా ఉంటాయి. మీరు షీట్లో నిర్వహించే dividend column ఆధారంగా trailing yieldను లెక్కించండి. లేదా ప్రకటించిన forward rateను ఒక cellలో నమోదు చేసి, దానితో భాగించండి.
GOOGLEFINANCEలో dividend yield attribute ఎందుకు లేదు
ఈ functionలోని attributes రెండు వర్గాలుగా ఉంటాయి. రెండు argumentsతో పొందే live quote fields ఇవి: price, volume, pe, eps, marketcap, high52, changepct ఇంకా సుమారు డజను ఇతర fields. date లేదా date rangeతో పొందే historical price fields ఇవి: open, high, low, close, volume. Dividend records ఈ రెండు వర్గాల్లోనూ ఉండవు. ఏ attribute కూడా payment లేదా payout historyను తిరిగి ఇవ్వదు. అందువల్ల yieldలోని numeratorను function వెలుపలి నుంచి పొందాలి.
Dividend yield అంటే ప్రతి షేరుకు లభించే వార్షిక dividendsను ప్రతి షేరు ధరతో భాగించి, శాతంగా చూపే నిష్పత్తి. ఇందులో price భాగం ఒక cellతో పూర్తవుతుంది. Dividend భాగమే అసలు పని. ఈ నిష్పత్తి మీకు కొత్త అయితే, dividend yield నిజంగా ఏమి కొలుస్తుంది spreadsheet mechanicsకు ముందు దాని అర్థాన్ని వివరిస్తుంది. dividend yieldను ఎలా లెక్కించాలి గణనను దశలవారీగా చూపిస్తుంది.
ఇదిగో అవసరమైన ముడి సమాచారం: ఒక household payer గత సుమారు మూడు సంవత్సరాల్లో చెల్లించిన ప్రతి payment. ప్రతి rowలో ex-dividend date ఉంటుంది. ఆ తేదీ నుంచి షేరును కొనుగోలు చేసే వ్యక్తికి రాబోయే payment సాధారణంగా అందదు. దాని పక్కనే ప్రతి షేరుకు చెల్లించిన నగదు మొత్తం ఉంటుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన 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ను నాలుగుతో గుణిస్తుంది. అంటే ఆ త్రైమాసిక payment మొత్తం సంవత్సరంలో పునరావృతమైతే వచ్చే annual rate అది. ఈ rate సంవత్సరానికి ఒకసారి పెరుగుతుంది; మధ్యలో స్థిరంగా ఉంటుంది. Spreadsheetలో లెక్కించే చాలా yields తప్పిపోయేది ఈ మార్పును సరిగ్గా పరిగణించకపోవడం వల్లే. పూర్తి record Coca-Cola dividend historyలో ఉంది.
Google Sheetsలో డివిడెండ్ yield పొందడానికి రెండు మార్గాలు
మొదటి మార్గం మీ స్వంత కాలమ్ నుంచి రూపొందించే trailing yield. కాలమ్ Aలో ex-dividend తేదీలను, కాలమ్ Bలో ఒక్కో షేరుకు నగదు మొత్తాన్ని నమోదు చేయండి. ప్రతి చెల్లింపుకు ఒక వరుస ఉంచి, ఆపై:
- గత పన్నెండు నెలల మొత్తం:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - ప్రస్తుత ధర:
=GOOGLEFINANCE("KO","price") - గత పన్నెండు నెలల yield, సెల్ను శాతంగా ఫార్మాట్ చేసి:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - అదే కాలవ్యవధిలో చెల్లింపుల సంఖ్య, తనిఖీ కోసం:
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
EDATE(TODAY(),-12) అనేది పన్నెండు నెలల క్రితం ఉన్న అదే క్యాలెండర్ రోజు. అందువల్ల కాలవ్యవధి స్వయంచాలకంగా ముందుకు సాగుతుంది. yield సెల్ను శాతంగా ఫార్మాట్ చేయండి. ఫార్ములాలో 100తో గుణించవద్దు. రెండు పద్ధతులనూ కలిపిన షీట్లో 2.9% ఉద్దేశించిన చోట 290%గా చూపించవచ్చు.
రెండో మార్గం ప్రకటించిన రేటు ఆధారంగా forward yield లెక్కించడం. ఇటీవల ప్రకటించిన ఒక్కో షేరు రేటును D2లో, సంవత్సరానికి జరిగే చెల్లింపుల సంఖ్యను E2లో నమోదు చేయండి:
- Forward yield:
=D2*E2/GOOGLEFINANCE("KO","price")
D2ను స్వయంచాలకంగా నింపే విధానం ఏదీ లేదు. బోర్డు ఒక రేటును ప్రకటిస్తుంది. మీరు ఆ ప్రకటన నుంచి రేటును చూసి స్వయంగా నమోదు చేయాలి. Forward yieldకు ఇదే సరైన విధానం. ఈ రెండు లెక్కల్లో ఉపయోగించే numeratorల మధ్య ఎంపికే trailing మరియు forward dividend yield అంశానికి కేంద్రం.
ఫంక్షన్కు సంబంధించి మరో రెండు చిన్న విషయాలు. Quotes గరిష్ఠంగా 20 నిమిషాల ఆలస్యంతో వస్తాయి. ఏదైనా నిర్దిష్ట సెల్లోని ఆలస్యాన్ని =GOOGLEFINANCE("KO","datadelay") ద్వారా చూడవచ్చు. అలాగే historical fetch ఒక సంఖ్యకు బదులుగా two by two arrayను ఇస్తుంది. కాబట్టి దాన్ని wrap చేయాలి: =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) ముగింపు ధరను మాత్రమే ఇస్తుంది.
వార్షికీకరణ దశ దాచే పొరపాటు
డివిడెండ్ షీట్లో ఎక్కువగా కనిపించే తప్పు ఫార్ములా, తాజాగా చెల్లించిన మొత్తాన్ని నాలుగుతో గుణించడం. కంపెనీ పెంపు చేసే వరకు ఇది సరిగానే పనిచేస్తుంది. పెంపు తర్వాత, గత పన్నెండు నెలల్లోని నాలుగు చెల్లింపుల్లో మూడు పాత రేటుతో జరిగి ఉంటాయి. అందువల్ల కొత్త రేటును నాలుగుతో గుణిస్తే, షేర్హోల్డర్ వాస్తవంగా పొందిన మొత్తాన్ని మించి చూపుతుంది.
కింది ప్యానెల్లో ఎనిమిది పెద్ద డివిడెండ్ చెల్లింపుదారుల మధ్య ఈ తేడాను చూపిస్తున్నాం. ప్రతి కంపెనీ గత పన్నెండు నెలల్లో ఒక్కో షేర్కు చెల్లించిన మొత్తం, తాజాగా చెల్లించిన మొత్తాన్ని నాలుగుతో గుణించిన విలువ పక్కన ఇవ్వబడింది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన 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 చెల్లింపులు చేసి, ఒక్కో షేర్కు మొత్తం $5.24 ఇచ్చింది. అయితే దాని తాజా చెల్లింపును నాలుగుతో గుణిస్తే $5.36 వస్తుంది. ఇది $2.29% ఎక్కువ. దాదాపు 3% yield ఉన్న షేర్లో ఇంతటి పొరపాటు ముద్రిత గణాంకాన్ని పదో శాతం పాయింట్ లేదా అంతకంటే ఎక్కువగా మార్చగలదు. దీంతో క్రమబద్ధీకరించిన జాబితా క్రమం మారవచ్చు.
చెల్లింపుల సంఖ్య కాలానుగత గుణకానికి బదులుగా SUMIFS ఉపయోగించడానికి రెండో కారణం. గత పన్నెండు నెలల కాలవ్యవధిలో ఎల్లప్పుడూ కచ్చితంగా నాలుగు త్రైమాసిక చెల్లింపులు ఉండవు. ప్రతి సంవత్సరం ex-dividend తేదీలు కొన్ని రోజులు ముందుకు లేదా వెనక్కు మారుతాయి. అందువల్ల ఒక కాలవ్యవధిలో మూడు లేదా ఐదు చెల్లింపులు కూడా ఉండవచ్చు. మొత్తాన్ని నమ్మే ముందు వాటిలో ఏది జరిగిందో COUNTIFS మీకు తెలియజేస్తుంది.
ప్రత్యేక డివిడెండ్లు కొనసాగుతున్న రేటు కావు
మరో సాధారణ పొరపాటు ఒక్కసారి మాత్రమే చెల్లించిన మొత్తాన్ని సాధారణ షెడ్యూల్లో భాగంగా పరిగణించడం. ఒక కంపెనీ అదనపు నగదును ఒకేసారి పెద్ద మొత్తంలో పంపిణీ చేస్తుంది. SUMIFS ఆ మొత్తాన్ని గత కాలపు మొత్తంలో చేర్చుతుంది. దీంతో yield సెల్ ఒక్కసారిగా పెరుగుతుంది.
పన్నెండు నెలల తర్వాత అది మళ్లీ నిశ్శబ్దంగా తగ్గిపోతుంది.
ఇలాంటి చెల్లింపులు అరుదైనవి కావు. డివిడెండ్ క్యాలెండర్ పునరావృత షెడ్యూల్లో భాగం కాకుండా ఒకసారి మాత్రమే జరిగిందిగా గుర్తించిన అమెరికా మార్కెట్లోని ప్రతి చెల్లింపును ఈ ప్యానెల్ నెలవారీగా లెక్కిస్తుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన 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 monthఇటీవల పూర్తయిన నెల అయిన Jul 2026లో, 111 చెల్లింపులకు ఒకసారి మాత్రమే జరిగే చెల్లింపుగా గుర్తింపు ఉంది. ఆ నెలలో ex-dividend అయిన మొత్తం చెల్లింపుల్లో ఇది 2.91%. పన్నెండు నెలల రోలింగ్ మొత్తంలో ఇలాంటి చెల్లింపు ఏదో ఒక సమయంలో తప్పకుండా చేరుతుంది.
దీనికి పరిష్కారం ఒక flag columnను ఉపయోగించడం. ప్రతి చెల్లింపు పక్కన column Cలో regular లేదా special నమోదు చేసి, దాన్ని ఒక ప్రమాణంగా జోడించండి:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
ప్రత్యేక చెల్లింపుల వరుసలను షీట్లో ఉంచండి. అవి వాస్తవ నగదు చెల్లింపులు, అందుకున్న మొత్తాల రికార్డులో వాటికి స్థానం ఉంది. కానీ కొనసాగుతున్న రేటును సూచించే సంఖ్యలో వాటిని చేర్చకూడదు.
తుది సెల్ చూపించే ఫలితం
ఈ విధంగా లెక్కించిన trailing yieldలో రెండు మారే భాగాలు ఉంటాయి. అవి వేర్వేరు సమయాల్లో మారుతాయి. ఒక చెల్లింపు ఆ కాలపరిమితిలోకి వచ్చినప్పుడు లేదా బయటకు వెళ్లినప్పుడు, అలాగే డివిడెండ్ పెరిగినప్పుడు, సంవత్సరంలో కొన్ని సార్లు డివిడెండ్ మొత్తం మారుతుంది. ధర మాత్రం ప్రతి ట్రేడింగ్ సెషన్లో మారుతుంది. దిగువ ప్యానెల్ అదే డివిడెండ్ చెల్లించే సంస్థకు గత రెండు సంవత్సరాల కాలంలో నెలవారీగా తుది లెక్కను చూపిస్తుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన 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 monthడివిడెండ్ రేఖ దశలవారీగా మారి, ఆ తర్వాత కొంతకాలం స్థిరంగా ఉంటుంది. అదే కాలంలో yield రేఖ ప్రతి నెలా మారుతుంది. Aug 2024లో trailing total ప్రతి షేరుకు $1.89గా ఉండగా yield 2.61%గా ఉంది; Jul 2026 నాటికి మొత్తం $2.08గా, yield 2.37%గా నమోదైంది. డివిడెండ్ కాలమ్లో ఎలాంటి మార్పు చేయకపోయినా yield సెల్ మారుతుంటే, trailing yield పనిచేసే విధంగానే అది పనిచేస్తోంది: denominator మారింది.
ఒక tickerకు లెక్క సరిగా పనిచేసిన తర్వాత, ప్రతి holding కోసం ఆ బ్లాక్ను కిందికి copy చేయండి. ఆపై yieldsను సగటు చేయకుండా, market value ఆధారంగా ఫలితాలకు weight ఇవ్వండి. ఈ దశను పోర్ట్ఫోలియో weighted dividend yield అంటారు.
తరచుగా అడిగే ప్రశ్నలు
GOOGLEFINANCEలో dividend yield attribute ఉందా?
లేదు. ఈ function live quote fields మరియు historical pricesను అందిస్తుంది. వాటిలో dividend లేదా yield ఏదీ ఉండదు. =GOOGLEFINANCE("KO","yield"), #N/Aను తిరిగి ఇస్తుంది. షీట్లో yieldను రూపొందించాలంటే, మీరు అందించే dividend మొత్తాన్ని function తిరిగి ఇచ్చే ధరతో భాగించాలి.
Google Sheetsలో trailing dividend yieldను ఎలా లెక్కించాలి?
Ex-dividend datesను ఒక కాలమ్లో, ఒక్కో షేర్కు నగదు మొత్తాన్ని తదుపరి కాలమ్లో ఉంచండి. గత పన్నెండు నెలల మొత్తాన్ని =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())తో లెక్కించండి. ఆ మొత్తాన్ని =GOOGLEFINANCE("KO","price")తో భాగించి, ఫలిత కణాన్ని శాతంగా ఫార్మాట్ చేయండి.
నా dividend yield, బ్రోకర్ పేజీలో ఉన్నదానితో ఎందుకు భిన్నంగా ఉంది?
చాలా సందర్భాల్లో కారణం numerator. Forward yield చూపించే పేజీ ప్రస్తుతంగా ప్రకటించిన రేటును సంవత్సరానికి అనుగుణంగా లెక్కిస్తుంది. అయితే పన్నెండు నెలల SUMIFS, గత రేటుతో చేసిన చెల్లింపులను కూడా కలిగి ఉన్న trailing figureను ఇస్తుంది. ఆ కాలంలో special dividend ఉంటే వ్యత్యాసం మరింత పెరుగుతుంది.
Special dividendను yieldలోకి రాకుండా ఎలా ఉంచాలి?
ప్రతి చెల్లింపు regular లేదా special అని గుర్తించే కాలమ్ను జోడించండి. ఆ కాలమ్ను SUMIFSలో అదనపు criterion pairగా ఇవ్వండి. Special payment షీట్లో ఉంటుంది, కానీ yieldలోకి చేరదు.
Google Sheets dividend historyను ఆటోమేటిక్గా పొందగలదా?
GOOGLEFINANCE ద్వారా కాదు. Dividend కాలమ్ను చేతితో నిర్వహించాలి లేదా payment recordsను ప్రచురించే source నుంచి పేస్ట్ చేయాలి. ఈ పేజీలోని రెండు పద్ధతుల్లోనూ ఇదే ఒక్క manual step.
ఇక్కడి ప్రతి ప్యానెల్ను రూపొందించిన SQLతో వస్తుంది. కాబట్టి మొత్తం ఎలా లెక్కించబడిందో ఖచ్చితంగా చూడటానికి ఏదైనా ప్యానెల్ను తెరవండి. Strasmore terminalలో ఇదే ప్రశ్నలను సాధారణ ఇంగ్లిష్లో అడగవచ్చు.