econ-ark / HARK

Heterogenous Agents Resources & toolKit
Apache License 2.0
334 stars 198 forks source link

Default income shock for newborns #326

Closed pkofod closed 4 months ago

pkofod commented 5 years ago

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

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?

MridulS commented 4 years ago

@mnwhite

MridulS commented 4 years ago

for reference: https://github.com/econ-ark/HARK/pull/499

mnwhite commented 4 months ago

This was resolved a while ago, and will be further improved by HARK 1 revisions to the time structure.