/* ------------------------------------------------------------------------- */ /* proc invret takes parameters, investment series, creates investment return series USAGE: {ri,ik} = invret(alpha,delta,mpk,ik); INPUTS: alpha,delta,mpk: parameters to use. may be vectors as long as cols(ik); ik: investment/capital series to use. can do several at once. Returns: Ri, investment return. Note this is one shorter than investment series; it's from 2 to T. How it works: Uses (1 + mpk + alpha(i/k)(t+1) + alpha/2(i/k)(t+1)^2 ) Ri(t+1) = (1-delta) --------------------------------------------------- 1 + alpha (I/k)(t) */ /* ------------------------------------------------------------------------- */ proc(2) = invret(alpha,delta,mpk,ik); local Ri,T; /* form Ri series */ T = rows(ik); Ri = (1-delta') .* (1 + mpk' + alpha'.*(ik[2:T,.]) + alpha'./2 .* (ik[2:T,.]^2)) ./ (1 + alpha' .* ik[1:T-1,.]); retp(Ri,ik); endp;