Treat endogenous variable as constant for an equation

I am looking for a way to model that the expected value of variable A depends on today’s value of variable B forever.

To make more clear what I have in mind:

  • one-worker firm decides to enter in period t with idiosyncratic productivity z_t

  • idiosyncratic productivity remains at z_t for the whole life of the firm i.e. until separation and death (probability of separation each period is \delta)

Therefore, the expected discounted value of a firm entering with z_t and wage w is:

J = z_t - w + \beta *(1-\delta) *Jfuture;

Jfuture = z_t - w(+1) + \beta *(1-\delta) *Jfuture(+1);

In my model, z_t can change over time but I want Jfuture, Jfuture(+1), Jfuture(+2),… to abstract from any expected changes in z_t(+1), z_t(+2)….
z_t should simply be treated as a constant in the computation of Jfuture.

My firm concept is more complex than the simplified outline above which prevents me from reformulating the equation above (using e.g. the formula for a sum to infinity of a geometric series).

I couldn’t find an answer to this question, neither in the manual nor in previous forum posts.
I’d be greatful for any idea or workaround that helps me to achieve what I outlined above.

Is this a perfect foresight exercise? Or a stationary stochastic simulation? Put differently, can you define a constant z_parameter that you can use in the recursive definition?

It is a stationary stochastic simulation.
z_t doesn’t follow an exogenous shock process but is endogenously determined (basically pinned down by a free-entry condition).

Therefore, I guess the constant z_parameter would have to be “updated” every period in simulations / for obtaining IRFs.
I guess updating a parameter within stationary stochastic simulations goes agains how Dynare treats parameters?

But wouldn’t that imply that the equilibrium is not stationary anymore? You would need to keep track of the full history of realized z_t over time.

Sorry for the late replay, I look a long summer break from this project.

I actually build my model on Den Haan, Freund, Rendahl (2021 JME) " Volatile hiring: uncertainty in search and matching models" where they can get around having to keep track of the full distribution through (smart) modeling choices.

While the feature of not needing to keep track of the full distribution carries over to my model, I cannot reformulate the Jfuture equation like they do.
Thus, I require a numerical implementation of keeping expectations over z_t out of Jfuture.
(Just for context, my firms maintain the productivity level with which they enter which is why z_t remains constant once a firm enters the market)

I very much appreciate your responses Prof. Pfeifer, they saved me valuable time of trying to implement something in Dynare that is probably not possible for now!

I still don’t fully understand the exercise. How would the resulting model be stationary? Once the firm enters, you would need to keep track of the z_t active at that point in time. How would the FOC look like in two consecutive periods?

I see, I’ll try to sketch the key part of the model and hope it highlights what you would want to know. Turns out that in equilibrium, it should be ok to not keep track of the full distribution but in response to a shock, I am not sure why it should hold in the way Den Haan et al. (2021) use it.

There is a constant mass of entrepreneurs, Gamma, that can, upon deciding to enter the labor market and matching with a worker, form a one-worker firm. Every period with probability delta, this worker-firm match is exogenously severed, the worker becomes unemployed while the entrepreneur dies and is replaced by a new-born entrepreneur. There is no capital in this model (yet), labor is the sole input.

While an entrepreneur is idle i.e. not matched with a worker, he/she draws individual productivity z_i from a Uniform distribution with bounds (z_min,z_max) at the beginning of each period. The individual productivity that an entrepreneur enters into a match with will be constant until exogenous separation & death.

The productivity with which a one-worker firm produces is given by the sum of aggregate productivity Z_t & individual productivity z_i, such that (z_i + Z_t), (Note that I omit the subscript t here because once entered into production, z_i remains constant.)

In equilibrium, there is a value z_bar for which an idle entrepreneur is indifferent between entering today or waiting for a new draw of individual productivity tomorrow. (The standard free-entry condition in these types of matching models is replaced by one where entrepreneurs weight entering today vs entering in the future)
Thus, average productivity of producing one-worker firms is given by z_star = z_bar + 1/2 *(z_max - z_bar) & the mass of active worker-firm matches can be inferred given the parameters like Gamma, delta, & equilibrium vacancy postings etc.

The value of an idle entrepreneur with individual productivity z is given by:

J_t(z) = p_t *(Z_t + z) - w_t + E_t [beta (1-delta) J_{t+1}(z)]

Then, keeping track of this equation at z_bar and z_star is enough (according to Den Haan et al. (2021)).
When labor is the sole input, the fact that individual productivity is additive to aggregate productivity allows to split the expectations term into a part for Z_t and another for z => using the infinite sum, the part for z can be reformulated analytically such that it only depends on values today. When adding capital to the model, this simplification breaks down and that’s where I am struggling to implement it in Dynare.

For me, it makes sense that in equilibrium one does not have to keep track of the full distribution but only {z_bar,z_star}.

Something that I realized while writing this outline and that I honestly do not completely understand is that given a shock to Z_t, z_bar will fall to z_barPrime because the rise in productivity will motivate entrepreneurs with lower individual draws to enter than before.
However, it is not immediately clear to me that the amount of firms entering with individual productivity right above z_bar is necessarily the exact amount such that the mass of firms that enter with z_i \in (z_barPrime, z_bar) are exactly enough to maintain the generally existing uniform distribution of active firms.

The paper and the appendix do not touch on this specifically so I’ll might have to contact the authors and ask.

I am afraid I cannot help you here. This questions sees so specific that you can only ask the authors and report the finding here.

Will report it here once I figured it out.

Thanks a lot for your responses, they helped with making me aware of this issue!

1 Like

In case anyone finds this with the similar idea of building on Den Haan et al. (2021 JME), here is what I realized about their numerical solution.

Basically, their approach of only keeping track of a_hat and a_star allows to keep track of the mass of firms that enters and exits every period. However, it does not allow to keep track of the distribution of productivities, as Prof. Pfeifer correctly questioned in response to my questions earlier.
It turns out that keeping track of the distribution of productivities is not neccessary for solving the model, only the mass of active firms matters. Knowing the mass of firms together with the other variables allows to keep track of everything that you need to know to determine the dynamics of the model, unemployment etc.
Just consumption and output cannot be tracked outside of steady-state. But for their purpose, that’s not an issue.

Note that Den Haan et al. (2021) never claim that keeping track of {a_hat,a_star} can keep track of the productivity distribution. Since they did not go into detail about their numerical implementation in the paper, I had just based my understanding of the model and its numerical solution on their Dynare code.

This is only a very sloppy description of how things work in their paper but for those who read the paper carefully, I think and hope that this helps.

1 Like