%primal_form.m %This program computes symbolic math expressions for the first-order conditions of the Ramsey problem in the model of %Schmitt-Grohe, Stephanie and Martin Uribe, %`Foreign Demand for Domestic Currency and The Optimal Rate of Inflation'' %Journal of Money, Credit and Banking, forthcoming. % %(c) Stephanie Schmitt-Grohe and Martin Uribe % Date: January 5, 2011 clear all syms THETA BETTA A B syms c h v g yf syms c_b h_b v_b g_b yf_b syms c_f h_f v_f g_f yf_f syms la %Satiation level of velocity vbar = sqrt(B/A); %Current Period (t) U = log(c) + THETA * log(1-h); Uc = diff(U,'c'); Uh = diff(U,'h'); S = A*v + B/v - 2*sqrt(A*B); Sv = diff(S,'v'); Svv = diff(Sv,'v'); GAMA = 1 + S + v*Sv; vf = v; %One period back (t-1) U_b = log(c_b) + THETA * log(1-h_b); Uc_b = diff(U_b,'c_b'); S_b = A*v_b + B/v_b - 2*sqrt(A*B); Sv_b = diff(S_b,'v_b'); GAMA_b = 1 + S_b + v_b*Sv_b; vf_b = v_b; %One period forward (t+1) U_f = log(c_f) + THETA * log(1-h_f); Uc_f = diff(U_f,'c_f'); Uh_f = diff(U_f,'h_f'); S_f = A*v_f + B/v_f - 2*sqrt(A*B); Sv_f = diff(S_f,'v_f'); GAMA_f = 1 + S_f + v_f*Sv_f; vf_f = v_f; %Feasibility constraint in the current period (t) h = - (yf / vf -yf_b / vf_b * (1-v_b^2 * Sv_b) * Uc_b / GAMA_b * GAMA / BETTA / Uc - (1+S) * c - g); %Feasibility constraint in t+1 h_f = -( yf_f / vf_f -yf / vf * (1-v^2 * Sv) * Uc / GAMA * GAMA_f / BETTA / Uc_f - (1+S_f) * c_f - g_f); U = eval(U); U_f = eval(U_f); Uh = eval(Uh); Uh_f = eval(Uh_f); %Period-t term of Implementability constraint implementability = Uc * c + Uh *h; implementability_f = Uc_f * c_f + Uh_f *h_f; %Lagrangean L = U + BETTA * U_f + la * implementability + la * BETTA * implementability_f; Lc = diff(L,'c'); Lv = diff(L,'v'); % In steady state, c_b=c=c_f, and so forth xx = [c_b v_b yf_b g_b c_f v_f yf_f g_f]; yy = [c v yf g c v yf g]; Lcs = subs(Lc,xx,yy,0); Lvs = subs(Lv,xx,yy,0);