Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BufferStock: is unemployment part of the model? #1

Open
sbenthall opened this issue Oct 28, 2019 · 8 comments
Open

BufferStock: is unemployment part of the model? #1

sbenthall opened this issue Oct 28, 2019 · 8 comments
Assignees

Comments

@sbenthall
Copy link
Collaborator

@llorracc I'm confused about the parameterization of the buffer stock model here.

The original paper, and the REMARK, both explicitly model unemployment shocks.

This chimera notebook says "The unemployment (zero-income event) shocks are turned off". This is consistent with the equations given but not consistent with the parameters given in the first table or in the HARK model code, which still have the 𝚄𝚗𝚎𝚖𝚙𝙿𝚛𝚋 and 𝙸𝚗𝚌𝚄𝚗𝚎𝚖𝚙 variables.

There is also a note that "An explicit liqudity constraint is added (ct≤mtct≤mt); that is, the consumer is prohibited from borrowing". But I don't believe this constraint is written into the equations above this line.

My reading is that the "For the purposes of this notebook..." section is meant to override what comes prior to it and was perhaps added without editing other code brought in from other sources. But I wanted to double check that I understood the intended model before making edits accordingly and bringing in simulation code.

@sbenthall sbenthall self-assigned this Oct 28, 2019
@llorracc
Copy link
Contributor

Good catch.

The inconsistency reflects the fact that one of the things that was not possible in dolo, and which turned out to take a very substantial amount of work in creation of dolARK, was mixing of different kinds of statistical distributions. Dolo could handle lognormal, or it could handle Poisson, but it could not handle a mixture of Poisson and lognormal. At the time I created the BufferStockTheory notebook you are looking at, the comparator to my code was just dolo, so had to adapt the model from its original description to something that could be solved by the existing (dolo) tools -- which I did by abandoning the small risk of unemployment shocks. (This is an illustration of the tradeoff between general-purpose solution methods, like those in dolo, and the flexibility you have when you hand-craft a solution).

The downside of restricting the distribution of the shocks, mathematically, is that it means that there is some amount of income that people are perfectly certain to receive (whatever is the minimum discrete draw in each period), and the logic of the model says that you should be able to borrow against whatever is your guaranteed minimum income. But that's kind of an uncomfortable place to be, because nobody really has an absolute guarantee of a minimum income (unless they are retired and receiving Social Security benefits). So, the standard thing to do is to couple the existence of a minimum possible level of income with the assumption of a borrowing constraint, so that even if formally the model says that you're guaranteed an income of, say, $20,000 a year, you can't actually borrow, say, $200,000 against that when the interest rate is 10 percent). Implicitly the argument is that the model does not allow for the possibility of default, but default is obviously possible in reality. (And turns out to be amazingly messy to handle mathematically).

One of the things that @albop and his team have done since I made the notebook you are looking at is to figure out how to allow mixtures of distributions. I hadn't really remembered that this means that the notebook can now implement an exact correspondence with the original problem in my BufferStockTheory paper. (BTW, a subtext of the intro to that paper is a complaint about the extent to which the existing theoretical literature had imposed conditions, like explicit liquidity constraints, that were mathematically convenient in order to use off-the-shelf theorems. It's not that I doubt the existence of liquidity constraints; but my experience is that people stop thinking carefully about the problem as soon as constraints are introduced, because they mistakenly think that constraints explain everything. My point is that the logic by which low levels of wealth are associated with a high marginal propensity to consume is a general proposition, not just one that results from the imposition of liquidity constraints.

@sbenthall
Copy link
Collaborator Author

Thanks for this.

So as far as my task goes, I'll bring the simulation code from the REMARK into this notebook assuming that the model is the same as in the REMARK. Please let me know if that is incorrect.
econ-ark/HARK#414

I'm a little confused about what you're saying with respect to minimum discrete draws. My understanding is that the lognormal shocks are multipliers ranging from zero to positive infinity, and so make the income at any period arbitrarily close to 0 with some probability. By "discrete draws", do you mean the lowest value in the discretized approximaton of the lognormal function? I'm surprised that that would be in an issue. (Indeed, I though the possibility of a decimate income due to permanent shock was a quite clever way of pulling the possibility of unemployment in without discretized state.) Maybe I'm misunderstanding something.

I'll risk muddying the topic by mentioning one other question that's come up for me. It regards on of the simplifying assumptions made in your lecture (not sure if it's also in the paper):
http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/#x1-4003r13

I wonder if this assumption, or a similar one, might be better motivated than the lecture notes admit. A big topic in my research orbit is the role of "automation" on work; I believe the economist's answer is that "automation" is really the increase of labor productivity for the few, resulting in less demand for labor, resulting in unemployment for the rest. Assuming a static demand for productive labor, maybe having income for the employed grow with the chance of unemployment makes sense, since the chance of unemployment would then be tied to labor productivity due to technology improvements. I wonder if this is in the literature (maybe it's already in your paper--I haven't been able to read it all yet).

@llorracc
Copy link
Contributor

llorracc commented Oct 28, 2019 via email

@sbenthall
Copy link
Collaborator Author

So, this is exactly a case where almost any discrete approximation to the
continuous lognormal will be problematic.

Thanks for explaining that.

It's not a computational challenge, now, to solve models that are much more
closely calibrated to granular microeconomic data

the more realistic models are similar, but much harder to teach because the computational
solutions are much more of a black box.

Are you referring to machine learning techniques here? Could you be more specific about which techniques are being used for these 'realistic models'?

expositional purposes

I believe I am following you. I understand and appreciate the need for teaching, exposition, and explanation in the methods encoded in this software project.

@llorracc
Copy link
Contributor

llorracc commented Oct 28, 2019 via email

@sbenthall
Copy link
Collaborator Author

Ok. I just realized this discussion relates to my next step, which is bringing in simulation material from the BufferStock REMARK into the BufferStock DARKolo chimera.

My understanding now is that there are two different kinds of solutions HARK might offer for a given model:

  • Closed-form solutions. Mathematically proven from the model assumptions. Better for exposition and teaching because the relationships between the variables are explicit.
  • Computational solutions. Generated computationally from the model specification. May involved stochastic and approximate algorithms. Can solve for more realistic or complex models (for which a closed form solution is undiscovered or impossible). Less good for exposition.

Coming from my background, I would call "computational solutions" either "numerical solutions" or "simulations". I want to confirm these meanings.

If so, then I'm wondering what part of the BufferStockTheory REMARK is simulation. I see what looks like a lot of closed-form solutions and plots based on them. Am I missing something?

In contrast, it looks like the dolo implementation of the BufferStockTheory model is running a simulation, in order to find a computational solution, as the time_iteration method runs for some time outputting information about the decreasing error rate of its search.

I don't mean to belabor these points but my sense is getting synced on these terms is critical for work in computational methods.

@llorracc
Copy link
Contributor

llorracc commented Nov 1, 2019 via email

@sbenthall
Copy link
Collaborator Author

Ok, so if the DARKolo is exploring a model that is different from the one in the paper (i.e., it doesn't have unemployment shocks), I'd like to edit the DARKolo so that its expository text more closely matches the model, to avoid confusion.

Unless I hear otherwise, I'll add this to my task list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants