Why Dividends Don't Matter, Yet Actually Do: Python Case Study
- Nikhil Adithyan
- 4 days ago
- 7 min read

If you hang around investing forums long enough, you’ll eventually meet two types of people: the dividends-are-life crowd and the dividends-don’t-matter theorists. One side celebrates every quarterly cash drop like it’s a birthday. The other insists dividends are just accounting tricks: nothing more than shifting money from one pocket to another.
Here’s the twist: both are right, just in different ways.
To show why, we’ll do something a bit more rigorous than arguing on Reddit. We’ll use real market data, pulled directly from the EODHD APIs, to examine the reality of it. We’ll zoom in on a high-dividend classic like Coca-Cola, and we’ll track what happens to its price when a dividend is paid.
You already know the spoiler: the price drops. But the interesting part is what dividends tell us about the companies distributing them.
By the end, you’ll see why dividends don’t matter from a valuation standpoint… yet still tell you something important about the firm’s maturity, investment opportunities, and strategic direction.
Disclaimer: This exploration is for educational and research purposes only and does not constitute financial advice.
Why should dividends matter?
At the most intuitive level, dividends make perfect sense. A company produces goods or services and earns a profit. Once it has paid its employees, suppliers, and taxes, it can return part of that profit to the people who actually own the business: the shareholders. It is the corporate equivalent of a bakery selling out its morning batch and handing a slice of the proceeds back to the partners who funded the ovens.
This profit-sharing view is simple, almost old-fashioned, and still fundamentally correct. For decades, investors have used dividends as a concrete sign that a company is generating stable cash flows. When firms like Coca-Cola or Procter & Gamble announce that their dividend has increased for the 50th or 60th consecutive year, they aren’t just signaling generosity: they’re signaling durability.
And few examples illustrate this better than Warren Buffett’s long-term position in Coca-Cola. Berkshire Hathaway earns billions in dividends from KO every year. Want to see? The EODHD APIs provides a clear and easy-to-use endpoint to fetch historical dividends. Using it, we can retrieve the full dividend history of a stock, calculate returns with or without discounting, and precisely account for both the announcement date (when the market first learns the information) and the payment date (when the dividend is actually distributed to shareholders).
API_KEY = 'YOUR_API_KEY'
import pandas as pd
import requests
import seaborn as sns
import matplotlib.pyplot as plt
def get_dividends_history(symbol):
url = f'https://eodhd.com/api/div/{symbol}?from=2000-01-01&api_token={API_KEY}&fmt=json'
data = requests.get(url).json()
return data
KO_dividends = get_dividends_history('KO.US')
KO_dividends = pd.DataFrame(KO_dividends)
print(KO_dividends)
del KO_dividends['date']
KO_dividends['paymentDate'] = pd.to_datetime(KO_dividends['paymentDate'])
KO_dividends = KO_dividends.set_index('paymentDate')
KO_dividends.index.name = 'date'
fig, ax = plt.subplots(figsize=(7, 5))
sns.lineplot(
data=KO_dividends,
x="date",
y=KO_dividends["unadjustedValue"].cumsum(),
ax=ax
)
ax.set_ylabel("Cumulated Dividends")
ax.set_xlabel("Date")
fig.suptitle("Cumulated Dividends for Coca Cola", fontweight='bold')
plt.tight_layout()
plt.show()API_KEY = 'YOUR_API_KEY'
['date', 'declarationDate', 'recordDate', 'paymentDate', 'period', 'value', 'unadjustedValue', 'currency']

