-
Login or Register
- Log in with
generate icc_ct_=. mata z=J(1,1,.) st_view(z,., "icc_ct_ price bv_t0 feps_t1 feps_t2 feps_t3 feps_t4 feps_t5 growth payoutratio") function y(x,p,b0,f1,f2,f3,f4,f5,g,dv) { tf = f1+f2+f3+f4 t1 = (f1-x*b0)/(1+x) t2 = (f2-x*(b0+f1*(1-dv)))/(1+x)^2 t3 = (f3-x*(b0+(1-dv)*(f1+f2)))/(1+x)^3 t4 = (f4-x*(b0+(1-dv)*(f1+f2+f3)))/(1+x)^4 t5 = (f5-x*(b0+(1-dv)*tf))/(1+x)^5 tv = ((f5-x*(b0+(1-dv)*tf))*(1+g))/((x-g)*(1+x)^5) return(-p+b0+t1+t2+t3+t4+t5+tv) } for (i=1;i<=rows(z);i++) { r=mm_root(icc_ct_=.,&y(),smallestdouble(),z[i,9]-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]=icc_ct_ } end generate icc_ct=. mata z=J(1,1,.) st_view(z,., "icc_ct price bv_t0 feps_t1 feps_t2 feps_t3 feps_t4 feps_t5 growth payoutratio") function s(x,p,b0,f1,f2,f3,f4,f5,g,dv) { tf = f1+f2+f3+f4 t1 = (f1-x*b0)/(1+x) t2 = (f2-x*(b0+f1*(1-dv)))/(1+x)^2 t3 = (f3-x*(b0+(1-dv)*(f1+f2)))/(1+x)^3 t4 = (f4-x*(b0+(1-dv)*(f1+f2+f3)))/(1+x)^4 t5 = (f5-x*(b0+(1-dv)*tf))/(1+x)^5 tv = ((f5-x*(b0+(1-dv)*tf))*(1+g))/((x-g)*(1+x)^5) return(-p+b0+t1+t2+t3+t4+t5+tv) } for (i=1;i<=rows(z);i++) { r=mm_root(icc_ct=.,&s(),z[i,9]+epsilon(1),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]=icc_ct } end
. mata: ------------------------------------------------- mata (type end to exit) ----- : x = Y[38, 1] : x 6.420057774 : r1 = eq1(x, Y, val, P, t) : r1 -.2658067825 : : r2 = eq1(x+(1e-15), Y, val, P, t) : r2 -.2411065604 : end -------------------------------------------------------------------------------
: rc = mm_root(x1=.,&eq1(),0,9,1e-5,1000,Y,val,P,t) : x1 6.645090348 : rc 0 : : //Plot it back : y = eq1(x1, Y, val, P, t) : y -.0004896063
: rc = mm_root(x1=.,&eq1(),6,9,1e-5,1000,Y,val,P,t) : x1 6.645088397 : rc 0 : : //Plot it back : y = eq1(x1, Y, val, P, t) : y -.0004896063
: rc = mm_root(x1=.,&eq2(),0,9,1e-5,1000,Y,val,P,t) : x1 6.657811668 : rc 0 : : //Plot it back : y = eq2(x1, Y, val, P, t) : y -.0102072419
: rc = mm_root(x1=.,&eq2(),0,9,1e-15,10000,Y,val,P,t) : x1 6.657814026 : rc 0 : : //Plot it back : y = eq2(x1, Y, val, P, t) : y -.0102072419
use data mata: st_view(Y=.,.,"Y") st_view(val=.,.,"val") P = 0.9676741647 t = 0.5 function eq1(y,Y,val,P,t) return(sum((Y:<y):*val)/sum(val) - (t-1+P)/P) rc = mm_root(x1=.,&eq1(),0,9,4.5,1000,Y,val,P,t) function eq2(y,Y,val,P,t) return(sum((Y:<y):*val)/sum(val) - t/P) rc = mm_root(x2=.,&eq2(),0,9,0,1000,Y,val,P,t)
quant = mm_quantile(Y,1,t)
tv = ((f5-x*(b0+(1-dv)*tf))*(1+g)/((x-g)*(1+x)^5)
generate icc_ct=. mata z=J(1,1,.) st_view(z,., "icc_ct price bv_t0 feps_t1 feps_t2 feps_t3 feps_t4 feps_t5 growth payoutratio") function y(x,p,b0,f1,f2,f3,f4,f5,g,dv) { tf = f1+f2+f3+f4 t1 = (f1-x*b0)/(1+x) t2 = (f2-x*(b0+f1*(1-dv)))/(1+x)^2 t3 = (f3-x*(b0+(1-dv)*(f1+f2)))/(1+x)^3 t4 = (f4-x*(b0+(1-dv)*(f1+f2+f3)))/(1+x)^4 t5 = (f5-x*(b0+(1-dv)*tf))/(1+x)^5 tv = ((f5-x*(b0+(1-dv)*tf))*(1+g)/((x-g)*(1+x)^5) return(-p+b0+t1+t2+t3+t4+t5+tv) } for (i=1;i<=rows(z);i++) { r=mm_root(icc_ct=.,&y(),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]=icc_ct } end
generate glsicc=. mata z=J(1,1,.) st_view(z,., "glsicc p3prcc bve fore1 fore2 fore3 fore4 fore5 indmedroe dvrate") function w(x,p,b0,f1,f2,f3,f4,f5,ii,dv) { tf = f1+f2+f3+f4 fi = f5-ii t1 = (f1-x*b0)/(1+x) 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
Leave a comment: