% Housing finance and financial crisis

@# define bank = 1 
@# define adjcost = 1
//@# define expectedPC = 1
@# define policyexper = 1
@# define bankbailout =0
@# define debtrelief = 1
@# define transfer =0

var
omegap      
omega_en    
phik        
phih        
Fp
Fe 
bprofh1 
bprofe1
aj
b    
c    
c1
dp   
dw
dw1
h1
ik
k
n    
n1  
q
qk
r    
uc   
uc1  
w    
w1
xp
xw
xw1
y
rl  
rr
rreh
rre_en
re 
b_en 
rrk 
rrh 
h_en 
n_en    
Ge 
Gammae 
dGe 
Gp 
Gammap 
dGp
wb 
aczh
bout
taup
trans 
Delaclonb
nb
bprofh
bprofe
aclonb
zp 
ze
// policyvar
;

varexo 
eps_j
dummy_MP
eps_p0  
;


//%-----------------------------------------------------------------------
//% Declare model parameters
//%------------------------------------------------------------------------

parameters 
BETA BETA1 EC ETA CHI CHI1 M ALPHA KAPPAK DK LAGP LAGW PIBAR
TAYLOR_P TAYLOR_R TAYLOR_Y TETAP TETAW XP_SS XW_SS   // SIGMA PHIK 
RHO_J RHO_P RHO_R RHO_W RHO_Z ITAYLOR_W 
STD_J STD_K STD_P STD_R STD_W STD_Z
RHO_RISK SIGMA_SS MU F_SS
HYRATIO
RR_SS RK_SS NU
OMEGA_SS G_SS RD_SS RHO_SS RL_SS
GAMMA1 GAMMA2 GAMMA3 GAMMA4 GAMMAK GAMMACI GAMMA5 N1_SS  // Ac Bc  
N_SS Y_SS QH_SS C1_SS C_SS K_SS I_SS W_SS W1_SS H_SS H1_SS B_SS
GAMMA_SS RRE_SS // MUM_SS 
HHLEV Z_SS 
NUK RHO_RISKE SIGMAE_SS MUE GAM WE SPE DG_SS
ZE_SS GE_SS OMEGAE_SS GAMMAE_SS DGE_SS EFP_SS RH_SS LEVE_SS GAMMA6
HE_SS NE_SS GAMMAH RE_SS BE_SS vrho QB_SS KAPPAZH  
IEAC CHOFH_SS CHOFE_SS YENT_SS YP_SS YI_SS GDP_SS
EXPER 
Fpdf_SS FEpdf_SS FE_SS

@# if bank
DIV_SS     // GAMMABD XIMB_SS MB ECB KAPPADB   
KAPPAHB KAPPAEB  SP1_SS 
CAR_SS FILONB DB RHOBH RHOBE
@# endif
;


RHO_RISK = 0.9;
MU = 0.17;  // 0.12;
F_SS = 0.015/4;
HYRATIO = 1.7*4;   // HH residential real estate GDP ratio, (H_SS + H1_SS)QH_SS/Y_SS 
HHLEV   = 0.31;    // 0.37;
M       = 0.85;    // LTV of household borrowers
ITAYLOR_W = 0;
vrho = 1-1/30;
KAPPAZH = 4.0; 
IEAC = 1;
EC	=	0.65;  
KAPPAK =   2; 
NU =1 -0.35; 

// Entrepreneurs
NUK = 0.05; // 0.06; //0.07;              
RHO_RISKE = 0.9;
 FE_SS = 0.005588569300000;
MUE=0.214894511100000; 
SPE = 1+ 0.024/4; // 1+0.02934/4;
GAM = 0.982; // 0.985; 

@# if bank
SP1_SS = 1.5/400;
KAPPAHB = 0.0; //0.4; // Iacoviello(2015) 0.47;   
KAPPAEB = 0.0; //0.1; // Iacoviello(2015) 0.07; 
CAR_SS = 0.1; // 0.09; // Gerali et al (2010), p.124
MB = CAR_SS; 
FILONB =   60; // Gerali et al (2010), p.124
RHOBH = 0.9; // 0.75;
RHOBE = 0.9; // 0.75;
@# endif

//%%%%%%%%%%%%%%%%%%%%%%%%%%

TAYLOR_P	=	2.0; 
TAYLOR_R	=	0.7; 
TAYLOR_Y	=	0.5/4; 
TETAP	=0.85; 
TETAW	=0.9; 
RHO_J	=	0.97;  // 0.98; // 0.9934	;
RHO_R	=	0.0;   // 0.6382	;
RHO_Z	=	0;     // 0.7793	;
RHO_P   =   0.0;
RHO_W   =   0.0;
STD_J	=	0.1;   // 0.0441;
STD_R	=	0.0013	;
STD_K	=	0.0418	;
STD_P	=	0.003	;
STD_W	=	0.01	;
STD_Z	=	0.0145	;

ALPHA   =   0.3070; // 0.33; // 0.300000;
BETA    =   0.995000;
DK      =   0.022568; //0.03; // 0.04; // 0.025000;
ETA     =   1.000000;
LAGP    =   0.000000;
LAGW    =   0.000000;
PIBAR   =   1.005000;
XP_SS   =   1.200000;
XW_SS   =   1.200000;

RR_SS = PIBAR / BETA ;
// RK_SS = 1/BETA - (1-DK) ;
OMEGA_SS = M;
SIGMA_SS = call_csolve3(F_SS,OMEGA_SS);
Z_SS = norminv(F_SS,0,1);
G_SS = normcdf(Z_SS-SIGMA_SS,0,1);
DG_SS = normpdf(Z_SS,0,1)*(1/SIGMA_SS); 
RD_SS = G_SS / OMEGA_SS ;
RHO_SS = 1 - F_SS + (1-MU)*RD_SS;
// Fpdf_SS = lognpdf(OMEGA_SS,-0.5*SIGMA_SS^2,SIGMA_SS);
Fpdf_SS = normpdf(Z_SS,0,1);
GAMMA_SS = (1- F_SS )* OMEGA_SS + G_SS;

@# if bank 
// financial sector
RRE_SS = 1/ BETA + SP1_SS; 
DB = 1/ BETA -1;
//GAMMABD = (1 + (SP1_SS * BETA)/MB)^(-1);
// XIMB_SS = 1 - GAMMABD;
@# else
// From the assumption of perfect competition for banking sector
RRE_SS = 1/ BETA; 
@# endif


RL_SS = RRE_SS * OMEGA_SS/(GAMMA_SS - MU * G_SS);
// MUM_SS = 1/RRE_SS;
// BETA1 = ((1 -F_SS - MU*OMEGA_SS*Fpdf_SS)/(1 -F_SS)) / RRE_SS;
BETA1 = ((1 -F_SS - MU*DG_SS)/(1 -F_SS)) / RRE_SS;
QB_SS = 1/(RL_SS -vrho);

// entrepreneur

EFP_SS = SPE;
SIGMAE_SS = call_csolve4(FE_SS,SPE, MUE);
ZE_SS = norminv(FE_SS,0,1);
OMEGAE_SS = exp(SIGMAE_SS*ZE_SS - 0.5*SIGMAE_SS^2);
GE_SS = normcdf(ZE_SS-SIGMAE_SS,0,1); 
GAMMAE_SS = (1- FE_SS )* OMEGAE_SS + GE_SS;
DGE_SS = normpdf(ZE_SS,0,1)*(1/SIGMAE_SS);
FEpdf_SS = normpdf(ZE_SS,0,1);
// EFP_SS = ((1-FE_SS)/(1-FE_SS - MUE * DGE_SS))/(1-GAMMAE_SS + (1-FE_SS)/(1-FE_SS - MUE * DGE_SS)*(GAMMAE_SS - MUE * GE_SS));
RK_SS = EFP_SS * RRE_SS;
RH_SS = RK_SS; 
LEVE_SS = (1-EFP_SS*(GAMMAE_SS - MUE * GE_SS))^(-1);
RE_SS = OMEGAE_SS/(GAMMAE_SS - MUE * GE_SS)*RRE_SS;

