-
-
Notifications
You must be signed in to change notification settings - Fork 203
[WIP] New model: Basic illiquid asset #1569
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
base: master
Are you sure you want to change the base?
Conversation
Got a bee in my bonnet, cranked this out quickly based on notes I wrote for DCL. Completely untested because I didn't make an AgentType subclass for it, but all the math for the solver is there.
Kind of embarrassing typo.
I added the remaining bits to the solver and added a skeletal AgentType. It can initialize and begin to run (solves T-1), but there's some problem with the lower boundary of the state space that I'm still working out. I'm sure it's something terribly dumb.
Problem at the bottom of the state space was due to tiny (1e-16) violations of the lower boundary, easily fixed. Consumption function is still "wiggly" from the perspective of (m,n) space. Might need to implement vPPfunc and cubic spline interpolation, and *also* might need to conduct a more precise search for the bounds of the region of inaction, taking expectations repeatedly. Setting aside for now.
Deleting method I added to interpolation.py during debugging.
Made these at NumFocus summit?
Alan asked me about this, so I'm checking on its status.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a work-in-progress basic consumption-saving model with liquid and illiquid assets, and reduces the resolution of shock discretizations in the Euler error function.
- Reduced the number of quadrature points (N) from 200 to 100 for both Transitory and Permanent shocks.
- Halved the tail_N parameter from 50 to 25 in both shock discretizations.
Comments suppressed due to low confidence (1)
HARK/ConsumptionSaving/ConsIndShockModel.py:2214
- Add targeted tests to verify that the reduced shock discretization still delivers acceptable Euler error accuracy under typical model settings.
N=100,
N=100, | ||
method="equiprobable", | ||
tail_N=50, | ||
tail_N=25, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Consider documenting the rationale for reducing N
from 200 to 100 (and tail_N
from 50 to 25), or expose these as configurable parameters so that users can adjust discretization resolution as needed.
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are probably just temporary changes I made while working on the model. Or they were supposed to be in a different branch that I was working on at the same time-- this PR doesn't do anything with the Euler error calculator.
This is another new (to HARK) micro model: a basic consumption-saving problem with a liquid and an illiquid asset. I started work on this back in the fall, then forgot about it. It's definitely not complete, but I don't fully recall how incomplete it is. It looks like the solver mostly works, but has bug(s) left-- the temporary test code only has it run for 3 periods, and I left a bunch of debugging code in.
Definitely a work in progress, but figured I'd issue the PR because Alan asked about it.