Writing variable in Dynare

I would like to ask question about writing variable in Dynare . In my model (optimal fiscal policy under commodity price shock) I have one equation (sovereign fund ) about law of motion for stock of asset Ft+1=Ft+Tt
Where Ft+1 is stock of asset in t+1 time and Ft is stock of asset in t time and Tt is oil revenue in time t . It means country put oil revenue which it earns in time t in sovereign fund and then stock of asset accumulation rule is set as above.

I would like to ask when I write this equation I should write Ft+1 variable as a F (not F(+1)) which is like writing capital .

Thanks from now
Sincerely yours.

1 Like

Yes, that variable is a predetermined variable and needs to be entered as such, i.e.


Alternatively, you can use the predetermined_variables-command.

1 Like

Thanks so much Dear Johannes Pfeifer.

Sorry that I took your valuable time. As similar I have one equation which I forgot to add previous message.
which is government’s flow budget constraint where

Dt is goverment debt in time t; rt is interest rate in time t; Gt is goverment spending in time t ; Tt is tax revenue in time t.
I would like to ask when I write this equation I should write Dt+1 variable as a D (not D(+1)) which is like writing capital or D is not predetermined variable here.
Thanks for your help and patience. Your help is very important for me.
Sincerely yours

1 Like

The same applies here. Stocks like this are (almost) always predetermined variables.

1 Like

what is the subscript of r in the above equation(Dt+1=(1+rt)Dt+Gt-Tt)?
r(t) or r(t-1)?
generally, when we describe an asset in the model that is predetermined variable, we should put t-1 as subscript. but what is the subscript of return of asset?
for exp. subscript of return of capital in the household budget constraint?
subscript of return of bond in the household budget constraint and government budget constraint?

That depends on the setup. If the return is known in advance, it gets timing (-1). If its determined at time t, because e.g. a stochastic shock first needs to realize, it gets timing t. Stock returns for example usually depend on TFP at time t and are therefore non-predetermined, while the nominal return on bonds is agreed upon in advance and is therefore predetermined. In contrast, the real return on bonds depends on the realization of inflation at time t and is therefore not predetermined.

Dear Professor I want to asking you one thing before we discussed about stock of asset in sovereign fund and you stated that we can write this equation a “Ft+1=Ft+Tt” in Dynare as F=F(-1)+T. However, writer wrote it in dynare as F=F(-1)+T(-1). As I know we should write like you stated F=F(-1)+T as F predetermined variable. So what writer did is wrong right?.

Secondly writer wrote capital equation in both paper and dynare as K(t)=(1-depreciation rate )K(t-1)+I(t-1). However, as I know we should write K(t)=(1-depreciation rate )K(t-1)+I(t). Which one is true? if you help me I will be very happy. Have a health day4.pdf (692.5 KB)

I don’t think it is a matter of right or wrong. There can be time to build in capital accumulation. There may be something similar in wealth accumulation. In the end, it is a modeling choice by the author. The only restriction is that paper and code should be consistent.

Thank you Dear professor you are so helpful

Dear Professor I would like to ask one question regarding wrting temporary shock.
My oil price equation is below;
variables with hat are log-deviations from steady-state levels. For oil price, degree of persistence is set at rhop =0 .93 and the standard deviation of the nonsystematic shock eP(t) at 0.25. My question is if wrote inside code
var eP;
stderr 0.25;

It means there is 25% temporary increase in PO (oil price) ?
Forexample if I need 10% percent oil price increase how can I wrote the stderr in code?
If you help me I will very happy
Sincerely yours

In that case, you need to set stderr 0.1

If I understand you right standerr should be same value with which value I want to give to shock. Forexample If I want to increase 20% oil price I should write 0.20. And If I wrote standerr 5 it means oil price increase 500% right?

At first order, yes.

Thank you :grinning: