Fixed example ep/rbcii.mod (RBC model with endogenous labour supply and irreversible investment).

The leaded lagrange multiplier (associated with the positivity constraint on investment) was missing in the Euler equation.
time-shift
Stéphane Adjemian (Charybdis) 2014-01-17 12:05:46 +01:00
parent 0bec3c7550
commit 94fa6144bd
2 changed files with 9 additions and 11 deletions

View File

@ -1,6 +1,6 @@
@#define extended_path_version = 1
var Capital, Output, Labour, Consumption, Investment, Output1, Labour1, Consumption1, Output2, Labour2, Consumption2, Efficiency, efficiency, ExpectedTerm;
var Capital, Output, Labour, Consumption, Investment, Output1, Labour1, Consumption1, Output2, Labour2, Consumption2, Efficiency, efficiency, ExpectedTerm, LagrangeMultiplier;
varexo EfficiencyInnovation;
@ -10,29 +10,27 @@ parameters beta, theta, tau, alpha, psi, delta, rho, effstar, sigma;
** Calibration
*/
beta = 0.990;
theta = 0.357;
tau = 2.000;
alpha = 0.450;
psi = -0.500;
psi = -0.200;
delta = 0.020;
rho = 0.995;
rho = 0.800;
effstar = 1.000;
sigma = 0.100;
rho = 0.800;
model(use_dll);
efficiency = rho*efficiency(-1) + sigma*EfficiencyInnovation;
Efficiency = effstar*exp(efficiency-.5*sigma*sigma/(1-rho*rho));
Efficiency = effstar*exp(efficiency);
(((Consumption1^theta)*((1-Labour1)^(1-theta)))^(1-tau))/Consumption1 - ExpectedTerm(1);
(((Consumption1^theta)*((1-Labour1)^(1-theta)))^(1-tau))/Consumption1 - beta*ExpectedTerm(1) + LagrangeMultiplier(1)*beta*(1-delta);
ExpectedTerm = beta*((((Consumption^theta)*((1-Labour)^(1-theta)))^(1-tau))/Consumption)*(alpha*((Output/Capital(-1))^(1-psi))+1-delta);
ExpectedTerm = ((((Consumption^theta)*((1-Labour)^(1-theta)))^(1-tau))/Consumption)*(alpha*((Output/Capital(-1))^(1-psi))+1-delta);
LagrangeMultiplier = max(0, (((Consumption^theta)*((1-Labour)^(1-theta)))^(1-tau))/Consumption - beta*ExpectedTerm(1) + LagrangeMultiplier(1)*beta*(1-delta));
((1-theta)/theta)*(Consumption1/(1-Labour1)) - (1-alpha)*(Output1/Labour1)^(1-psi);

View File

@ -35,7 +35,7 @@ function [ys_, params, info] = rbcii_steadystate2(ys_, exo_, params)
ys_(5)=params(6)*ys_(1);
% Steady state level of the expected term appearing in the Euler equation
ys_(14)=params(1)*(ys_(4)^params(2)*(1-ys_(3))^(1-params(2)))^(1-params(3))/ys_(4)*(1+params(4)*(ys_(2)/ys_(1))^(1-params(5))-params(6));
ys_(14)=(ys_(4)^params(2)*(1-ys_(3))^(1-params(2)))^(1-params(3))/ys_(4)*(1+params(4)*(ys_(2)/ys_(1))^(1-params(5))-params(6));
% Steady state level of output in the unconstrained regime (positive investment)
ys_(6)=ys_(2);