GAMMA1= 1/(1-BETA);
GAMMA2= 1/(1 - BETA1 * (1-GAMMA_SS) - BETA1 *((1 -F_SS)/(1 -F_SS - MU*DG_SS))*(GAMMA_SS - MU*G_SS));
GAMMA3= GAMMA_SS - OMEGA_SS/RL_SS;
GAMMA4= (1-NU)*(1-ALPHA)/XP_SS;
// GAMMAK = ALPHA /(XP_SS * RK_SS);
GAMMAK = (1-NUK)*ALPHA /(XP_SS * (RK_SS -1 + DK));
GAMMAH = NUK*ALPHA /(XP_SS * (RH_SS -1));

// CHI1= (HHLEV*HYRATIO/(M))/(GAMMA2*GAMMA4-GAMMA2*GAMMA3*HHLEV*HYRATIO/(M));
// CHI1= (HHLEV*(HYRATIO-GAMMAH)/(M))/(GAMMA2*GAMMA4-GAMMA2*GAMMA3*HHLEV*(HYRATIO-GAMMAH)/(M));
CHI1= (HHLEV*(HYRATIO)/(M))/(GAMMA2*GAMMA4-GAMMA2*GAMMA3*HHLEV*(HYRATIO)/(M));

//Ac = GAMMA1*GAMMA2*GAMMA3*(1-DK*GAMMAK) + GAMMA1*GAMMA2*GAMMA4*MU*G_SS;
//Bc = GAMMA1*(1-DK*GAMMAK-GAMMA4) + GAMMA2*GAMMA4 - GAMMA2*GAMMA3*HYRATIO;
//CHI = (-Bc + (Bc^2 + 4*Ac*HYRATIO)^(1/2))/(2*Ac);
// CHI = call_csolve1(DK, HYRATIO, GAMMA1, GAMMA2, GAMMA3, GAMMA4, GAMMAK);

GAMMACI= GAMMA4/(1+CHI1*GAMMA2*GAMMA3);
GAMMA5= 1 - GAMMACI*(1+MU*G_SS*CHI1*GAMMA2) -DK*GAMMAK - MUE*GE_SS*RK_SS*(GAMMAK + GAMMAH);
//CHI = (HYRATIO - CHI1*GAMMA2*GAMMACI -GAMMAH)/(GAMMA1*GAMMA5);
CHI = (HYRATIO - CHI1*GAMMA2*GAMMACI)/(GAMMA1*GAMMA5);

N1_SS= ((1-NU)*(1-ALPHA) / (XP_SS * XW_SS * GAMMACI))^(1/(ETA+1));
N_SS = (NU*(1-ALPHA) /(XP_SS * XW_SS * GAMMA5))^(1/(ETA+1));

//Y_SS = N_SS^(NU) * N1_SS^(1-NU) * (GAMMAK)^(ALPHA/(1-ALPHA));
GAMMA6 = N_SS^(NU) * N1_SS^(1-NU) * (GAMMAH^NUK * GAMMAK^(1-NUK))^(ALPHA/(1-ALPHA));
Y_SS = (GAMMA6 * (HYRATIO+GAMMAH)^(-NUK*ALPHA/(1-ALPHA)))^((1-ALPHA)/(1-ALPHA+ALPHA*NUK));
        
