QuantEcon / QuantEcon.py

A community based Python library for quantitative economics
https://quantecon.org/quantecon-py/
MIT License
1.99k stars 2.26k forks source link

Has the library inclued endogeneous grid method(EGM) for VFI ? #247

Open zlqs1985 opened 8 years ago

zlqs1985 commented 8 years ago

I search the document and cannot find the related information. EGM is becoming more and more popular in computing, so I wonder if QuantEcon has any plan to provide related module? Thanks.

jstac commented 8 years ago

@zlqs1985 It's been on our radar and it's a great suggestion. Thanks for reminding us.

Is it generic enough that it should go in the library for people to import and plug into their model? Or would it be best to simply illustrate the idea in a few examples, and put them in a notebook or on quant-econ.net?

davidrpugh commented 8 years ago

@zlqs1985

Have you seen this C++ library implementing EGM? It already has Python (as well as MATLAB and Java) bindings. Working out how to apply the techniques in this library to solve economics applications has been on my TODO list for some time.

Assuming that this library would suite the community's needs for EGM, then I perhaps we could develop a list of three canonical economics use-cases that could be coded up demonstrating the use of this library and write up a notebook.

Thoughts?

sglyon commented 8 years ago

Personally I think that something like this would work well in connection with dolo.

Apart from the discrete dynamic programming routines, QuantEcon currently doesn't provide a way for users to describe a generic model upon which algorithms like this can be applied.

cc @albop

davidrpugh commented 8 years ago

@spencerlyon2 Agreed. It would be useful to have a nice language for defining generic models. Such a language would be useful outside of economics as many economics models, at their core, are either dynamical systems or systems of functional equations.

albop commented 8 years ago

@davidrpugh: ... recent work in dolo goes precisely in that direction and tries to entangle the particular specification of a given model type from generic constructs for equations and other objects (the language)

About the method, I thought @zlqs1985 was mentioning Endogenous Grid Method, as denominated by Chris Carroll. The original method, is 1d only and uses quite specific assumptions (like pre- and post-states) which is why it is not in dolo yet. It certainly deserves a place in the notebook or the lectures though. I know there are some generalizations but haven't looked at them closely. It would be an interesting thing to do though.

davidrpugh commented 8 years ago

@albop I agree that simple implementations of EGM, like the Chris Carroll algorithm, would be useful teaching examples in notebooks. I came across the C++ library I linked to at ZICE a few years ago. Ken Judd mentioned it when we discussed endogenous grid point methods. For research code, I think that we should try to leverage existing libraries that implement EGM-like methods.

albop commented 8 years ago

@davidrpugh As for the library, it seems indeed quite advanced and contains many different things. I surely would be very keen to see how easy/efficient it is compared to other options. One peculiarity about this package is that I couldn't find the list of authors. I also wonder if the license is still BSD-compatible with the adhoc parts they have added to it.

zlqs1985 commented 8 years ago

@davidrpugh . Hi, David, thanks for your recommendation , actually, I have collect some exiting available code on the internet, like JFV‘s fortran code. But, when I thought I had learned enough from the code itself and wanted to exercute it , it failed to compile. The reason is I hadn't implemented the IMSL lib. I think it's ugly (without no respect for JFV, it's great that he can share his code). Meanwhile , I only have several classes on C++ many years ago and almost totally forget it. By the way.I think the beauty of Julia for me is , there is finally a hope that you can only master one major language to implement quantitative macro computation. There are many phD students like me are far away from those Top phD programs and still want to pick up the cutting edge technique, Julia can be life-saver.

zlqs1985 commented 8 years ago

@spencerlyon2 , I 'll check dolo, thanks for recommendation.

jstac commented 8 years ago

@zlqs1985 @davidrpugh @spencerlyon2 @albop Thanks all for this discussion. In the short term I'll try to include a version of Chris Carroll's 1D endogenous grid method in the lectures, along with sample code. After that we can get a sense of demand as to whether there's a need for something more ambitious.