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

init_lifecycle should be replaced with a real life cycle calibration #592

Closed
llorracc opened this issue Mar 22, 2020 · 14 comments
Closed

init_lifecycle should be replaced with a real life cycle calibration #592

llorracc opened this issue Mar 22, 2020 · 14 comments
Assignees
Labels
Expertise: PhD-Econ Needs knowledge of economics equivalent to second year PhD student Tag: PhD Student Exercise
Milestone

Comments

@llorracc
Copy link
Collaborator

At present, the init_lifecycle calibration does not reflect a realistic description of a life cycle; it's just a 10 period finite-horizon model. We should replace it with something based on the calibration in SolvingMicroDSOPs, but updated to be a more realistic calibration (the SolvingMicroDSOPs calibration dates from 1997, and a lot has been learned since then).

I didn't go ahead and do this myself right now because:

  1. init_lifecycle is imported via for a couple of tests, and so I want @sbenthall, who created those tests, and @mnwhite who wrote the original init_lifecycle to be involved in the rewrite.
    • When done, we should also use the new init_lifecycle in the LifeCycleModel notebook in HARK/examples.
  2. I want to do a more serious job of parameterizing the model. In particular, we need
    • a better representation of the age profile of transitory and permanent shocks, from Sabelhaus and Song or Panousi et al or some other source
    • To incorporate aggregate growth
    • To construct a plausible calibration of distributions at age of workforce entry of:
      • Permanent income
      • Assets
    • To have a parallel calibration for a version of a persistent shock version of the model
      • lp_{t+1} = \gamma_{0} + \gamma_{1} lp_{t} + \psi_{t+1}
      • ly_{t+1} = lp_{t+1} + l\theta_{t+1}
      • where l indicates log, \psi and \theta are IID, and typical calibrations would have \gamma_{1} \approx 0.97

This would be a nice mini-project for an econ PhD student.

$ cd HARK ; grep -rs --include="*.py" 'init_life' * | grep import 
HARK/tests/test_simulate.py:from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType, init_lifecycle
HARK/ConsumptionSaving/tests/test_modelInits.py:from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType, init_idiosyncratic_shocks, init_lifecycle
@llorracc llorracc added Tag: PhD Student Exercise Expertise: PhD-Econ Needs knowledge of economics equivalent to second year PhD student labels Mar 22, 2020
@sbenthall
Copy link
Contributor

Is this a duplicate of #586 ?

@llorracc
Copy link
Collaborator Author

It's an elaboration of #586

@Mv77
Copy link
Contributor

Mv77 commented Dec 19, 2020

