# 2 Sectors RBC with Costly Capital Reallocation - Occbin

Dear All,

I am trying to replicate on Dynare the (cobb-douglas) model introduced by Ramey&Shapiro(1998).

The model is a 2 sectors RBC model with government purchases and costly capital reallocation. It is summarized in the following short pdf:
ramey_shapiro1998.pdf (178.5 KB)

The shock consists of extra persistent government purchases from sector 2 (i.e. it simulates the effects of a military build-up). The social planner in the model can build up the capital stock in sector 2 by either:

• Giving up consumption of good 2 (standard Euler equation - consumption saving trade-off).
• Shifting capital from sector 1 to sector 2. However shifting capital is costly (extra depreciation \gamma = 0.50).

Denoting by R_1 the amount of capital shifted from sector 1 to sector 2, we must have that R_1 \ge 0, which represents my occasionally binding constraint. In Dynare I write:

occbin_constraints;
name ‘shift’; bind r1 > 0;
end;

I intend to solve the model in perfect foresight, starting from a steady state where R_1 = 0, which represents the binding regime M1, to use the same notation in Guerrieri&Iacoviello(2015).

In response to the shock (dG_2>0), I expect to observe some capital shifted from sector 1 to sector 2 (this is what happens in the original paper). In this case, R_1>0, which represents the “relax-regime” M2.

My Problem: Even if my code runs without errors, capital is never shifted, i.e. R_1 =0 in all the periods of the occbin simulation. Assuming I correctly specified the model (I obtain the same steady state reported in the paper), there must be something incorrect in the way I coded up the occasionally binding constraint.

My code is available here:
RS98_occbin.mod (3.8 KB)

Edoardo

The baseline regime is relax-one. Your model will start there. But your condition is

r1=0;


So in that regime, you impose r1 to never increase.

1 Like

Dear Johannes,
Unfortunately, I still can’t figure out how to fix my issue.

Here is my reasoning:
The FOC of the Lagrangean with respect to R_{1,t} (sales of capital from sector 1 to 2) are:
\lambda_{1,t} \cdot (1 + MPK_{1,t}) = \psi + \lambda_{2,t} \cdot (1-\gamma)
where \lambda_{i,t} is the marginal utility of consumption of good i, \psi is the Lagrange multiplier of the non-negativity constraint and MPK_{1,t} is the marginal product of capital in sector 1.

As you point out, my baseline regime is a relax-one, where my model is in steady-state. In this case I have that R_{1,t} = 0 and \psi>0. On the contrary, outside of steady state, we might enter the bind-regime, where R_{1,t} > 0 and \psi=0. Therefore, in Dynare:

occbin_constraints;
name ‘shift’; bind psi < 0; relax r1 < 0;
end;

and in the model block I write:

% 11)
[name=‘FOC of R1’]
lambda1 * (1+mpk1) = lambda2 * (1-GAMMA) + psi;
% 12)
[name=‘Shift Capital from 1 to 2’, bind = ‘shift’]
psi = 0;
[name=‘Shift Capital from 1 to 2’, relax = ‘shift’]
r1 = 0;

this follows what suggested in the Dynare manual:
Note that the baseline regime denotes the steady state of the model where the economy will settle in the long-run without shocks. For that matter, it may be one where e.g. a borrowing constraint is binding. In that type of setup, the bind -condition is used to specify the condition when this borrowing constraint becomes non-binding so that the alternative regime is entered.

Nonetheless, using this type of occbin and model-block, still returns a solution where R_{1,t} never increases above zero.
Do you have any suggestion of how I should specify the occbin-block and the model-block?