I was wondering whether the availability of information could also be restricted in a perfect foresight simulation or is that impossible by construction?

Is it alternatively possible to replace expectations in a model equation manually. So let’s say capital allocation is a function of the expected degree of taxation in the next period, among other things:
K(t) = function( tau(t+1),…). (K(t) capital stock for production in t+1 but set in t.)
Can I simply set up a new endogenous variable tau-tilde and insert it into the above equation and let tau-tilde govern capital allocation, while the actual return to capital after taxes is subject to the real tau?

What exactly are you trying to achieve? Partial information is about the information set not being complete with respect to variables. You seem to have changes in timing in mind.

I want to simulate a situation in which, for example, the capital allocation decision is based on a wrong expectation/belief of the tax rate.

Let tau_tilde be the believed path of the tax rate and tau be the actual tax rate path.
In the usual perfect foresight world, the future path of tau would be fully known. However, I want to impose that the capital allocation decision in period t is based on tau_tilde, rather than on tau, while actual taxation is done using tau. (I am aware, that the beliefs about the tax rate would be continuously wrong.)

So I was wondering whether it is a valid approach to simply use tau-tilde in the forward-looking capital allocation equation, while using tau in the contemporaneous capital taxation equation -
and whether partial information could be used instead (to set beliefs about tau to tau_tilde).

Yes, either fully exogenous or the expected tax rate could be some function of other endogenous variables. For example, beliefs about the future tax rate could be based on the current debt level of the government.

Are there other forward-looking variables and what is their information structure? Rational, given the exogenous expectation for taxes? And do you care about higher order properties or is just a linear solution sufficient?

Yes, there are other forward-looking variables. Ideally, I would like to explore both cases. i) Expectations of those other variables are rational given the exogenous expectation of the tax; ii) Expectations of other variables are consistent with the actual (rather than expected) tax path.

The big problem is the information structure the agent is going to use for more than 1 period. You are feeding in the one-step ahead expectation for the tax. But what is the agent expecting for two periods into the future?

The agent would base the decision on a belief about the entire future tax path (which might differ from the actual tax path not only in t+1, but in all subsequent periods.) Of course, this means that the agent would continuously make the same error without adjusting behavior.

Are you concerned about the technical feasibility of such a simulation or the economic interpretation of it or both?

I am more concerned with the implementation, trusting that you know what you want to do economically. It seems you are looking for a way to provide a given path of expected future taxes at each point in time, with the ability to have these expectational paths change in each period.

In that model we have the following Euler equation

Let’s extend the model and add taxation of capital income, which leads to a replacement of R(+1) by R(+1)*(1-tau_expected(+1)), where tau_expected is an exogenously given tax rate path which agents assume when making their decisions.

In the next period, the tax applied to interest income is, however, tau(+1). So capital income is (1-tau(+1)) R(+1) K. This would show up in the aggregate market clearing in the mod-file, which now would include government spending G = tau R K(-1). Note, that here I use the actual tau, rather than tau_expected.

Does that make sense? I could also try to implement this into the mod-file from your repository.

Yes, that makes sense, but does not answer my last question. With rational expectations, we know that all expectations for all future periods are formed in a model-consistent way and the law of iterated expectations can be used to deal with expectations for future periods as of today E_t(\tau_{t+h}) as opposed to the one-step ahead forecast made at a future point of time E_{t+h-1}(\tau_{t+h}). That’s why you only need to specify a recursive FOC that will hold at each point in time and typically only involves neighboring periods.

But once you move away from rational expectations, you need to think hard about the information structure. Say you specify E_t(\tau_{t+1}) exogenously. But given that RE does not hold, you would also need to tell the agent what E_t(\tau_{t+h}) is for all h>1

I see. I should add that I want to run this in a perfect-foresight world (although this might not address your question). So by providing the whole path for \tau^{exp} (tau_expected in my post before), the agent should know what E_t(\tau^{exp}_{t+h}) is for all h>1, namely a exogenously given constant.

Can’t we think of this problem as agents having rational expectations about the tax rate being \tau^{exp} at all times (so the law of iterated expectations holds ), but being continuously surprised in each period by \tau in fact being different?

My question was: if you exogenously provide E_0(tau_{t+h}), h>0, do you want to update these expectations? If they are kept at their initial value and the only surprise being the realization of \tau_t, then that should be feasible.

Yes, I want to keep the expectations at their initial value.

However, and this is the next step, I want to also simulate a situation in which the agent, after some time, learns the true \tau as an unexpected shock (as implemented on slide 56 in Deterministic Models - Perfect foresight, nonlinearities and occasionally binding constraints (villemot.name)) . So over time, the simulation with the initially wrong expectations and with this unexpected shock would converge to the same path which we obtain if agents have the right expectations from the beginning.

In more technical terms:
I set \tau^{exp} = \tau + e^\tau, where e^\tau is a shock. Now, I run a permanent shock e^\tau, which drives a wedge between expected and actual taxation. I take the simulated state of the model after 4 q and use it as the initial value for a second simulation in which the shock is set to zero.