close all // Linear Version /* --------------------------------------------------------------------------- This a DSGE model for economy with partiai reserves --------------------------------------------------------------------------- */ //------------------------------------------------------------------------- // Endogenous variable's //------------------------------------------------------------------------- var cp rd pic m_cp hp w I u q rk cI m_cI hI rh y h k mc or lm zb lh d rr kB l dc rc rm mb fr dg rmb c g m T pi_star eps_I eps_zb eps_rmb eps_A eps_P; //------------------------------------------------------------------------- // Exogenous variable's //------------------------------------------------------------------------- varexo u_a $\u^{\textit{a}}$ (long_name='Pure Technology Shock') u_p $\u^{\textit{p.}}$ (long_name='Pure Price Adj. Shock') u_or $\eps^{\textit{or}}$ (long_name='Oil Shock') u_dc $\eps^{\textit{dc}}$ (long_name='Bank Debt to Central Bank Shock') u_dg $\eps^{\textit{dg}}$ (long_name='Government Debt to Central Bank Shock') u_rmb $\varepsilon^{\textit{pi}}$ (long_name='Pure Monetary Base Shock') u_I $\u_I$ (long_name='Pure Investment Shock') u_zb $\u_zb$ (long_name='Pure Frozen Assets Shock') u_g $u_g$ (long_name='Exchange Rate Growth Shock') u_rr $u_rr$ (long_name='Reserves Shock') ; //------------------------------------------------------------------------- // Parameter's //------------------------------------------------------------------------- parameters //Utility Function parameters SigC $\sigma_{c}$ (long_name='inverse of intertemporal elasticity of consumption') SigH $\sigma_{h}$ (long_name='inverse of Frisch elasticity') betta $\beta$ (long_name='Consumer subjective Discount Factor') ltv $\ltv$ (long_name='household loan restrictions') // Capital Formation psiI $\psi^{i}$ (long_name='Investment Adj. Parameter') delta $\delta_{k}$ (long_name='Capital Dep. Rate') sigA $\sigma_{a}$ (long_name='Elasticity of Capital Rent Price to utilization rate') // Production alfa $\alfa$ (long_name='Capital Share in Production') ltvm $\ltv_m$ (long_name='Firms loan restrictions') omagP $\psi^{p}$ (long_name='Price Adj. Parameter') lamP $\lambda_{p}$ (long_name='Inflation indexation') muP $\mu^{p}$ (long_name='Price MarkUp') //Bank car $\car$ (long_name='Minimum Capital Adequacy Requirements') kappa $\kappa$ (long_name='Ajastment Cost') sai_zb_y $\sai_zb_y$ (long_name='Coefficient Frozen Assets 2') sai_zb_q $\sai_zb_q$ (long_name='Coefficient Frozen Assets 3') rho_rd $\rho_rd$ (long_name='Coefficient Deposit Interest') //Central Bank & Governer omagy_rmb $omega_y_rmb$ (long_name='Inpute Weight of Monetary Base Growth Rate') omagpic_rmb $omega_pic_rmb$ (long_name='Inflation Weight of Monetary Base Growth Rate') tau $tau$ (long_name='Tax Revenue Elasticity') omag_or $omega_or$ (long_name='smos oil') //Market Clearing Condition omag $\omega$ (long_name='Household Saving Share') // Exp proc a1p $\alpha_{p}$ (long_name='Smoothing Parameter of Price Adj. Shock') aI $\alpha_{I}$ (long_name='Smoothing Parameter of investment shock') rhoa $\rho_{a}$ (long_name='Smoothing Parameter of Technology shock') rho_pistar $\rho_pi_star$ (long_name='Smoothing Parameter of Foreign Inflation') rho_or $\rho_or$ (long_name='Smoothing Parameter of oil shock') rho_zb $\rho_zb$ (long_name='Smoothing Parameter of Frozen Assets1') rho_dc $rho_dc$ (long_name='Smoothing Parameter of Bank Debt to Central Bank') rho_dg $rho_dg$ (long_name='Smoothing Parameter of Governer Debt to Central Bank') rho_rmb $rho_rmb$ (long_name='Smoothing Parameter of Monetary Base Growth Rate') rho_g $\rho_g$ (long_name='Smoothing Parameter of Govrner Expendicher') rho_rr $\rho_rr$ (long_name='Smoothing Parameter of Reserve') sw $\{w_{ss}}$ (long_name='Steadystate w') shI $\{hI_{ss}}$ (long_name='Steadystate hI') scI $\{cI_{ss}}$ (long_name='Steadystate cI') srh $\{rh_{ss}}$ (long_name='Steadystate rh') srd $\{rd_{ss}}$ (long_name='Steadystate rd') srk $\{rk_{ss}}$ (long_name='Steadystate rk') slm $\{lm_{ss}}$ (long_name='Steadystate lm Bank') slh $\{lh_{ss}}$ (long_name='Steadystate lh Bank') sd $\{d_{ss}}$ (long_name='Steadystate d') scp $\{cp_{ss}}$ (long_name='Steadystate cp') shp $\{hp_{ss}}$ (long_name='Steadystate hp') sh $\{h_{ss}}$ (long_name='Steadystate h') sm $\{m_{ss}}$ (long_name='Steadystate Total Cash') sm_cp $\{m_cp_{ss}}$ (long_name='Steadystate m_cp') sm_cI $\{m_cI_{ss}}$ (long_name='Steadystate m_cI') sc $\{c_{ss}}$ (long_name='Steadystate c') srr $\{rr_{ss}}$ (long_name='Steadystate rr') skB $\{kB_{ss}}$ (long_name='Steadystate kb Bank') src $\{rc_{ss}}$ (long_name='Steadystate rc Bank') ssigma $\{sigma_{ss}}$ (long_name='Steadystate ssigma') sor $\{or_{ss}}$ (long_name='Steadystate or') sfr $\{fr_{ss}}$ (long_name='Steadystate fr') sdg $\{dg_{ss}}$ (long_name='Steadystate dg') sdc $\{dc_{ss}}$ (long_name='Steadystate dc') smb $\{mb_{ss}}$ (long_name='Steadystate mb') sg $\{g_{ss}}$ (long_name='Steadystate g') sy $\{y_{ss}}$ (long_name='Steadystate y') sT $\{T_{ss}}$ (long_name='Steadystate T') sI $\{I_{ss}}$ (long_name='Steadystate Investment') srm $\{rm_{ss}}$ (long_name='Steadystate Intrest Rate Firm to Bank') sl $\{l_{ss}}$ (long_name='Steadystate l') szb $\{zb_{ss}}$ (long_name='Steadystate zb Bank') ; //------------------------------------------------------------------------- // Parameters Calibration's //------------------------------------------------------------------------- SigC=1.52; SigH=2.2; ltv=0.6; delta=0.027; betta=0.969; psiI=50; sigA=0.00490518706952423; omagP=4.37; rho_rd=0.8; muP=4.15; lamP=0.7; aI=0.90; a1p=0.95; alfa=0.412; ltvm=0.6; rhoa=0.95; rho_or=0.95; car=0.1; kappa=2.1; rho_sigma=0.4; rho_zb=0.4; sai_sigma_y= -1.6; sai_zb_y=-1.5; sai_zb_q=-1.6; rho_dc=0.90; rho_dg=0.95; rho_rmb=0.4; omagy_rmb= -1.7; omagpic_rmb= -1.54; tau=0.16; omag=0.3; rho_g=0.95; rho_rr=0.85; omag_or=0.7; // ------------------------------------------------------------------------ // Steady State Calibration's // ------------------------------------------------------------------------ sw=0.2987; shI=0.55; scI=0.40; srd=1.02040; srk=0.0627; slm=1.45; szb=0.65; sd=1.43; slh=1.30; srr=1; skB=2.65; sdc=0.0468; src=0.13; srm=0.15; srh=1; sl=1.23; sor=0.212; sfr=0.084; sdg=0.026; smb=0.12; sg=1.27; sy=1; sT=0.0945; sh=1.23; sI=0.23; sc=0.446; scp=0.40; shp=0.50; sh=1.23; sm=0.0396; sm_cp=1.30; sm_cI=1.35; sc=0.446; //------------------------------------------------------------------------- // linear Model Declaration //------------------------------------------------------------------------- model(linear); // ------------------- Houshold [name = 'Euler Equation'] cp=1.05*cp(+1)-(1/SigC)*(rd-pic(+1)); cI=1.05*cI(+1)-(1/SigC)*(rd-pic(+1)); [name = 'labour Supply'] hp=(1/SigH)*w-(SigC/SigH)*cp; hI=(sw/(SigH*shI^(SigH-1)*scI^SigC))*((w-(cI*SigC))*(1-((srh-srd)*ltv)/(1+srd))+rh*((ltv*srh)/(1+srd))+rd*((srd*(1-srh)*ltv)/(1+srd)^2)); [name = 'Money Demand'] m_cp=SigC*cp-rd; m_cI=SigC*cI-rd; [name = 'Accumulaton of capital stock'] k=(1-delta)*k(-1)+delta*I+delta*eps_I; [name = 'Rent Price'] q=2*pic(1)-rd+(1-betta*(1-delta))*rk(1)+(1-betta*(1-delta))*u(1)+betta*(1-delta)*q(1); [name = 'Investment Demand'] I=(1/(1+betta))*I(-1)-(betta/(1+betta))*I(1)+(1/((1+betta)*psiI))*q+(1/((1+betta)*psiI))*eps_I; [name = 'utilization rate'] u=(1/sigA)*rk; // ----------------------- Production Sector [name = 'Prodduction Function'] y=(1-alfa)*h+alfa*k+eps_A; [name = 'Inputs Demand'] k=w-rk-h; [name = 'Marginal Cost'] mc=alfa*rk+(1-alfa)*w+ltvm*rm-eps_A; [name = 'philips Curve'] pic=(omagP*(1+betta*lamP)*muP-1)^-1*mc+(betta/(1+betta*lamP))*pic(1) +(lamP/(1+betta*lamP))*pic(-1)+1/2*(1/(muP-1)-3)*(1/(1+betta*lamP))*eps_P; // ----------------------- Bank [name = 'Banking Balance Sheet'] sl*l+szb*zb=sd*d+skB*kB+sdc*dc; [name = 'Optimal Relationship Between Deposit and Loan Rate'] rd=rc; [name = 'Optimal Relationship Between Houshol and Loan Rate'] (srh/(src-srh))*rh-(src/(src-srh))*rc=(2+1/(1-car))*(kB-lh); [name = 'Optimal Relationship Between Firm and Loan Rate'] (srm/(src-srm))*rm-(src/(src-srm))*rc=(2+1/(1-car))*(kB-lm); zb=rho_zb*zb(-1)+sai_zb_y*y+sai_zb_q*q+eps_zb; rm+rh=rd; sl*l=slm*lm+slh*lh; rd=rho_rd*rd(-1)+(1-rho_rd)*(rho_rd*pic(-1)+omagy_rmb*(y(-1)-y)); l*sl=rr*srr+sd*d; // --------------------------- Central Bank & Governer [name = 'Central Bank'] mb=(sfr/smb)*fr+(sdg*smb)*dg+(sdc/smb)*dc; fr=fr(-1)-pi_star+omag_or*(sor/sfr)*or; [name = 'Monetary & Exchange Rate Policy'] rmb=rho_rmb*rmb(-1)+omagy_rmb*y+omagpic_rmb*pic+eps_rmb; mb=mb(-1)+rmb-pic; [name = 'Government Budget Constraint'] g=(sor/sg)*or+(sT/sg)*T+(sdg/sg)*dg+smb/sg*(mb-mb(-1)-pic); [name = 'Government Budget Constraint'] T=tau*y; //------------------- Market clearance y=(sc/sy)*c+(sI/sy)*I+(sg/sy)*g+(sor/sy)*or; c=omag*(scp/sc)*cp+(1-omag)*(scI/sc)*cI; h=omag*(shp/sh)*hp+(1-omag)*(shI/sh)*hI; m=omag*(sm_cp/sm)*m_cp+(1-omag)*(sm_cI/sm)*m_cI; [name = 'Investment shock'] eps_I=aI*eps_I+u_I; [name = 'technology shock'] eps_A=rhoa*eps_A+u_a; [name = 'Price shock'] eps_P=a1p*eps_A+u_p; [name = 'oil revenue proc'] or=rho_or*or(-1)+u_or; [name = 'Frozen Assets Shock shock'] eps_zb=rho_zb*eps_zb+u_zb; [name = 'Bank Debt to Central Bank proc'] dc=rho_dc*dc(-1)+u_dc; [name = 'Government Debt to Central Bank proc'] dg=rho_dg*dg(-1)+u_dg; [name = 'Monetary Base shock'] eps_rmb=rho_rmb*eps_rmb+u_rmb; [name = 'Government Expendicher Proce'] g=rho_g*g(-1)+u_g; [name = 'Reserves Proce'] rr=rho_rr*rr(-1)+u_rr; end; //------------------------------------------------------------------------- // Steady States //------------------------------------------------------------------------- steady; check; //------------------------------------------------------------------------- // Determine Shock Size //------------------------------------------------------------------------- shocks; var u_I= 0.1^2; var u_a= 0.1^2; var u_p= 0.1^2; var u_or= 0.1^2; var u_zb= 0.1^2; var u_dc= 0.1^2; var u_dg= 0.1^2; var u_rmb= 0.1^2; var u_g=0.1^2; var u_rr=0.1^2; end; //------------------------------------------------------------------------- // Simulation //------------------------------------------------------------------------- stoch_simul (periods=2100,irf=30); //relative_irf,irf=100,nodisplay,conditional_variance_decomposition[1:5]=