QH_SS = (HYRATIO +GAMMAH) * Y_SS;
C1_SS= GAMMACI * Y_SS;
C_SS= GAMMA5 * Y_SS;
K_SS = GAMMAK*Y_SS; 
I_SS = DK*K_SS;
W_SS = NU*(1-ALPHA)* Y_SS/(XP_SS*N_SS);
W1_SS = (1-NU)*(1-ALPHA) *Y_SS/(XP_SS*N1_SS);
H_SS = CHI*GAMMA1*C_SS/QH_SS;
H1_SS= CHI1*GAMMA2*C1_SS/QH_SS;
HE_SS= GAMMAH*Y_SS/QH_SS;
B_SS = OMEGA_SS*QH_SS*H1_SS/RL_SS;
NE_SS = (K_SS + QH_SS*HE_SS)/LEVE_SS;
BE_SS = K_SS + QH_SS*HE_SS - NE_SS;
CHOFH_SS = (F_SS - (1-MU)*G_SS/OMEGA_SS * RL_SS) *400;
CHOFE_SS = (FE_SS - (1-MUE)*GE_SS/OMEGAE_SS *RE_SS)*400;
YENT_SS = ((1- GAMMAE_SS)*RK_SS*LEVE_SS -1)*NE_SS; 
YI_SS = W1_SS*N1_SS;
WE = (1- GAM*(1-GAMMAE_SS)*LEVE_SS*RK_SS)*NE_SS;
GDP_SS = C1_SS + C_SS + I_SS;
@# if bank 
//DIV_SS = (SP1_SS + MB*(1/BETA-1)) * (B_SS + BE_SS);
DIV_SS = DB * CAR_SS * (B_SS + BE_SS);
YP_SS = W_SS*N_SS + (XP_SS-1)/XP_SS*Y_SS + DIV_SS + YENT_SS + (1/BETA -1)*(1- MB)*(B_SS + BE_SS);
@# else
YP_SS = W_SS*N_SS + (XP_SS-1)/XP_SS*Y_SS + YENT_SS + (1/BETA -1)*(B_SS + BE_SS);
@# endif

@# if bankbailout
//EXPER =0.01*(4*Y_SS)/(MB*(B_SS + BE_SS)); // 0.0838 with CAR_SS = 0.09                                           // 0.0754 with CAR_SS = 0.10
EXPER =0.01*(4*GDP_SS);
@# endif

@# if debtrelief
EXPER =0.01*(4*GDP_SS)/(RL_SS*B_SS); // 1% annual GDP corresponding to 1.6% household loan                                         // 0.0754 with CAR_SS = 0.10
@# endif

@# if transfer
EXPER =0.01*(4*GDP_SS); // 1% annual GDP corresponding to 1.6% household loan                                         // 0.0754 with CAR_SS = 0.10
@# endif


//%------------------------------------------------------------
//% Model equations
//%------------------------------------------------------------

model;

//# dp1=dp(-1);
//# dp2=dp(-2);
//# dp3=dp(-3);

//% 1 resource constraint
c + c1 + (1 + (ik/ik(-1)- 1)^2)* ik 
+ MU*Gp*q*h1(-1) + MUE*Ge*(rrk*qk(-1)*k(-1) + rrh*q(-1)*h_en(-1)) 
+ aczh + aclonb = y;

// patient households
//% 2
// uc = BETA * r/dp(1)*uc(1);
uc = BETA * rr * uc(1);

//% 3
w*uc/xw = n^ETA;

//% 4 : 
q*uc = CHI*aj/(1-h1-h_en) + BETA*q(+1)*uc(1);

// impatient households
//% 5
c1 + q*h1 + aczh = w1*n1 + b + (1-Gammap)*q*h1(-1) + trans;

//% 6
uc1*(1 - KAPPAZH*(b - (1-taup)* b(-1))/B_SS) = 
BETA1 * (rreh * ((1 - Fp(+1))/(1 - Fp(+1) - MU*dGp(+1)))-IEAC*KAPPAZH*(b(+1) - b)/B_SS) * uc1(1);

//% 7
w1*uc1/xw1 = n1^ETA;

//% 8
q*uc1 = CHI1*aj/h1 + BETA1*q(+1)*uc1(1) *(1 - Gammap(+1) 
         + (1 - Fp(+1))/(1 - Fp(+1) - MU*dGp(+1))*(Gammap(+1) - MU*Gp(+1)));

//% 9
(Gammap(+1) - MU * Gp(+1)) * q(+1) * h1 = rreh * b;


// Entrepreneurs

