Ex ante steady state

Hello everyone, please tolerate my ignorance. I sometimes saw, in numerical sessions, authors would say like the snapshot below (sorry, usually absence of accommpanied codes…).

I think I know how to compute the Steady State \bar{C}^*=[(1-\bar{\tau})(\sigma-1)/\sigma]^{1/(\eta+\rho)} manually or by dynare, via series of equilibrium conditions at SS.

Then what’s the meaning of the last sentence in 1st paragraph, C^*_t=\bar{C}^* for all t? Does it imply all C^*_t in equilibrium equations are assumed to be constant like a parameter? and in dynare, we can just treat it in parameters session? So what’s the exact meaning of ex ante in the same sentence? How to reflect “ex ante” (and “ex post”) into dynare codes?

Moving back and forth, the author said before policy is implemented, ex ante symmetric; and after policy, two countries can be asymmetric…Sorry very confusing in terms of 1) how to understand them; 2) how to program them in dynare?


Extra entry-level question: in the same snapshot, the author assumes initial assets a_0=-a_0^*=0. How to set it in dynare? Because I’m often in doubt whether initial conditions are the same as steady states? This doubt appears many many times in my mind, sorry. For example, the following snapshot:

kitano equilibrium

“given initial values for B_{-1}, K_0, N_{-1}, D_{-1}.” How to input them in dynare? or do dynare assign some default values automatically for them?

  1. Sometimes authors will say, e.g., P_{-1} can be arbitrary, what does “arbitrary” initial condition stand for in dynare?
  2. Sometimes authors say given initial values for B_{-1}, K_0, N_{-1}, D_{-1} like above, but actually in the paper I never find exact values they set. In this case, how to code in dynare?
  3. Sometimes authors explicit give initial values, then how to do in dynare?

Very very low level questions, thank you for your patience.

1 Like

Dear littlemacro,
it depends on what your goal is. If your goal is to find the IRFs to a given shock, using a Taylor approximation of the model, you do not have to specify the initial conditions of state variables like capital or debt. It is sufficient to give Dynare the ss of the model or to tell Dynare to find the ss starting from an initial guess.

If your goal is to simulate the model, then you need to specify the initial conditions. Suppose your model has one equation:


where v is an exogenous shock and A is a parameter that you know.

Your goal is to find the entire path of y (y_1, y_2,y_3,…). In order to do this you need the entire sequence of v_t (what the authors of the paper you mention call stochastic procecesses) and an initial condition for y (that is y_0): without the initial condition, you cannot find y_0, even if you have v_0 and A. You can do this by using the command:


and by specifying the initial condition and the list of shocks that you prefer.

Regarding the paper, I think what the authors do is to compute the optimal tax, assuming that the other country is not affected. Maybe you can tell us which paper is, in order to give you a better help.



Hi Valerio88,

FIRST AND FOREMOST, I am deeply indebted to you for your patient answer! and sorry for my late reply.

Your first paragraph is very clear. I understand. So we just follow usual Dynare practice, it will do the rest thing for us.

Then I’m a little missed. First I don’t find the command simult_ or simult, do you mean stoch_simul ? Perhaps I have to read the manual and more codes to concrete our discussion.

If I understand correctly, when I just want to an illustrative IRF, then without assigning initial values, Dynare may (latently) guess one, generating the whole sequence. But when I want to precise values for each element in the sequence, say \{C_t\}_{t=0}^{\infty}, that is, I want to collect them for further various computations, then I need specify initial values, which are customized and subject to / depends on my particular purpose.

But for example, if I want to calculate the standard deviation of C_t, \sigma_c. Which way should I adopt? In practice, I think the first way is enough. Yet based on your reply and my understanding, it seems to be the second way… Another example, (I’m not sure about it, just for illustration), in welfare analysis, if I want to compute: \sum\beta^t\log C_t, then which method shall I employ? I often heard “XXX is very sensitive to initial guess”. Does this example belongs to the situation?


The second snapshot comes from
Kitano and Takaku(2017), Capital Controls, Monetary Policy, and Balance Sheets in a Small Open Economy.
The equilibrium definition is very common across the literature.
The first one comes from an old unpublished paper, whose “ex ante” notion I believe is based on some Sutherland’s work.

1 Like

The variance-covariance matrix of the endogenous variables of the model is stored in oo_.var. But suppose that you do not know that and you want to compute the standard deviation of consumption by yourself. Suppose your model has one shock with standard deviation 0.01. Run the model with stoch_simul. Then, draw a long random series of numbers from a normal distribution with mean 0 and standard deviation 0.01. Then you can use simul_t as follows:


where X0 is your initial point and shock is the series of shocks that you have just drawn. The “1” is the order of approximation. You will get a long series for each variable of your model, so you can compute all the simulated moments that you want.

For the welfare analysis give a look here:

or at my lecture notes and codes on optimization of simple rules:



It looks like a very powerful command! and the welfare post is what I’m searching, thank you!!!

Hi, valerio,
These materials is not found. error message: 404