Hi There,
I have used the following codes to calculate the implied cost of equity. While the code calculates implied cost equity correctly for most of the observations, it somehow provides no results for some other ( which I can otherwise solve using excel solver).
I have a rudimentary knowledge of Mata so I was unable to debug the code or pick up the mistake that I have made.
The following code is used to calculate the implied cost of Equity
The variable of interest is calculated is the implied cost of equity / "glsicc" ( last column). In some instances, as seen in row 8, 9, and 22 of the following table, there is no result/output from the calculation ( no data is missing as well).
Your comments and feedback are highly appreciated.
Thanks.
To replicate the calculation just drop the following variables first
I have used the following codes to calculate the implied cost of equity. While the code calculates implied cost equity correctly for most of the observations, it somehow provides no results for some other ( which I can otherwise solve using excel solver).
I have a rudimentary knowledge of Mata so I was unable to debug the code or pick up the mistake that I have made.
The following code is used to calculate the implied cost of Equity
Code:
mata: mata clear gen dv= dpr gen ii=inds_roe gen b1 = b0*(1-dv) gen b2 = b1*(1-dv) gen f1 = eps1/b0 gen f2 = eps2/b1 gen f3 = eps3/b2 gen fi = (ii-f3)/9 generate glsicc=. mata z=J(1,1,.) st_view(z,., "glsicc p b0 f1 f2 f3 fi ii dv") function w(x,p,b0,f1,f2,f3,fi,ii,dv) { f4 = f3+fi f5 = f4+fi f6 = f5+fi f7 = f6+fi f8 = f7+fi f9 = f8+fi f10 = f9+fi f11 = f10+fi f12 = f11+fi t1 = (f1-x)/(1+x)*b0 t2 = ((f2-x)/(1+x)^2)*(b0*(1-dv)^2) t3 = ((f3-x)/(1+x)^3)*(b0*(1-dv)^3) t4 = ((f4-x)/(1+x)^4)*(b0*(1-dv)^4) t5 = ((f5-x)/(1+x)^5)*(b0*(1-dv)^5) t6 = ((f6-x)/(1+x)^6)*(b0*(1-dv)^6) t7 = ((f7-x)/(1+x)^7)*(b0*(1-dv)^7) t8 = ((f8-x)/(1+x)^8)*(b0*(1-dv)^8) t9 = ((f9-x)/(1+x)^9)*(b0*(1-dv)^9) t10 =((f10-x)/(1+x)^10)*(b0*(1-dv)^10) t11 =((f11-x)/(1+x)^11)*(b0*(1-dv)^11) t12 = ((f12-x)/(x*(1+x)^11))*(b0*(1-dv)^12) return(-p+b0+t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12) } 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,1]=glsicc } end
The variable of interest is calculated is the implied cost of equity / "glsicc" ( last column). In some instances, as seen in row 8, 9, and 22 of the following table, there is no result/output from the calculation ( no data is missing as well).
Your comments and feedback are highly appreciated.
Thanks.
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input long gvkey int year double uniqueid float(p ltg_ b0 eps0 eps1 eps2 eps3 eps4 eps5 dps rf rf_ inds_roe dpr dv ii b1 b2 f1 f2 f3 fi glsicc) 9899 2011 99000000 31.17 .0387 17.811 3.68 2.36 2.53 2.72 2.87 2.96 1.72 3.18 .0318 .352657 .467391 .467391 .352657 9.4862995 5.052488 .13250238 .26670042 .5383486 -.020632403 .0004840947 9899 2017 99000000 38.87 .079 22.944 2.35 2.91 2.95 2.96 2.7 3.33 1.96 2.31 .0231 .352657 .834043 .834043 .352657 3.807717 .6319172 .12683055 .7747425 4.6841583 -.4812779 9.313226e-10 9899 2018 99000000 32.47 .1171 25.281 2.08 3.4 3.46 3.49 3.65 3.74 2 2.85 .0285 .352657 .961538 .961538 .352657 .9723574 .03739879 .13448836 3.5583625 93.31852 -10.32954 9.313226e-10 10115 2001 101152001 28.985 .2 2.592 .51 .67 .8 .96 1.152 1.3824 .04 5.42 .0542 .5049713 .07843138 .07843138 .5049713 2.388706 2.2013564 .25848767 .3349094 .4360948 .007652951 .019291675 10115 2002 101152002 26.35 .2 3.661 .63 .83 1 1 1.2 1.44 .05 4.86 .0486 .5049713 .07936508 .07936508 .5049713 3.3704445 3.102949 .226714 .29669678 .3222741 .020299694 .029906055 10115 2018 101152018 175.46 .1003 31.33 4.69 7.23 7.91 8.66 9.52 10.27 1.88 2.85 .0285 .5049713 .4008529 .4008529 .5049713 18.771278 11.246758 .23076923 .42138845 .7699997 -.029447595 .00028093872 10115 2019 101152019 183.02 .1057 34.198 5.44 8.15 8.95 9.81 10.65 11.05 2.08 2 .02 .5049713 .38235295 .38235295 .5049713 21.122295 13.046124 .238318 .4237229 .7519475 -.0274418 .0004394989 10121 2015 101212015 19.34 .076 11.39 2.34 2.2 2.33 2.41 2.59316 2.79024 .6 2.35 .0235 2.8803954 .25641024 .25641024 2.8803954 8.469487 6.297824 .1931519 .2751052 .3826719 .27752483 . 10121 2018 101212018 14.3 -.0364 14.247 1.8 1.89 1.94 1.98 1.907928 1.8384794 .64 2.85 .0285 2.8803954 .3555556 .3555556 2.8803954 9.181399 5.916902 .13265951 .21129677 .3346346 .2828623 . 10124 2005 101242005 8.29 .1 4.146 .24 .4 .5 .55 .605 .6655 .4 3.94 .0394 .221887 1.6666666 1.6666666 .221887 -2.764 1.8426664 .09647854 -.18089727 .2984805 -.008510389 .0016042346 10353 2010 103532010 13.95 .099 9.894 .97 .83 1.11 1.4 1.5386 1.6909214 0 2.97 .0297 .1687773 0 0 .1687773 9.894 9.894 .08388922 .1121892 .14149989 .003030822 .10466353 10353 2011 103532011 21.87 .1 11.203 .77 1.17 1.49 1.76 1.936 2.1296 0 3.18 .0318 .1687773 0 0 .1687773 11.203 11.203 .1044363 .13300009 .1571008 .0012973895 .0811295 10390 2009 103902009 24.43 .15 9.933 .28 .36 .4 .46 .529 .60835 0 3.53 .0353 .03219657 0 0 .03219657 9.933 9.933 .03624283 .04026981 .04631028 -.0015681903 .013515483 10405 2000 104052000 22.5625 .1238 12.935 2.38 1.86 2.16 2.427408 2.727921 3.065638 .64 6.03 .0603 .24846035 .26890758 .26890758 .24846035 9.456681 6.913708 .1437959 .22840995 .3511007 -.011404485 .024919184 10405 2001 104052001 20.75 .0922 11.762 1.67 .83 1.54 1.681988 1.8370672 2.006445 .8 5.42 .0542 .24846035 .4790419 .4790419 .24846035 6.127509 3.1921754 .07056623 .2513256 .52690965 -.03093881 .0002060111 10405 2006 104052006 65.74 .2 14.583 2.79 4.07 5.06 5.98 4.7 3.32 .4 5.15 .0515 .24846035 .14336918 .14336918 .24846035 12.492248 10.701244 .2790921 .4050512 .5588135 -.034483686 .01778913 10405 2007 104052007 116.54 .15 21.708 5.15 7.86 8.65 8.85 10.95 12.5925 .52 5.03 .0503 .24846035 .10097087 .10097087 .24846035 19.516125 17.545565 .3620785 .4432232 .504401 -.028437853 .022462074 10405 2011 104052011 65 .481 23.274 .94 3.04 4.64 5.63 7.64 11.31484 .72 3.18 .0318 .24846035 .7659575 .7659575 .24846035 5.447106 1.2748544 .13061786 .8518285 4.4161906 -.46308115 4.290278e-09 10405 2012 104052012 30.33 .3716 23.088 1.83 2.63 4 5.14 7.050024 9.669813 .72 1.67 .0167 .24846035 .3934426 .3934426 .24846035 14.004196 8.494349 .113912 .28562868 .6051082 -.03962754 .070960805 10405 2013 104052013 27.77 .1199 26.802 1.61 1.08 2.43 3.53 3.953247 4.4272413 .72 2.52 .0252 .24846035 .447205 .447205 .24846035 14.816012 8.190218 .0402955 .16401175 .431002 -.0202824 .10319096 10405 2015 104052015 32.08 .15 19.078 1.39 1.18 2.59 4.04 4.646 5.3429 .72 2.35 .0235 .24846035 .5179856 .5179856 .24846035 9.19587 4.4325423 .06185135 .28164816 .9114408 -.073664494 .00010481177 10405 2019 104052019 21.96 .183 16.577 1.29 1.49 2.31 2.75 3.25325 3.848595 0 2 .02 .24846035 0 0 .24846035 16.577 16.577 .08988357 .1393497 .1658925 .009174204 . 10407 2000 104072000 36.5625 .1633 17.886 2.48 2.8 3.13 3.641129 4.2357254 4.927419 .52 6.03 .0603 .2592632 .2096774 .2096774 .2592632 14.13571 11.17177 .15654702 .22142504 .3259223 -.007406566 .030442247 10407 2001 104072001 48.43 .1486 19.762 2.76 2.82 3.16 3.49 4.008614 4.604294 .6 5.42 .0542 .2592632 .2173913 .2173913 .2592632 15.465913 12.103758 .14269811 .2043203 .2883402 -.0032307804 .0149684 10407 2002 104072002 55.87 .1467 22.694 2.93 3.24 3.65 4.185455 4.799461 5.503542 .68 4.86 .0486 .2592632 .2320819 .2320819 .2592632 17.427134 13.38261 .14276901 .2094435 .3127532 -.005943338 .012218882 end
Code:
drop dv ii b1 b2 f1 f2 f3 fi glsicc
Comment