Initial asset distribution

Hi Robert,

If I want to transfer accidental bequests to the youngest generation (j=1) instead of all living generations, how should I adjust jequaloneDist? If it distributes evenly, I think it’s easier to just add if-condition in return function, but I want to let the asset distribution of age 1 cohort to be normal distribution with mean=1, std=b.

1 Like

I am assuming this is an OLG model, so the ‘bequests’ is a quantity that will need to be determined in general eqm.

You have two options, which you mention both of:
i) put it into jequaloneDist, but this is a bit tricky because it will need to depend on ‘bequests’ which are being determined in general eqm, and so you have to set up jequaloneDist as a function so that you can parameterize it with ‘bequests’.
ii) just use the return fn so that ‘bequests received’ appears in the budget constraint, and that it only occurs at age j=1. This is likely to be much easier.

I don’t quite follow what you mean in terms of how “let the asset distribution of age 1 cohort to be normal distribution with mean=1, std=b” relates to bequests. Do you mean that the bequests get normally distributed? Or do you mean that there are some age 1 assets that are normally distributed, and then on top of this people get a bequest (which is uniformly distributed across agents of age 1)?
One thing you might want related to this is that you can set bequests to be ‘conditional on permanent type’, so that if we have two permanent types representing ‘high income’ and ‘low income’ then you can set it so high income households leave (accidental) bequests to high income households, and low income households leave bequests to low income households (is done by setting heteroagentoptions.GEbyptype, not sure this is publicly documented anywhere yet so let me know if you want to do it and I will add an explanation).

PS. If you want (i), Life-Cycle Model 46 shows how to set up the jequaloneDist as a parametrized function (there it is for purposes of GMM estimation of the parameter, but same thing for determining the parameter in GE).

2 Likes

Thanks Robert. For the ‘normal distribution’, what I want to do is let some people born in richer family, some in poorer family, so their initial assets are unequal. And the source of these initial assets is from accidental bequests. So it’s kind of like they receive different amount of bequests at age=1.

1 Like

Given how GE currently works, you can set the bequests received to be a normal distribution (whether via (i) or (ii); although (ii) is trickier, might need to add an ‘e’ variable, really should just be a ‘u’ but there isn’t a way to just include a ‘u’). But the GE condition would just have to be to get total bequests correct. There is not currently a way to get this to match a fitted normal distribution on the bequests left.

[I am going to be implementing something for GE in nearish future so that it can solve search-and-matching in an OLG, and that same feature which is about ‘custom model statistics’ that you can use in general eqm eqns would allow you to match the parameters of a fitted normal dist on bequests left in general eqm. But it is not presently possible.]

PS. Empirically, the distribution of bequests is pretty skewed, with a mean well in excess of the median. So if you do want to set up something like you are describing, I would suggest going a step further and making the bequests received log-normal rather than normal (so mean bequest is much bigger than median). You should also switch the warm-glow of bequests function to be the one from De Nardi (2004), as that way your bequests left will also satisfy that the mean is well in excess of the median (because the warm glow fn of De Nardi (2004) makes bequests a luxury good).

2 Likes

Hi Robert, could you provide sample codes (or pseudo codes) for setting bequests received to be (log)normal distribution using method ii? I’m still a bit confused about e variable.

1 Like

Take Life-Cycle Model 11. The i.i.d. variable is already log-normal [you can see this because it discretizes a normal, and then does e_grid=exp(e_grid)]. Then just edit the ReturnFn so that instead of e being used as part of earnings (as currently in Life-Cycle Model 11) you just say that “if agej==1 then add e to assets” so that it is now bequests received, and only at age 1 [and then just ignore e at all other ages]. Obviously this approach is a bit wasteful as it will compute with e at all ages, when it is only at the first age, but since it is just an i.i.d. you likely can do this and still compute just fine. You can probably see that (ii) makes more sense if you wanted to say “bequests are received by ages 25-50 as these are the ones that get them in the data” (I just made up 25-50, you would need to look at data)

2 Likes