So, when we simulate an IndShockConsumerType and newborns arrive, we have to set initial permanent and transitory income shocks.
Current, it's sort of a weird situation. Transitory income shocks are initially set to 1.0 (the mean) but permanent shocks are set to a random draw from the permanent income distribution. So why/what/when?
The SOE-Markov model is working in StickyE. Had to give newborns 1.0
for TranShkNow, else change in log consumption was crazy. Added
IdentityFunction to HARKinterpolation, which is a copy-paste from a
private MNW branch. Will clean up the main file to make it a bit more
elegant. Everything should be set for HA-DSGE versions, will do
tomorrow.
And transitory shocks are once again initialized to 1.0.
My reading of this history is that at some point it was initialized to the mean, then it was changed to a draw (I guess to get a more interesting default data set), but then it was reverted because of the specific use-case in StickyE. This seems like something that should have only happened in the StickyE-specific folder/code. Or is there a more general reason that we want to initialize everyone with the same transitory income?
cc @mnwhite
So, when we simulate an
IndShockConsumerType
and newborns arrive, we have to set initial permanent and transitory income shocks.Current, it's sort of a weird situation. Transitory income shocks are initially set to 1.0 (the mean) but permanent shocks are set to a random draw from the permanent income distribution. So why/what/when?
It seems to me that this code was introduced #38 where we have these lines https://github.com/econ-ark/HARK/blame/9d0b1f4b2c883c562f60624df08636257c785562/ConsumptionSaving/ConsIndShockModel.py#L1566
As you can see, both shocks are initialized to 1.0, and then we update the shocks from there according to their distribution.
Then, in a commit that has no PR associated to it, the code changes to https://github.com/econ-ark/HARK/commit/b4b473cc0c68ecadad096aee8a1d872a36a4db76#diff-b74561b6ba933aa9634d9b609ac72f36R2023
Now, both shocks come from their distribution from the first period.
And then, in a commit related to StickyE, and in the commit message it says https://github.com/econ-ark/HARK/commit/fce7d45bb400aa6a56e404a813b7586fb0abb7b5#diff-b74561b6ba933aa9634d9b609ac72f36R1858
And transitory shocks are once again initialized to
1.0
.My reading of this history is that at some point it was initialized to the mean, then it was changed to a draw (I guess to get a more interesting default data set), but then it was reverted because of the specific use-case in StickyE. This seems like something that should have only happened in the StickyE-specific folder/code. Or is there a more general reason that we want to initialize everyone with the same transitory income?