# Timing Convention - capital quality shock

Hi

I have a probelm with the timing convention, hopefully it is pretty easy to solve.

I have a capital accumulation equatin which includes a capital quality shock.
I standard notation I have
Y_t=f[K_t]
K_t = Tau_t*(I_t-1+(1-d)*K_t-1 )
with Y output in t, K capital at beginning of t, I investment in t, Tau capital quality shock known and effective in t

If there were no Tau it wouldnt be a problem:
K = I+(1-d)*K(-1)
Y = f[K(-1)]

But if I write:
K = Tau*(I+(1-d)K(-1)) then the shock is known 1 period in advance and investment takes this into account. Which is not the case in the above equation.
Writing
K = Tau(+1)
(I+(1-d)K(-1)) doesnt work because now we have expectations.
K(-1)=Tau
(I(-1)+(1-d)*K(-2)) doesnt work either because now everthing apart from Tau is predetermined.

How can I deal with that problem?
Thanks!
Dominik

Would it just be

in that case?

Wouldn’t the standard notation in a paper rather be
Y_t=f[K_t]
K_{t+1} = Tau_{t+1}*(I_{t}+(1-d)*K_{t})

Now, using Dynare’s end of period stock notation
Y_t=f[K_{t-1}]
K_{t} = Tau_{t+1}*(I_{t}+(1-d)*K_{t-1})

Note that this is equivalent to using the alternative timing convention (page 10 of the manual):

```var y, k, i; predetermined_variables k; model; y = k^alpha; k(+1) = tau(+1)*(i + (1-delta)*k); end;```
which corresponds to your equations from the first post in standard notation

yes it could as well be
Y_t=f[K_{t}]
K_{t+1} = Tau_{t+1}*(I_{t}+(1-d)*K_{t})
in standard notation

now what i want is the shock tau , which occurs in t, to affect the capital k used in the production function immediatly, (not with a lag of 1 period).
so is K really a predetermined variable? sure, endogeneous variables K_t and I_t determine K_t+1 but so does the random variable Tau_t+1. so K is predetermined only in terms of endogeneous variables

Now, using Dynare’s end of period stock notation and what you proposed

```Y_t=f[K_{t-1}] K_{t} = Tau_{t+1}*(I_{t}+(1-d)*K_{t-1}) ```
isnt that = Expectation(Tau_{t+1})*(I_{t}+(1-d)*K_{t-1})
so something different from what i need?

It seems I still haven’t understood the timing conventions…

Dominik

In the same model I also have an equation describing the evolution of intermediary net worth N. Net worth at time t is the net return of the assets bought and deposit contracts sold last period. It is available for the intermediary at time t (together with any new deposits) for purchase of new assets.

N_t = Assets_t-1 * GrossReturnAssets_t - Debt_t-1 * GrossReturnDebt_t-1
or equivalently
N_t+1 = Assets_t * GrossReturnAssets_t+1 - Debt_t * GrossReturnDebt_t
and
N_t+Deposits_t= Assets_t*Price

Asset returns are detemined at the end of the contract, bank debt returns are set at the beginning of the contract.

I wrote:

```N = Assets(-1) *(GrossReturnAssets) - Debt(-1) * GrossReturnDebt(-1) N + Deposits = Assets * Price```
is that violating the timing conventions as well?

Thanks!
D

Hallo,
i’m still struggeling. Does an error make a state variable a control variable? Rather not, i guess.
But then writing

```Y = K(-1)^alpha; K = Tau(+1)*(I+(1-d)*K(-1));```
appears strange to me as Tau(+1) would be interpreted as expectations of Tau(+1) wouldnt it??? So in the period of its appearance the shock would have no effect. But i want the shock to immediatly affect the capital currently used…
If anyone can clarify that to me i’d be very grateful.
MANY THANKS!!!

I guess you are right that capital is not predetermined anymore in this case due to the presence of tau.

