Dear Statalist community,
I am a student from the Netherlands and I am currently writing my master's thesis.
For my research, I am required to calculate the cost of equity capital using the method of Gebhardt et al. (2001).
I already used advice from another post on Statalist on this topic, but still did not proceed to obtain any good results: https://www.statalist.org/forums/for...equity-capital.
The formula for the Gebhardt et al. (2001) model is as follows, as explained by El Ghoul et al. (2011):
The explicit forecast horizon is set to 3 years, beyond which forecasted ROE decays to the median industry ROE by the 12th year, and remains constant thereafter. Dividend payout is assumed to be constant. For the first 3 years, FOREt+i is set equal to FEPSt+i=Bt+i-1.
Beyond the third year, FORE fades linearly to the industry median ROE by the 12th year.
Industries are defined according to the Fama and French (1997) classification and the median industry ROE is calculated over the past 10 years excluding loss firms.
The expected dividend payout ratio DPRt+i is set equal to DPS0=EPS0.
I have attached a .xlsx dataset with the following variables:
p = current stock price
bv0 = book value per share at t=0
f1-f5 = forecasted return on equity for periods t+1 to t+5
indmed= industry median roe
dvrate = dividend payout rate
In the post of this forum from the link above, I have found the following code (do-file also included):
Whenever I use the code, I obtain results with a mean of around 0.002 or 0,2%. This is theoretically not really possible as this is really small for a value of cost of equity capital.
In addition, when I use the same formula in Excel with Solver, I obtain results that are around 0.09 or 9%, which is theoretically more reliable.
Does somebody know what is wrong with the code or have a better alternative?
You would really help me!
Thank you in advance.
Kind regards,
Robin Wind
I am a student from the Netherlands and I am currently writing my master's thesis.
For my research, I am required to calculate the cost of equity capital using the method of Gebhardt et al. (2001).
I already used advice from another post on Statalist on this topic, but still did not proceed to obtain any good results: https://www.statalist.org/forums/for...equity-capital.
The formula for the Gebhardt et al. (2001) model is as follows, as explained by El Ghoul et al. (2011):
The explicit forecast horizon is set to 3 years, beyond which forecasted ROE decays to the median industry ROE by the 12th year, and remains constant thereafter. Dividend payout is assumed to be constant. For the first 3 years, FOREt+i is set equal to FEPSt+i=Bt+i-1.
Beyond the third year, FORE fades linearly to the industry median ROE by the 12th year.
Industries are defined according to the Fama and French (1997) classification and the median industry ROE is calculated over the past 10 years excluding loss firms.
The expected dividend payout ratio DPRt+i is set equal to DPS0=EPS0.
I have attached a .xlsx dataset with the following variables:
p = current stock price
bv0 = book value per share at t=0
f1-f5 = forecasted return on equity for periods t+1 to t+5
indmed= industry median roe
dvrate = dividend payout rate
In the post of this forum from the link above, I have found the following code (do-file also included):
Code:
clear set more off,perm use [INSERT PATH] gen dvrate = (1-(dps/eps)) replace dvrate = 0 if dvrate<=0 replace dvrate = 1 if dvrate>=1 generate glsicc=. mata z=J(1,1,.) st_view(z,., "glsicc p bv0 froe1 froe2 froe3 froe4 froe5 indmed dvrate") function w(x,p,b0,f1,f2,f3,f4,f5,ii,dv) { tf = f1+f2+f3+f4 fi = f5-ii t1 = ((f1-x)/(1+x))*b0 t2 = (f2-x*(b0+f1*dv))/(1+x)^2 t3 = (f3-x*(b0+dv*(f1+f2)))/(1+x)^3 t4 = (f4-x*(b0+dv*(f1+f2+f3)))/(1+x)^4 t5 = (f5-x*(b0+dv*tf))/(1+x)^5 t6 = ((f5-fi/7)-x*(b0+dv*(tf+f5)))/(1+x)^6 t7 = ((f5-fi*2/7)-x*(b0+dv*(tf+2*f5-fi/7)))/(1+x)^7 t8 = ((f5-fi*3/7)-x*(b0+dv*(tf+3*f5-fi*3/7)))/(1+x)^8 t9 = ((f5-fi*4/7)-x*(b0+dv*(tf+4*f5-fi*6/7)))/(1+x)^9 t10 = ((f5-fi*5/7)-x*(b0+dv*(tf+5*f5-fi*10/7)))/(1+x)^10 t11 = ((f5-fi*6/7)-x*(b0+dv*(tf+6*f5-fi*15/7)))/(1+x)^11 t12 = (ii-x*(b0+dv*(tf+7*f5-fi*3)))/((1+x)^12) tv = (ii-x*(b0+dv*(tf+7*f5-fi*3)))/(x*(1+x)^12) return(-p+b0+t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12+tv) } for (i=1;i<=rows(z);i++) { r=mm_root(glsicc=.,&w(),smallestdouble(),1-epsilon(1),1e-9,1000,z[i,2],z[i,3],z[i,4],z[i,5],z[i,6],z[i,7],z[i,8],z[i,9],z[i,10]) z[i,1]=glsicc } end
In addition, when I use the same formula in Excel with Solver, I obtain results that are around 0.09 or 9%, which is theoretically more reliable.
Does somebody know what is wrong with the code or have a better alternative?
You would really help me!
Thank you in advance.
Kind regards,
Robin Wind
Comment