Replication: Guvenen (2007) - Learning Your Earnings: Are Labor Income Shocks Really Very Persistent?

Here is a replication of Guvenen (2007).

G2007 makes two main claims:
i) HIP beats RIP
ii) Learning improves HIP
based on three empirical facts about how age-conditional var(consumption) increase with age, and how it looks relative to age-conditional var(income).

Replication finds that (i) holds, but reject (ii). Note that Guvenen & Smith (2014), which builds on G2007, also finds that learning is largely unimportant.

G2007 models are fine, but one of the three empirical facts he uses is that age-conditional var(consumption) has a slope of 0.2. All the literature since suggests the slope is actually 0.1, including Guvenen & Smith (2014). G2007 got the 0.2 from Krueger & Perri (2006) [their Deaton-Paxton method result], and redoing their datawork suggests that while 0.2 was ‘correct’, it falls apart and becomes 0.1 if you change consumption-equivalence units, or just extend the sample. I therefore decided to ‘unfairly’ reevaluate G2007 using the 0.1 slope that the literature since all seems to agree on. Once you use 0.1, learning does not really help for anything much (it worsens one target while improving a second and leaves the third alone). HIP already hits a slope of 0.1, learning pushes the slope toward 0.2, and in G2007 this was good but with modern estimates it is bad, hence learning, while doing exact same thing in model, becomes counterproductive.

Two important points about the computation:
i) G2007 has learning on alpha (intercept) and beta (slope) of earnings. He finds alpha is unimportant. In the replication codes I just drop learning on alpha, and only have learning on beta (in like with Guvenen & Smith (2014)). So it is not really a full replication.
ii) G2007 uses projection method to solve value fn at 12 nodes, and uses monte-carlo to simulate the model and figure out a small state space on which the solution lies [similar to idea of Maliar & Maliar (2015)]. Toolkit replication just goes brute force and uses a big markov grid to handle the learning rather than trying to be clever about finding the solution space.

Getting this to run without being clever about the solution space meant dealing with a z_grid that contains prod(n_z)=3965 points. Being able to use a big enough n_a to make me happy required two minor changes to improve toolkit so it is a bit more efficient with memory when dealing with massive prod(n_z) (these two changes are now rolled out everywhere in toolkit).

PS. It turns out that ‘exogenous bayesian learning’ is just a complicated markov shock process. Interestingly, pi_z in the value fn and agent dist (the subjective and objective) are the same.

PPS. There is an alternative reason we might conclude that learning is important in the HIP model. Namely that without it there would be a negative correlation between income and wealth at young ages (vs a positive one at all ages in data; note this is partly because G2007 allows a lot of negative assets at young ages so there are other ways out of this). But this is just Footnote 24 of G2007, so I am viewing this issue as peripheral to the paper given it got relegated to a footnote.

PPPS. Understood another way. Guvenen (2007) passes a “narrow replication” (with slope 0.2) but not a “broad replication” (with slope 0.1).

PPPPS. My Fig 7 and 8 in the replication still show G2007 “old” data on consumption inequality, rather than replace them with the modern view with slope of 0.1. Maybe I should have cleaned them up as well.