I would recommend testing the different timing options in a simple model through looking at the impulse response functions. I tried to implement this setting into the Cooley-Prescott-model. There you can see that my proposed timing is wrong. When I shock tau_k_shock, it only affects capital used in the next period, while klag, which is the capital used in this period is unaffected. But because the shock realized today is known to affect capital used tomorrow, the endogenous variables c and i already move today.

``````var yobs iobs c k lab z klag tau_shock;
varexo e e2;
//predetermined_variables k;

parameters bet del alp rho the tau rho_tau;

bet     = 0.987;
the     = 0.357;
del     = 0.012;
alp     = 0.4;
tau     = 2;
rho     = 0.95;
rho_tau = 0.9;

model;
(c^the*(1-lab)^(1-the))^(1-tau)/c=bet*((c(+1)^the*(1-lab(+1))^(1-the))^(1-tau)/c(+1))*(1+alp*exp(z(+1))*k^(alp-1)*lab(+1)^(1-alp)-del);
c=the/(1-the)*(1-alp)*exp(z)*k(-1)^alp*lab^(-alp)*(1-lab);
yobs=exp(z)*k(-1)^alp*lab^(1-alp);
k=exp(tau_shock(+1))*(exp(z)*k(-1)^alp*lab^(1-alp)-c+(1-del)*k);
iobs=exp(z)*k(-1)^alp*lab^(1-alp)-c;
z=rho*z(-1)+e;
tau_shock=rho_tau*tau_shock(-1)+e2;
klag=k(-1);
end;

initval;
k = 1;
klag=k;
c = 1;
lab = 0.3;
z = 0;
e = 0;
end;

shocks;
var e2; stderr 1;
end;

stoch_simul(order=1,irf=40);``````

Hence, I would try to make K non-predetermined by using:

```Y = K^alpha; K = Tau*(I(-1)+(1-d)*K(-1));```
In the Cooley-Prescott-Model this would be

[code]var yobs iobs c k lab z klag tau_shock;
varexo e e2;
//predetermined_variables k;

parameters bet del alp rho the tau rho_tau;

bet = 0.987;
the = 0.357;
del = 0.012;
alp = 0.4;
tau = 2;
rho = 0.95;
rho_tau = 0.9;

model;
(c^the*(1-lab)^(1-the))^(1-tau)/c=bet*((c(+1)^the*(1-lab(+1))^(1-the))^(1-tau)/c(+1))(1+alpexp(z(+1))k(+1)^(alp-1)lab(+1)^(1-alp)-del);
c=the/(1-the)
(1-alp)exp(z)k(-1)^alplab^(-alp)(1-lab);
yobs=exp(z)k^alplab^(1-alp);
k=exp(tau_shock)
(exp(z(-1))k(-1)^alplab(-1)^(1-alp)-c(-1)+(1-del)k(-1));
iobs=exp(z)k^alplab^(1-alp)-c;
z=rho
z(-1)+e;
tau_shock=rho_tau*tau_shock(-1)+e2;
klag=k(-1);
end;

initval;
k = 1;
klag=k;
c = 1;
lab = 0.3;
z = 0;
e = 0;
end;

shocks;
var e2; stderr 1;
end;

stoch_simul(order=1,irf=40);[/code]

so, better late then never: thanks a lot!

Dear jpfeifer,

I’ve tried to implement this strategy for the capital quality shock of my model, but it looks like I 'm having problems with Dynare’s timing convention, given that my model has investment adjustment costs. Any suggestion?

Thanks!
Santiago. gk_benchmark_q.mod (1.3 KB)

What is the problem you are experiencing? In the file uploaded there is a problem with using undefined objects in the initval block.

I’m sorry. I’ve already fixed the mistake with the intval. The problem is with the BK conditions. gk_benchmark_q.mod (1.3 KB)

Does the model work with without adjustment costs?

Yes, it works. However, I need to use adjustment costs in order to recover the dynamic of Tobin’s q.

That indicates a problem with the adjustment cost FOCs. Recheck all signs and the timing.