thorek1 / MacroModelling.jl

Macros and functions to work with DSGE models.
https://thorek1.github.io/MacroModelling.jl/stable
MIT License
96 stars 16 forks source link

State of the field is missing #37

Closed gdalle closed 1 year ago

gdalle commented 1 year ago

The paper claims that the software

stands out for its ability to calculate sensitivities of model moments, its automatic variable declaration, and effective steady state solver.

However, a detailed comparison with related packages is only provided in the README. I think this comparison also belongs in the docs, and a synthetic version in the main paper.

When I'm lazy, I often copy README.md into docs/src/index.md so that I don't have to write the same content twice. The only thing that gets lost in the way are the edit links, but that can be fixed.

https://github.com/openjournals/joss-reviews/issues/5598

thorek1 commented 1 year ago

I added a chapter on it in the paper draft (joss branch). it reads:

Comparison with other packages

MacroModelling.jl differentiates itself among macroeconomic modelling packages by offering a unique blend of capabilities and conveniences, such as automatic declaration of variables and parameters, automatic differentiation with respect to parameters, and support for perturbation solution orders up to 3. While it operates within the Julia environment, it presents an alternative to the MATLAB-dominated field, which includes dynare, RISE, Taylor Projection, NBTOOLBOX, and IRIS, the latter two being capable of providing only 1st order perturbation solutions.

Other Julia-based packages such as DSGE.jl, StateSpaceEcon.jl, SolveDSGE.jl, and DifferentiableStateSpaceModels.jl have similar functionalities to MacroModelling.jl, but they are not as general and convenience focused as the MATLAB packages and MacroModelling.jl. Furthermore, they do not possess the unique feature set of MacroModelling.jl regarding variable declaration and automatic differentiation. Notably, the Python-based dolo.py offers global solutions, but does not include estimation and balanced growth path features which are available in MacroModelling.jl.

MacroModelling.jl stands out as one of the few packages that can solve non-stochastic steady states symbolically, a feature shared only with gEcon, an R-based package. Furthermore, unlike many of its competitors, the domain specific model language of MacroModelling.jl is integrated into the Julia language, which makes for covenient reading and coding, with the help of Julia macros.

Furthermore, I also added the comparison table to the docs.

gdalle commented 1 year ago

This is a good addition!

they are not as general and convenience focused as the MATLAB packages and MacroModelling.jl

This particular claim could use a stronger / more precise justification

gdalle commented 1 year ago

Also, including this comparison and fleshing out the summary (see #36) means the "statement of need" has become a bit redundant, perhaps it would be best to pour its non-duplicated contents into the other two sections

thorek1 commented 1 year ago

added more details on convenience and recycled statement of need

gdalle commented 1 year ago

looks good to me