//% 10-11
rrk = (ALPHA*(1-NUK)*y/(xp*k(-1)) + (1-DK)*qk)/qk(-1);     // (rk + (1-DK)*qk)/qk(-1);
rrh = (ALPHA* NUK *y/(xp*h_en(-1)) + q)/q(-1);             // (rh + q)/q(-1);

//% 12-13
phik = qk * k / n_en;
phih = q * h_en / n_en;

//% 14-15
(1-Gammae(+1))*rrk(+1) + (1-Fe(+1))/(1-Fe(+1) - MUE*dGe(+1))*((Gammae(+1) - MUE*Ge(+1))*rrk(+1) - rre_en) =0; 
(1-Gammae(+1))*rrh(+1) + (1-Fe(+1))/(1-Fe(+1) - MUE*dGe(+1))*((Gammae(+1) - MUE*Ge(+1))*rrh(+1) - rre_en) =0; 

//% 16
(Gammae(+1) - MUE*Ge(+1))*(rrk(+1)*phik + rrh(+1)*phih) = rre_en*(phik + phih -1);

//% 17
n_en = GAM * (1-Gammae) * (rrk*phik(-1) + rrh*phih(-1)) * n_en(-1) + WE;

//% 18
qk * k + q * h_en = b_en + n_en;


//% Production and nominal rigidities
//% 19
y = n^((1-ALPHA)*(NU))*n1^((1-ALPHA)*(1-NU))*k(-1)^(ALPHA*(1-NUK))*h_en(-1)^(ALPHA*NUK) ;

//% 20
(1-ALPHA)*NU*y = xp*w*n ;

//% 21
(1-ALPHA)*(1-NU)*y = xp*w1*n1 ;

//% 22
log(dp/PIBAR) - LAGP*log(dp(-1)/PIBAR) = BETA*(log(dp(1)/PIBAR)-LAGP*log(dp/PIBAR)) -
((1-TETAP)*(1-BETA*TETAP)/TETAP)*(log(xp/XP_SS));

//% 23
log(dw/PIBAR) - LAGW*log(dw(-1)/PIBAR) = BETA*(log(dw(+1)/PIBAR)-LAGW*log(dw/PIBAR)) - 
((1-TETAW)*(1-BETA*TETAW)/TETAW)*log(xw/XW_SS) ;

//% 24
log(dw1/PIBAR) - LAGW*log(dw1(-1)/PIBAR) = BETA*(log(dw1(+1)/PIBAR)-LAGW*log(dw1/PIBAR)) - 
((1-TETAW)*(1-BETA*TETAW)/TETAW)*log(xw1/XW_SS) ;  // + log(aw) 

//% 25
log(r) = dummy_MP*0+(1-dummy_MP)*(TAYLOR_R*log(r(-1)) 
+ (1-TAYLOR_R)*(TAYLOR_P)*(0.25*log(dp/PIBAR)+0.25*log(dp(-1)/PIBAR)+0.25*log(dp(-2)/PIBAR)+0.25*log(dp(-3)/PIBAR)) 
+ (1-TAYLOR_R)*TAYLOR_Y*(log(y/Y_SS)) + (1-TAYLOR_R)*log(PIBAR/BETA));

//% 26
rr = r/dp(1);  // real interest 

//% 27-28
uc = (1-EC)/(1-BETA*EC)*(1/(c-EC*c(-1))-BETA*EC/(c(+1)-EC*c)) ;
uc1 = (1-EC)/(1-BETA1*EC)*(1/(c1-EC*c1(-1))-BETA1*EC/(c1(+1)-EC*c1)) ;

//% 29
k = ik + (1-DK)*k(-1);

//% 30
qk =  1 + (KAPPAK/2) * (ik/ik(-1)- 1)^2 + KAPPAK * (ik/ik(-1)-1) * (ik / ik(-1)) 
     - BETA* (uc(+1)/uc) * KAPPAK * (ik(+1)/ik-1) * (ik(+1)/ik)^2;

//% 31-32
dw = w*dp/w(-1);
dw1 = w1*dp/w1(-1);

