econ-ark / DistributionOfWealthMPC

The Distribution of Wealth and the Marginal Propensity to Consume
2 stars 8 forks source link

Replace custom distribute_params with core distribute_params #3

Closed sbenthall closed 1 year ago

sbenthall commented 3 years ago

The cstwMPC_MAIN.py code contains an older version of distribute_params which is uses quite a bit.

https://github.com/econ-ark/DistributionOfWealthMPC/blob/master/Code/cstwMPC_MAIN.py#L763

This functionality is now part of HARK core. The HARK core version should be swapped in.

alanlujan91 commented 1 year ago

HARK's distribute_params creates N copies of an agent that is given. The distribute_params in this code modifies existing agents in a market.

If I understand this correctly, they are doing different things, so there's no need to swap in one for the other.

sbenthall commented 1 year ago

Interesting ... I haven't looked at this for some time.

I think the broader question is how to best define a population of agents in an economy with ex ante heterogeneity.

While refactoring part of the REMARK is not particularly urgent, to the extent that we want this to be the example that others look to for how to use HARK, the current custom tooling (which is also of an odd style -- see the use of exec which isn't necessary...) should ideally be replaced with core HARK. I'd argue that.

But maybe your AgentPopulation work on SHARKFin is the best thing to swap in?

sbenthall commented 1 year ago

Maybe you would agree that this ticket is superceded by #5?

sbenthall commented 1 year ago

Hmmm... well, actually, this error with the array-valued DiscFac is maybe caused by this custom distribute_params code:

https://github.com/econ-ark/HARK/issues/1198

sbenthall commented 1 year ago

Ok; fixed that bug in https://github.com/econ-ark/DistributionOfWealthMPC/commit/a717498e9f5caffde8b90cc52f5b30f89fc75a48 among with other issues that came up with the move to HARK 0.13.0

Results are passing the substantive test made earlier, and there is now a 1.1 release of this repository.

I was able to replace the weird exec usage, and now this ticket is superceded by #5