Estimagic is a Python package that helps to build high-quality and user friendly implementations of (structural) econometric models. It is designed with large structural models in mind, but also “scales down” to simple cases.
Estimagic provides tools for nonlinear optimization, numerical differentiation and statistical inference.
Structure of the Documentation¶
Unified interface to a large number of local and global optimization algorithms. Of course we have all algorithms from scipy.optimize but many more become available when you install optional dependencies.
Parameters are specified as pandas DataFrames that can have any kind of single or MultiIndex
Many types of constraints can be used with any optimizer that supports simple box constraints. Constraints are specified using parameter names, not positions.
The complete history of parameters and function evaluations is saved in a database for maximum reproducibility. They are also displayed in real time in an interactive dashboard.
Calculate precise numerical derivatives using Richardson extrapolations.
All function evaluations needed for numerical derivatives can be done in parallel with pre-implemented or user provided batch evaluators.
Asymptotic standard errors for maximum likelihood an method of simulated moments
Bootstrap confidence intervals and standard errors for nonlinear estimators. Of course the bootstrap procedures are parallelized.