In 2000, the stock was trading at $30. Those dividend checks alone are now larger than the entire cost basis of the original investment. It’s hard to find a cleaner demonstration of compounding playing out in real time, powered by a company that distributes a steady, predictable stream of cash to its shareholders.
Given stories like this, it’s understandable that many retail investors, and especially today’s wave of self-proclaimed finance gurus, put dividends on a pedestal. Some treat a high dividend yield as a one-number shortcut to quality, or as the main criterion for a safe portfolio. The problem is that this view is incomplete. Focusing solely on dividends can obscure far more important aspects of a firm’s economics.
And this is where the paradox begins. Because while dividends feel like real income, and while they can signal stability, the mechanics behind them tell a more nuanced story. When we examine the price behavior around ex-dividend dates using actual EODHD APIs data, a different perspective emerges.
Why Dividends don’t matter
When a company pays a dividend, something mechanically simple but often misunderstood happens. Cash leaves the firm and lands in shareholders’ accounts. That cash was part of the company’s assets just a moment earlier, which means the stock price must adjust to reflect the reduced value of the firm. The adjustment is not symbolic; it is arithmetic.
If a company is worth $100 per share, and it pays a $2 dividend, its stock should not magically remain at $100. On the payment date, the price typically opens lower by roughly the amount of the dividend. The market isn’t punishing the company. It’s simply acknowledging that $2 of value has exited the corporate balance sheet and moved directly to shareholders’ hands. Not convinced? Well, imagine if it were not the case: one could simply buy a stock just before the dividend distribution and then sell it. Such simple risk-free arbitrage doesn’t exist in the market.
From the investor’s perspective, this is a transfer rather than a gain.Dividends are not extra money; it is money that used to be inside the stock price. That’s the part many dividend enthusiasts underestimate. Collecting dividends feels like earning income, but in strict valuation terms, you’re just receiving a slice of the company you already own.
This is why dividends matter in a very specific sense: they don’t create value, but they change where the value sits. Instead of being embedded in the share price, the value is extracted as cash. Once in your hands, you can reinvest it, spend it, or save it. The economic impact is real, but the net worth effect, at the moment of the payment, is neutral. Using the EODHD APIs historical data endpoint, we can verify that. Indeed, the API provides clear historical information, with what is most important for us: the payment date and not only the announcement date. Let’s take a look at what happened to the Coca-Cola stock around one of its recent dividend distributions.
from datetime import timedelta
def get_historical_prices(symbol: str):
url = f'https://eodhd.com/api/eod/{symbol}?api_token={API_KEY}&fmt=json'
data = requests.get(url).json()
return data
KO_prices = get_historical_prices('KO.US')
KO_prices = pd.DataFrame(KO_prices)
KO_prices['date'] = pd.to_datetime(KO_prices['date'])
KO_prices = KO_prices[KO_prices['date'] > '2000-01-01']
KO_prices = KO_prices.set_index('date')
df = KO_dividends.join(KO_prices, how='outer')
payment_date = pd.to_datetime('2024-12-16')
mask = (
(df.index < payment_date + timedelta(days=10))
&
(df.index > payment_date - timedelta(days=10))
)
fig, ax = plt.subplots(figsize=(7, 5))
# Price only
sns.lineplot(
x=df[mask].index,
y=df[mask]["close"],
ax=ax,
label="Close"
)
# Price + cumulative dividends
sns.lineplot(
x=df[mask].index,
y=df[mask]["close"] + df[mask]["value"].fillna(0).cumsum(),
ax=ax,
label="Dividend Impact"
)
# Vertical line at payment date
ax.axvline(payment_date, color="red", linestyle="--", linewidth=1.2)
ax.text(payment_date-timedelta(days=4.5), 62.5, " Dividend Payment",
color="red", ha="left", va="top")
# Labels and title
ax.set_xlabel("Date")
ax.set_ylabel("Price")
ax.set_title("Dividend Influence on Total Return", fontweight='bold')
# Rotate x-axis labels
plt.setp(ax.get_xticklabels(), rotation=45, ha="right")
# Put legend outside plot (right side)
ax.legend(loc="upper left", bbox_to_anchor=(1.05, 1))
plt.show()

