Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Calculate implied cost of equity capital using Gebhardt et al. (2001) model

    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):
    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
    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
    Attached Files

  • #2
    Hello Robin , I also have the same issue. could you help me to deal with it .?

    Comment


    • #3
      As pointed out in this post on my website, the above code suffers from several coding errors and produce ICC estimates that are too low when we solve the two examples reported in the Gebhardt et al. (2001) paper.
      Regards
      --------------------------------------------------
      Attaullah Shah, PhD.
      Professor of Finance, Institute of Management Sciences Peshawar, Pakistan
      FinTechProfessor.com
      https://asdocx.com
      Check out my asdoc program, which sends outputs to MS Word.
      For more flexibility, consider using asdocx which can send Stata outputs to MS Word, Excel, LaTeX, or HTML.

      Comment

      Working...
      X