# Number of observed variables and exogenous shocks in DSGE model

Dear Professor：
I’m a dynare beginner.
I have now constructed a DSGE model to study the impact of individual income tax rate on economic variables.
There are three exogenous shocks in my model: technology shock, government purchase shock and tax shock;
There are five observed variables, namely consumption, investment, output, inflation and employment.
Dear professor, @jpfeifer ，can the number of observed variables be greater than the number of shocks?
I see that some data say that the number of observed variables cannot be greater than the number of shocks, but the number of observed variables in my model is greater than the number of shocks, which also runs out of the impulse response diagram,
Is it possible that the number of observed variables is greater than the number of shocks?

Thanks

The restriction you mention only refers to full information estimation. For simulated models, there is no such restriction.

ok, thank you very much. Professor, can I put the budget constraint equation of consumers into the final steady-state equation?
In my model, if the consumer’s budget constraint equation is put into the steady-state equation, it can run out of the impulse response diagram. If it is removed, it can’t run out.

This graph shows the budget constraint equation of consumers in my model

What do you mean? If the model works, it works. If I understand you correctly, you left out the budget constraint due to Walras Law. Then of course putting it in and leaving out a required equation will cause a problem.

I read some papers on the impact on the economy through DSGE model.
For the family sector, they only put the first-order condition for maximizing utility under budget constraints into the steady-state equation,
but did not put the formula of budget constraints into it,
That is, only the first-order condition is put in the steady-state equation.
So I want to ask, for the household sector, can we put the budget constraint itself into the steady-state equation, that is, the formula in this figure
Thanks

Hi Toyou, what Johannes is referring to is that you can omit the household budget constraint due to Walras law. In such case you probably have a market clearing constraint for the final goods sector.

If you include that, and also have the market clearing constraint, then you’d have two redundant equations, if on top of it you omitted another equation (as Johannes pointed out some people may do) then you’d have a model with two colinear equations and not enough independent equations to solve for the unknown variables.

So to answer what you said. Yes, you can include the households budget constraint. If that’s the case there is no need to include a market clearing for the goods sector.

I see. Thank you very much！

Dear，@jpfeifer,@JC-Granados n the DSGE model, variance decomposition is carried out for various random shocks. The sum of the contribution percentage of all random shocks to an observed variable is greater than 100%. Is this allowed? I don’t understand. Can you explain it? Thank you very much

You mean for simulated moments? Adding up to 100 only holds for perfectly uncorrelated shocks, which will never happen in finite simulations (even if theoretically true). Thus, you will have same inaccuracies.

ok, thank you very much !

Dear,@jpfeifer , for DSGE model, how to get multi period variance decomposition in dynare, such as 1 period, 10 period, 20 period and infinite period.
Why can I only get one variance decomposition result, as shown in the figure. thanks

When requesting simulated moments, you can only generate the unconditional variance decomposition, not a conditional one.

Can you tell me how I should modify the order? I want to get multi period variance decomposition. Thank you !

You need `periods=0`

Thank you so much!!

sorry,I just forgot to ask you, if I want to get the infinite variance decomposition, how should I modify it? Do I need to modify this command?
conditional_ variance_ decomposition=[1,10,40]

No, it will be provided by default.

stoch_simul(order=1,irf=40,hp_filter=1600,periods=0,replic=100) Y I c h w; Is this correct?

``````stoch_simul(order=1,irf=40,hp_filter=1600,periods=0) Y I c h w;
``````

The `replic`-part is redundant.