How can we verify this more systematically? Simple: pick a few of the highest dividend-paying stocks and examine their returns specifically on their dividend payment dates. If the market is at least weakly efficient, those stocks should show negative returns on those days.
high_dividend = [
"MO.US", # Altria
"PM.US", # Philip Morris
"T.US", # AT&T
"VZ.US", # Verizon
"XOM.US", # Exxon Mobil
"CVX.US", # Chevron
"KO.US", # Coca-Cola
"PFE.US", # Pfizer
"IBM.US", # IBM
"D.US", # Dominion Energy
"SO.US", # Southern Company
"DUK.US", # Duke Energy
"O.US", # Realty Income (REIT)
"SPG.US", # Simon Property Group (REIT)
"EPD.US" # Enterprise Products Partners
]
def create_ticker_df(ticker: str) -> pd.DataFrame:
df_dividends = get_dividends_history(ticker)
df_dividends = pd.DataFrame(df_dividends)[['paymentDate', 'value',]]
df_dividends['paymentDate'] = pd.to_datetime(df_dividends['paymentDate'])
df_dividends = df_dividends.set_index('paymentDate')
df_dividends.index.name = 'date'
df_prices = get_historical_prices('KO.US')
df_prices = pd.DataFrame(df_prices)[['date', 'close']]
df_prices['date'] = pd.to_datetime(df_prices['date'])
df_prices = df_prices[df_prices['date'] > '2000-01-01']
df_prices = df_prices.set_index('date').sort_index()
df_prices['return'] = df_prices['close'].pct_change()
df = df_dividends.join(df_prices, how='outer')
df['ticker'] = ticker
df = df.reset_index()
return df
df = pd.concat([create_ticker_df(ticker) for ticker in high_dividend])
df['dividend_return'] = df['value'] / df['close']
corr = df.dropna()[['dividend_return', 'return']].corr().values[0, 1]
corr = round(corr, 3)
fig, ax = plt.subplots(1, 1, figsize=(5, 3))
sns.regplot(
df.dropna(),
x='dividend_return',
y='return',
scatter_kws={'alpha': 0.2}, # <-- transparent points
line_kws={'color': 'darkorange'}
)
ax.set_xlabel('Dividends')
ax.set_ylabel('Return')
fig.suptitle(f'Negative Correlation of {corr}', fontweight='bold', fontsize=10)
plt.show()

We find a negative correlation between the dividend amount per dollar invested and the stock’s return. This negative relationship reinforces what we explained earlier: as an investor, dividends shouldn’t matter to you in terms of performance, because receiving one simply means losing the equivalent amount in the stock price. That’s purely a valuation effect. But for a company, paying a dividend does carry real-world meaning about the business itself, and that’s the hidden story here.
The Real Importance of Dividends
Beyond the spreadsheets and ex-dividend mechanics, the true significance of dividends lies in what they reveal about the company itself. A dividend is not simply a cash transfer. It is a statement about the firm’s maturity, strategy, and internal opportunities.
Mature companies, with stable revenues, predictable margins, and limited need for massive reinvestment, often redistribute a portion of their cash flows because they have few high-return projects left on the horizon. They aren’t running out of ideas. They have simply reached an economic phase where incremental capital no longer generates exceptional growth. Firms like Coca-Cola, Johnson & Johnson, or utilities fall squarely into this category. Their ability to pay consistent dividends is a reflection of operational stability rather than a magical source of investment performance.
By contrast, companies in rapid expansion mode behave differently. They reinvest aggressively, channeling every available dollar into new markets, new infrastructure, or new technologies. These firms do not pay dividends, not because they cannot, but because doing so would be irrational while high-return opportunities still exist. Think of early Amazon, Meta, or most AI firms: growth absorbs capital faster than dividends could ever distribute it.
This distinction is essential. High dividend yields often serve as a crude but effective shortcut for identifying mature, cash-rich businesses with fewer upcoming investment needs. It is not the dividend itself that drives long-term performance. The return comes from the underlying characteristics: stability, durable cash flows, and low reinvestment requirements.
So when investors focus exclusively on dividends, they are typically mistaking the symptom for the cause. Dividend payments can be a useful proxy for company maturity, but they are not the engine of returns. The performance originates from the business model and economic structure, while the dividend merely reflects the absence of high-growth projects.
Conclusion
Dividends sit at the intersection of two truths that regularly get confused. On one hand, they don’t improve shareholder value: every dollar you receive in a dividend is a dollar that leaves the firm and is removed from the share price. Our data confirmed this repeatedly: higher dividend payouts are consistently associated with lower returns on payment dates. From a pure valuation standpoint, dividends really don’t matter.
But at the same time, dividends tell us something meaningful not about future stock performance, but about the company itself. Mature, stable businesses with reliable cash flows can afford to return capital to shareholders because they no longer need every dollar for growth. High dividend yields are typically signals of economic maturity, operational consistency, and fewer high-return reinvestment opportunities. Younger, fast-growing companies do the opposite: they keep the cash, not because they can’t pay a dividend, but because it would be irrational to distribute fuel required for expansion.
So the real takeaway is this: dividends are not a free lunch, nor are they meaningless. They are a message. They tell you where a company sits in its lifecycle, and understanding that signal is far more valuable than the cash distribution itself. In the end, dividends matter not because of what they give you, but because of what they say.