Dividend Discount Model Part 2
Dividend Discount Model with Growth¶
When we introduce growth, the formula is changed to be the following:
$$ S = \frac{D_1}{r-g} $$
$ S = \text{Share Price} $
$ D_1 = \text{Dividend at year 1} $
$ r = \text{The discount rate} $
$ r = \text{The yearly dividend growth rate} $
What is the value going to be in the same scenario as before except now we have a growth rate of 2%.
#Growth drives value up since stocks are worth more in the future
print(5/(.05-.02))
To understand more how the growth rates changes the future value of dividend payments, let's simulate growth rates of 0%, 2%, 4%, 6%, 8%, and 10% applied to a starting dividend of $5 which we can assume is paid at time 0 now when there is a discount rate of 10%.
#Growth rates
growth_rates = [.02*x for x in range(0,6)]
#Years
t = list(range(101))
#Other parameters
r = .1
D0 = 5
#Find the present value of payments for different streams of dividends
dividend_PV = []
for g in growth_rates:
dividend_PV.append([(D0*(1+g)**x)/((1+r)**x) for x in t])
#Plot the results
for d, g in zip(dividend_PV, growth_rates):
plt.plot(t,d,label="g="+str(int(g*100))+"%")
plt.legend()
plt.xlabel("t")
plt.ylabel("Dividend Present Value")
plt.title("Dividend Value with r=10%")
plt.show()
Now we fully see that any time that $g > r$ there is no way for us to use this formula. As a final graphing exercise, let's test the value of the company as the growth rate approaches $g = r$. In this case we will go back to assuming there is a $5 dividend paid starting after a year.
#Define the growth rates
growth_rates = [x/100 for x in range(10)] + [.095, .099]
#Find the values
vals = [5/(.1-g) for g in growth_rates]
#Plot results
plt.plot(growth_rates, vals)
plt.xlabel("g")
plt.ylabel("Stock Value")
plt.title("Stock Value as g Approaches r")
plt.show()
Dividend Yield¶
As a final note, the dividend yield is defined as:
$$ y = \frac{D}{S} $$
where
$ y = \text{Dividend Yield}$
$ D = \text{Dividend}$
$ S = \text{Stock Value}$
For a stock with a $5 dividend, if the value of the company is 50 or the value is 100, we can easily find the dividend yield.
#Find the dividend yields
print(5/50)
print(5/100)