// modelling default  
//% 33 the contractual interest, re, is determined in this equation.
omega_en = (re(-1) * b_en(-1))/(rrk*qk(-1)*k(-1) + rrh*q(-1)*h_en(-1));

//% 34
Fe = normcdf(ze,0,1);
//log(Fe/FE_SS) =  FEpdf_SS/(FE_SS*SIGMAE_SS)* log(omega_en/OMEGAE_SS);

//% 35
Ge = normcdf(ze - SIGMAE_SS,0,1);
//log(Ge/GE_SS) =  FEpdf_SS*OMEGAE_SS/(GE_SS*SIGMAE_SS) * log(omega_en/OMEGAE_SS);

//% 36
Gammae = omega_en * (1-Fe) + Ge;
//log(Gammae/GAMMAE_SS) = (1- FE_SS)/GAMMAE_SS*OMEGAE_SS * log(omega_en/OMEGAE_SS);

//% 37
dGe = normpdf(ze,0,1)*(1/SIGMAE_SS);
//log(dGe/DGE_SS) =  - FEpdf_SS/(DGE_SS*SIGMAE_SS) * log(omega_en/OMEGAE_SS); 

//% 38 the contractual interest, rl, is determined in this equation.
omegap = rl(-1) * (1-taup) * b(-1) / (q * h1(-1));
 
//% 39
 Fp = normcdf(zp,0,1);
//log(Fp/F_SS) = Fpdf_SS/(F_SS*SIGMA_SS) * log(omegap/OMEGA_SS);

//% 40
Gp = normcdf(zp - SIGMA_SS,0,1);
//log(Gp/G_SS) = Fpdf_SS*OMEGA_SS/(G_SS*SIGMA_SS)*log(omegap/OMEGA_SS);

//% 41
 Gammap = omegap * (1-Fp) + Gp;
//log(Gammap/GAMMA_SS) = (1 - F_SS)/GAMMA_SS*OMEGA_SS * log(omegap/OMEGA_SS);

//% 42
dGp = normpdf(zp,0,1)*(1/SIGMA_SS);
// log(dGp/DG_SS) = - Fpdf_SS/(DG_SS*SIGMA_SS) * log(omegap/OMEGA_SS); 


// financial sector

//% 43
wb = b + b_en;

//% 44-45
bprofh1 =  (Gammap - MU * Gp) * q * h1(-1) -rreh(-1) * (1-taup) * b(-1);
bprofe1 = ((Gammae - MUE*Ge)*(rrk*phik(-1) + rrh*phih(-1)) - rre_en(-1)*(phik(-1) + phih(-1) -1))* n_en(-1) ;

//% 46
rreh - rr = SP1_SS + Delaclonb;

//% 47
rre_en = rreh;

//% 48
aclonb = (FILONB/2)*(nb/wb - CAR_SS)^2 * nb;

//% 49
Delaclonb = -(FILONB)*(nb/wb - CAR_SS) * (nb/wb)^2;

//% 50
nb = (1-DB)*nb(-1) + bprofh + bprofe + (rreh(-1) - rr(-1)) * b(-1) 
     + (rre_en(-1) - rr(-1)) * b_en(-1) + bout + 
     + (rr(-1)-1) * nb(-1) - SP1_SS*(b(-1)+ b_en(-1)) - aclonb(-1); 

//% 51-52
bprofh = RHOBH*bprofh(-1) + bprofh1;
bprofe = RHOBE*bprofe(-1) + bprofe1;

//% SHOCKS
//% 53
log(aj) = RHO_J*log(aj(-1)) - eps_j;

//% 54
aczh = KAPPAZH/2*( b - (1-taup) * b(-1))^2/B_SS;

//% 55-57
taup = eps_p0;
bout = 0;
trans = 0;

//% 58 
ze = (log(omega_en) + 0.5*(SIGMAE_SS)^2)/SIGMAE_SS;

//% 59
zp = (log(omegap) + 0.5*(SIGMA_SS)^2)/SIGMA_SS;


end ;


initval;

aj = 1 ;
aczh = 0;
b  = B_SS ;  
c  = C_SS ;  
c1 = C1_SS ;
dp  = PIBAR ;  
dw = PIBAR ;
dw1= PIBAR ;
h1 = H1_SS;
ik = I_SS;
k = K_SS;
n = N_SS;   
n1 = N1_SS; 
q = QH_SS;
qk = 1;
r = RR_SS;  
uc = 1/C_SS;  
uc1 = 1/C1_SS; 
w = W_SS;   
w1 = W1_SS;
xp = XP_SS;
xw = XW_SS;
xw1= XW_SS;
y = Y_SS;
rl = RL_SS;
omegap = OMEGA_SS;
rr =  RR_SS / PIBAR;
rreh = RRE_SS;
rre_en = RRE_SS;
wb = B_SS + BE_SS;
omega_en= OMEGAE_SS;
re = RE_SS;
b_en = BE_SS;
rrk = RK_SS; 
rrh = RH_SS; 
h_en = HE_SS;
phik = K_SS/NE_SS; 
phih = QH_SS*HE_SS/NE_SS;
n_en = NE_SS;   
Fe = FE_SS;
Ge = GE_SS;
Gammae = GAMMAE_SS;
dGe = DGE_SS;
Fp = F_SS;
Gp = G_SS;
Gammap = GAMMA_SS;
dGp = DG_SS;
bprofh1= 0;
bprofe1= 0;
bout = 0;
taup = 0;
trans = 0;
//policyvar = 0;
nb = MB*(B_SS + BE_SS);
bprofh =0;
bprofe =0;
aclonb =0;
Delaclonb =0;
zp = Z_SS;
ze = ZE_SS; 

end;


endval;
aj = 1 ;
aczh = 0;
b  = B_SS ;  
c  = C_SS ;  
c1 = C1_SS ;
dp  = PIBAR ;  
dw = PIBAR ;
dw1= PIBAR ;
h1 = H1_SS;
ik = I_SS;
k = K_SS;
n = N_SS;   
n1 = N1_SS; 
q = QH_SS;
qk = 1;
r = RR_SS;  
uc = 1/C_SS;  
uc1 = 1/C1_SS; 
w = W_SS;   
w1 = W1_SS;
xp = XP_SS;
xw = XW_SS;
xw1= XW_SS;
y = Y_SS;
rl = RL_SS;
omegap = OMEGA_SS;
rr =  RR_SS / PIBAR;
rreh = RRE_SS;
rre_en = RRE_SS;
wb = B_SS + BE_SS;
omega_en= OMEGAE_SS;
re = RE_SS;
b_en = BE_SS;
rrk = RK_SS; 
rrh = RH_SS; 
h_en = HE_SS;
phik = K_SS/NE_SS; 
phih = QH_SS*HE_SS/NE_SS;
n_en = NE_SS;   
Fe = FE_SS;
Ge = GE_SS;
Gammae = GAMMAE_SS;
dGe = DGE_SS;
Fp = F_SS;
Gp = G_SS;
Gammap = GAMMA_SS;
dGp = DG_SS;
bprofh1= 0;
bprofe1= 0;
bout = 0;
taup = 0;
trans = 0;
//policyvar = 0;
nb = MB*(B_SS + BE_SS);
bprofh =0;
bprofe =0;
aclonb =0;
Delaclonb =0;
zp = Z_SS;
ze = ZE_SS; 

end;


steady;
check;

//%------------------------------------------------------------
//% Declare shocks
//%------------------------------------------------------------


shocks;
// var eps_j ; stderr 0.0747;   // STD_J  ;

var dummy_MP;
periods 1:4;
values 1;

var eps_p0; // stderr EXPER;
periods 1;
values 0.018902863248295;  // EXPER= 0.01*(4*GDP_SS)/(RL_SS*B_SS)

end;

options_.slowc     =   1;
options_.maxit_     =   1000;
simul(periods=500);     

//stoch_simul(order=1,irf=40, irf_shocks=(eps_j));

