Closed Mv77 closed 3 years ago
@llorracc asked me to use this process to see how clear and easy it is to post one's REMARK, so I'll give some impressions in following comments.
A first is that the information on how to add the REMARK should really be in the README I think.
I remember I read somewhere that to add the REMARK I'd need to make a PR adding the markdown file with its identifying information, but I can not find that file now. It should be as easy to find as possible.
It would also help to have some explanation of what some fields in the markdowns are. Most are self-explanatory, but I do not know the difference between e.g. "message" and "abstract".
@MridulS this looks ready to me. If you can look at it before tomorrow's Econ-ARK call, then maybe we can merge it then? Otherwise we should construct a to-do list of whatever further steps would be required for it to be ready to merge.
PS. One thing that would be good to take care of is to respond to @Mv77's small comments on improving the REMARK submission documentation, including clarifying some of the metadata issues.
Oh, I just thought of a additional thing.
It is clear that there should be a reproduce.sh
file. It is not clear what that file should do regarding dependencies. For instance:
environment.yml
.It is not clear who or what (a docker-setup script?, binder? the user?) will run reproduce.sh
and based on that what should be done about requirements.
Because of that, my current handling of requirements in reproduce.sh
might not be what you expect. Could someone verify that it works for the intended purpose and let me know if it does?
This is a good question.
Problem with creating a virtual environment is that it can take a long
time, and would be confusing to someone not familiar with how they work.
Seems to me that the best answer would be if reproduce.sh could test
whether the requirements are satisfied, and if not should tell the user
"you need to install further software requirements on your computer. From
the command line where you can run reproduce.sh, please install the
requirements with the command python -r
" and then whatever the path
would be. Or, whatever the right instructions are.
On Wed, Jun 23, 2021 at 4:05 PM Mateo Velásquez-Giraldo < @.***> wrote:
Oh, I just thought of a additional thing.
It is clear that there should be a reproduce.sh file. It is not clear what that file should do regarding dependencies. For instance:
- https://github.com/econ-ark/CGMPortfolio/blob/master/reproduce.sh installs HARK and only HARK.
- https://github.com/econ-ark/KrusellSmith/blob/master/reproduce.sh uses mamba to create a full environment using environment.yml.
- This conflicts with @llorracc https://github.com/llorracc 's rule that one should never install software in the user's computer.
It is not clear who or what (a docker-setup script?, binder? the user?) will run reproduce.sh and based on that what should be done about requirements.
Because of that, my current handling of requirements in reproduce.sh might not be what you expect. Could someone verify that it works for the intended purpose and let me know if it does?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/econ-ark/REMARK/pull/123#issuecomment-867122095, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKCK73C4WJNHRXUMHUFS63TUI5ANANCNFSM464XIEPQ .
--
@MridulS,
I want to merge this as soon as we can give @Mv77 an answer to his question about requirements.
Does my proposal above work?
@Mv77 The initial embodiment of the reproduce.sh
file was that it runs inside the docker container with nbreproduce
so whatever is installed with the reproduce.sh file is installed inside the docker container started by nbreproduce
.
This has been conflated around different REMARKs right now (mostly due to poor documentation by me).
And yes @llorracc the idea to check if the environment is setup properly in reproduce.sh
and then return the appropriate response is great but maintaining a bash script which works across Windows, unix wouldn't be that straight forward.
@mv77 have you toyed around with nbreproduce
yet? If you have the time could you try following the instructions available at https://github.com/econ-ark/KrusellSmith#krusellsmith ? The only thing that seems to be missing from https://github.com/Mv77/RiskyContrib at a first glance is some minimal documentation like https://github.com/econ-ark/KrusellSmith in the README about how to reproduce a local environment with either conda/pip or nbreproduce
.
I can send in a PR later today to add those things to the README.
Thank you for the clarification!
@Mv77 have you toyed around with
nbreproduce
yet? If you have the time could you try following the instructions available at https://github.com/econ-ark/KrusellSmith#krusellsmith ? The only thing that seems to be missing from https://github.com/Mv77/RiskyContrib at a first glance is some minimal documentation like https://github.com/econ-ark/KrusellSmith in the README about how to reproduce a local environment with either conda/pip ornbreproduce
.
I have not used nbreproduce
yet. I'll toy with it and the KrusellSmith REMARK before today's meeting and report how it goes.
So my immediate goal is to make reproduce.sh
work with nbreproduce
in a way similar to the KrusellSmith REMARK. That helps a lot.
I can send in a PR later today to add those things to the README.
That would be very helpful, thank you.
The latest commits configure the repo so that environment.yml
and reproduce.sh
work with nbreproduce
.
I have tested the repo using nbreproduce
following the instructions in the KS remark and it works.
@MridulS, I've also updated the readme following KrusellSmith
as a template. Please find it here: https://github.com/Mv77/RiskyContrib/blob/main/README.md
Are there further edits or tests that I should conduct?
@Mv77 I ran the REMARK locally with nbreproduce but the figures created don't match those in the Figures directory at https://github.com/Mv77/RiskyContrib/tree/main/Figures. For example the LC_age_profiles pdf created by running in locally gives this: LC_age_profiles.pdf
Interesting. Negative consumption usually means that the grid was not large enough. I will check what's going on.
I think I've fixed it. @MridulS could you re-run it and confirm?
The issue was an interaction of a quite unstable simulation that I'm running for demonstrative purposes and the recent RNG changes induced by Seb's "time-varying distribution" changes. I solved it by pinning the REMARK to a prior commit: the one when my new model was merged in.
In more detail, I am including a calibration with the extreme assumption that you can not touch your risky assets until you retire. Since you can not consume out of them for a while and they have high expected returns, they can grow quite large. Further, your permanent income might decrease and this combination can generate huge Risky Assets / Permanent Income
, which is the state that I track. What I think happened is that Seb's RNG changes generated some sequence of specially high risky return draws that made Risky Assets / Permanent Income
go off the grid in some of my simulations.
I was able to run this locally and reproduce the figures :)
Awesome, thank you for the review and help @MridulS.
What would be the next step? After it gets merged, does it automatically get added to the website?
Lets try it :)
This PR adds the remark associated with the new portfolio model in https://github.com/econ-ark/HARK/pull/832.
The REMARK's repo is https://github.com/Mv77/RiskyContrib