%HETEROGENEOUS.M %Overborrowing in a model with heterogeneous agents %Parameter Values y=1; %first period endowment ya=2; %Agent a future endowemnt yb=1.5; %Agent b future endowemnt Rstar = 1.1; %world interest rate kapa = 0.3; cbar = 3; %Present-discounted value of endowments Ya = y + ya/Rstar; Yb = y + yb/Rstar; clc %Unconstraint equilibriu disp('Unconstraint equilibriu') disp('Consumption agent a') ca1u = Rstar / (1+Rstar) *Ya ca2u = Rstar / (1+Rstar) *Ya disp('Consumption agent b') cb1u = Rstar / (1+Rstar) *Yb cb2u = Rstar / (1+Rstar) *Yb disp('Individual debt levels') aau = ca1u-y abu = cb1u-y disp('Aggregate debt level') au = (aau+abu)/2 disp('An Economy with an Individual Debt Constraint') disp('Individual debt levels') aai = min(kapa,aau) abi = min(kapa,abu) disp('Aggregate debt level') ai = (aai+abi)/2 disp('Social Planner problem') disp('Lagrange multiplier') mu =Rstar/2*(Ya+Yb)-(1+Rstar)*(y+kapa) disp('Individual consumption') cas1=Rstar/(1+Rstar)*(Ya-mu/Rstar) cbs1=Rstar/(1+Rstar)*(Yb-mu/Rstar) disp('Individual debt levels') aas = cas1 -y abs = cbs1 -y disp('Aggregate debt level') as = (aas+abs)/2; disp('Competitive Equilibrium with an Aggregate debt constraint') dist=1; Rmin=Rstar; Rmax=1.2; while dist>1e-7 %Interest rate Ra = (Rmax+Rmin)/2; %Consumption caa1 = Ra/(1+Ra) * (Ya - (1/Rstar-1/Ra)*cbar); cba1 = Ra/(1+Ra) * (Yb - (1/Rstar-1/Ra)*cbar); ca1 = (caa1+cba1)/2; %debt aaa = caa1-y; aba = cba1-y; aa = ca1-y; %Interest rate Rmin = Ra*(aa>kapa)+Rmin*(aa<=kapa); Rmax = Rmax*(aa>=kapa)+Ra*(aa