10000 [WIP] New model: Basic illiquid asset by mnwhite · Pull Request #1569 · econ-ark/HARK · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[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

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Conversation

mnwhite
Copy link
Contributor
@mnwhite mnwhite commented May 28, 2025

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.

  • Tests for new functionality/models or Tests to reproduce the bug-fix in code.
  • Updated documentation of features that add new functionality.
  • Update CHANGELOG.md with major/minor changes.

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.
Copy link
Contributor
@Copilot Copilot AI left a 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,

Comment on lines +2214 to +2216
N=100,
method="equiprobable",
tail_N=50,
tail_N=25,
Copy link
Preview
Copilot AI May 28, 2025

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.

Copy link
Contributor Author

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.

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

Successfully merging this pull request may close these issues.

1 participant
0