I will start working on this. I will start out simple. Here is my plan (we'll see how far I get this winter).

  • Start with the calibration from SolvingMicroDSOPs. Add that one to HARK and make sure it can be called by the examples in an easy enough way.
  • Add the age-varying shock variances.
  • Allow for different income profiles for different education levels.
  • Get a reasonable calibration of assets at "birth". Could be pulled from the SCF, which I've worked with.

An initial question for @llorracc and @sbenthall would be where to put this? I feel like it would not work as well as a dictionary at the end of some model file. Ideally I see it as a function getLifeCycleCalibration with different options, e.g., educational level, do you want age-varying variances?, what age-range do you want to span?, etc.

Any initial thoughts on location and format would help.

@Mv77
Copy link
Contributor

Mv77 commented Dec 19, 2020

As a first step, I am trying to collect all the various serious calibrations that have been mentioned. So far I have

Is there any other one?

@MridulS, in #586 @llorracc says that the age-varying variances from the Sabelhaus-Song paper were an option in the Portfolio Choice Blog Post, but I can't seem to find them in that repo. They are in the Pandemic file listed above, but I'm trying to make sure I collect as much info as I can.

@llorracc
Copy link
Collaborator Author

I know that @mnwhite did a good bit of work to make it possible to incorporate the age-varying variances for the Sabelhaus-Song paper in the portfolio model when we were working on the blog post. My recollection was that in the end they made less difference than I thought they might. But in any case, if they are in the Pandemic calibration but not the blog post, it would be because Pandemic inherited from the work Matt did for Portfolio -- so Pandemic should be the source.

PS. One aspect of the SolvingMicroDSOPs calibration that is not "serious" is that we set the underlying rate of "aggregate productivity" growth to be 0 percent. That should probably be more like 1 or 1.5 percent. It doesn't matter much substantively -- the estimated time preference rate will basically move by exactly enough to offset it -- but that will be good because it should get rid of the almost eerily close to 1.0000 estimate of time time preference rate that comes out of the baseline SolvingMicroDSOPs calibration. Because 1.0 is a round number, let's make that the default calibration.

@Mv77
Copy link
Contributor

Mv77 commented Dec 23, 2020

Any initial thoughts on location and format would help.
@llorracc says ConsIndShock and function.

@Mv77
Copy link
Contributor

Mv77 commented Dec 28, 2020

I'm thinking about the volatility of income now. We want age-varying volatility of both transitory and permanent shocks.

You flagged Sabelhaus-Song as a starting point for this. I found a more recent paper by Moffitt on the matter: Income Volatility and the PSID: Past Research and New Results. A drawback is that the volatility estimates are not at the age level, but grouped for ages [30-39], [40-49], and [50-59]. I wanted to put it up for consideration.

For now I'll continue trying to extract the results from Sabelhaus-Song.

@Mv77
Copy link
Contributor

Mv77 commented Jan 2, 2021

I am now looking at survival probabilities. The Pandemic paper had different survival probabilities by level of educational attainment. However, both the base rates and adjustments for education are loaded from .txt files that are not in the repo.

Does anyone remember where the numbers came from? @llorracc @MridulS

@sbenthall sbenthall added this to the 1.0.0 milestone Jan 4, 2021
@sbenthall
Copy link
Contributor

An initial question for @llorracc and @sbenthall would be where to put this?

I agree this is a little tricky.

There is pressure from two different sets of conventions:

  • "default" values are normally packaged with software classes so that they can be ran and tested easily
  • the parameter values here have scientific value; their provenance is important.

In my view, it would be better to think of these kinds of parameter collections as if they were included data to be loaded, rather than hard-coded into any Python file.

HARK has some utilities for the inclusion of datasets which follows scientific python conventions here:
https://github.com/econ-ark/HARK/tree/master/HARK/datasets

I'm not sure if we should use that dataset loading logic or something else like it for model configurations.

See also #878

@Mv77
Copy link
Contributor

Mv77 commented Jan 18, 2021

SSA survival probabilities were included in #906.

I am working on similar modules that will allow us to use:

  • Life-cycle profiles of income shock variances from Sabelhaus-Song.
  • aNrm and pLvl distributions from the SCF.

PRs coming soon.

@mnwhite
Copy link
Contributor

mnwhite commented Jan 18, 2021 via email

@Mv77
Copy link
Contributor

Mv77 commented Jan 18, 2021

Thank you!

We discussed it. A cumbersome aspect of it is that it does not estimate volatilities for every year, but for age brackets (30,40], (40, 50], etc. iirc. We thought having volatility jumps when you change brackets would cause weird behavior, esp. around risk exposure (portfolio shares).

Also John Sabelhaus kindly provided us the original estimates for his paper, so we're going with that. Progress at #921.

@Mv77
Copy link
Contributor

Mv77 commented Jan 19, 2021

   * To construct a plausible calibration of distributions at age of workforce entry of:          
     * Permanent income
     * Assets

In progress at #922 .

@Mv77
Copy link
Contributor

Mv77 commented Feb 12, 2021

Addressed in #951.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Expertise: PhD-Econ Needs knowledge of economics equivalent to second year PhD student Tag: PhD Student Exercise
Projects
None yet
Development

No branches or pull requests

5 participants