Please help with the basic RBC model

Hi,I am confused with the basic rbc code as follows, the first line in the model block is
(1/c) = beta*(1/c(+1))(1+alpha(k^(alpha-1))(exp(z(+1))l(+1))^(1-alpha)-delta);
When I change the timing into
(1/c) = beta
(1/c(+1))
(1+alpha*(k(+1)^(alpha-1))*(exp(z(+2))*l(+2))^(1-alpha)-delta);
That is , to postpone the interest rate one period, the two impulse response results are exactly the same. Could anyone tell me why the change of timing doesn’t change the result. Thanks a lot.

[code]% Basic RBC Model
%
% Jesus Fernandez-Villaverde
% Philadelphia, March 3, 2005

%----------------------------------------------------------------
% 0. Housekeeping (close all graphic windows)
%----------------------------------------------------------------

close all;

%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------

var y c k i l y_l z;
varexo e;

parameters beta psi delta alpha rho;

%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------

alpha = 0.33;
beta = 0.99;
delta = 0.023;
psi = 1.75;
rho = 0.95;
sigma = (0.007/(1-alpha));

%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------

model;
(1/c) = beta*(1/c(+1))(1+alpha(k^(alpha-1))(exp(z(+1))l(+1))^(1-alpha)-delta);
psi
c/(1-l) = (1-alpha)
(k(-1)^alpha)(exp(z)^(1-alpha))(l^(-alpha));
c+i = y;
y = (k(-1)^alpha)*(exp(z)*l)^(1-alpha);
i = k-(1-delta)k(-1);
y_l = y/l;
z = rho
z(-1)+e;
end;

%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------

initval;
k = 9;
c = 0.76;
l = 0.3;
z = 0;
e = 0;
end;

shocks;
var e = sigma^2;
end;

steady;

stoch_simul(hp_filter = 1600, order = 1);

%----------------------------------------------------------------
% 5. Some Results
%----------------------------------------------------------------

statistic1 = 100*sqrt(diag(oo_.var(1:6,1:6)))./oo_.mean(1:6);
dyntable(‘Relative standard deviations in %’,strvcat(‘VARIABLE’,‘REL. S.D.’),M_.endo_names(1:6,:),statistic1,10,8,4);
[/code]

You are wrong, the IRFs do change. However, due to the large persistence and low time-preference, basically everythings looks the same, because the changes are tiny. For example, y increases on impact by 1.049 instead of 1.068%.

I get it.Thank you very much.
I am still confused of the timing of the real interest rate in the decentralized RBC model.
In period t, firm produce with given capital stock k(-1), and have the capital demand function for k in period t+1, together with the capital supply function given by household, k and the interest rate is determined. But in period t+1,with techology shock, the output is different from the expected output in period t, and capital k is given in period t, then the marginal product of capital is not the same with the interest rate determined in period t. As in dynare the timing of a variable reflects when the variable is decided, I don’t know what is the timing of the real interest rate in dynare.
I still wonder in the decentralized RBC model, in period t as firm choose capital k used in period t+1, I should input
alphay(+1)/k=r instead of alphay/k(-1)=r(-1), is it right?
Thanks a lot.

First of all, if you are confused, you can just use the standard paper notation (beginning of period stock notation) together with

Second, in Dynare’s end of period stock notation the interest rate at time t is

Only k is determined in the previous period. y can move at time t (e.g. when technology moves). Thus, r will also be determined at time t. For the expected real interest rate, shift everything by one period.

Thanks a lot!