Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


OpenSourceEconomics is a platform for discussion between students and academic researchers on issues regarding scientific programming. To this end, we arrange bi-monthly events, referred to as OSE Meetups. These meetings provide participants an opportunity to present on and inform themselves about different software solutions, as well as to receive feedback on their current research projects.

For any questions, please do not hesitate to contact us via Zulip by clicking the join chat button:

project chat

Previous Events

Slides that are not found in the folder material are available upon request

February 23rd, 2022

      Christian Zimpelmann - GETTSIM: Writing code for policy advice and high-performance research applications

Christian presents the GETTSIM package which provides a depiction of the German Taxes and Transfers System. He focuses on problems that arose during the development and how they were fixed using state-of-the-art methods from software engineering.

      Tim Mensinger - Creating Python packages during your first year, and all the things that can go wrong

Tim talks about the development process of a small Python package used to randomly assign people into groups. The talk focuses on everything that went wrong and his interaction with the user base.

November 18th, 2021

      Janos Gabler - Whats new in estimagic

Janos is going to talk about new and vastly improved features of estimagic. Particular topics are benchmarking optimizers, running multistart optimizations, and calculating standard errors and sensitivity measures for statistical models.

      Manuel Huth - SIRD models for an efficient vaccine allocation across countries

Manuel addresses the question of how countries can efficiently allocate vaccines in times of a pandemic. He does this by developing SIRD models and applying them in an optimal control framework. The talk focuses on the computational implementation and also gives a brief introduction to the Python libraries amici and libsbml, which are used to solve ODEs and for handling the SBML model.

December 2020 - October 2021

Corona Break

November 10th, 2020

      Yannik Schaelte - Likelihood-free Bayesian inference and pyABC

       Approximate Bayesian Computation can be used for statistical inference when it is no longer feasible to evaluate a likelihood -- frequently the case for complex, stochastic models. While widely applicable, it is computationally quite expensive. The python-based tool pyABC provides an efficient, scalable implementation, which is in use in a variety of research areas.

      Janos Gabler - Derivative-free optimization in Python

       Janos gives a short general introduction into the problem of local and global optimization of functions of which the derivative is not trivial to evaluate. He then presents different methods of how to tackle this problem.

July 20th, 2020

      Pablo Winant - Solving infinite horizon models with dolo and dolang

       Pablo presents two python/julia based packages: dolo is a tool to describe and solve economic models. It provides a simple classification scheme to describe models as simple text files and compiles these files into efficient Python objects representing them. It also provides many reference solution algorithms to find the solution of these models under rational expectations: local perturbations up to third order, perfect foresight solution, policy iteration, value iteration. dolang is the modeling language used by dolo, providing a simple interface similar to dynare to express models.

      Tim Mensinger - An intruduction to the i3 linux desktop environment

       i3 is a tiling window manager which targets users of GNU/Linux and BSD operating systems. i3 is primarily targeted at advanced users and developers which allows an efficient, mouse-free work flow. Tim presents the advantages and disadvantages of the desktop environment.

Mai 18th, 2020

      Gregor Boehl - An overview of my work and packages

       Gregor's work focusses on the computational challenges related to the structural-empirical analisis using nonlinear DSGE models featuring occasionally binding constraints. He gives a very brief overview on the solution technique, nonlinear Bayesian filtering, and Bayesian estimation. He also scratches on complicated or chaotic nonlinear dynamics. He then gives a short introduction into his packages pydsge, econsieve and macro_puzzles.

      Annica Gehlen - Method of Simulated Moments Estimation with respy

       Annica gives a brief overview of respy and its method of simulated moments interface which has recently been added to extend respy's estimation capabilities. As the estimation of structural econometric models is usually a challenging endeavor that requires several calibration choices, the talk also included the presentation of a brief estimation exercise that can be used to assess one's estimation setup.

      Hans-Martin von Gaudecker - An Update on the CoVid-19 Impact Lab

       The talk gives a summary on the activities related to the CoVid-19 Impact Lab in the last two months. First results are presented. Hans-Martin discusses the difficulties related to managing large project were groups of people are involved that have a different computational background. He concludes that dis-respecting programming standards for short-term speed gains never pays off in the longer run.

February 17th, 2020

      Max Blesch - Robust investments under risk and ambiguity: Harold Zurcher's robust replacement policy

       We incorporate techniques from distributionally robust optimization into a dynamic investment model. This allows us to explicitly account for ambiguity in the decision making process. We revisit the seminal bus replacement problem (Rust, 1987) under potential model misspecification. We specify ambiguity sets for the transition dynamics of the model and analyze alternative policies in a series of computational experiments. We find that, given the structure of the model and the available data on past transitions, a policy simply ignoring model misspecification often outperforms its alternatives that are designed to explicitly account for it.

      Max Blesch & Jakob Wegmann - Short Introduction to GETTSIM and a new Course about Financial Policy.

       GETTSIM provides a depiction of the German Taxes and Transfers System that will be usable in a wide array of research applications, ranging from highly complex dynamic programming models to extremely detailed microsimulation studies. GETTSIM is implemented in Python, thereby achieving both user friendliness and flexibility.

       The second part of the talk was on the new course in Financial and Social Policy. It is offered to Bachelor's students at Bonn University. The course supports students in deepening their understanding of various German policy issues. Students will learn to analyze policy implications in a quantitative manner through various case studies and work with GETTSIM for their analyses.

      Janos Gabler - Real World Debugging Strategies

       Most introductions to debugging teach unrealistic workflows with the aim of avoiding debugging altogether and then present some debugging tricks under the assumption that you followed the workflow religiously. Janos stared by outlining a pragmatic workflow aimed at reducing bugs without unrealistic assumptions on developer's discipline. He then introduced pdb++ and a set of debugging strategies that work even if developers did not follow the proposed workflow.

January 20th, 2020

      No presentations: Start of the year meeting at Cafe Blau

November 18th, 2019

      Max Blesch - Debugging with pdb

       "The python debugger (pdb)" is the debugger provided by the basic standard python distribution. The presentation contains a short introduction as well as the intructions how to use it together with pytest.

      Tim Mensinger - Causal trees

       The presentation is about the theory and implementation of Causal Trees. Causal Trees were first presented in Recursive partitioning for heterogeneous causal effects (Athey and Imbens (2016)) and can be considered as an extension of Decision Trees to the conditional treatment-effect estimation setting. During the presentation Tim gives a detailed overlook of the algorithm and mathematical properties of the estimator. At the end Tim presents his naive implementation and performance issues. Further we briefly talk about potential extensions of Causal Trees to Causal Forests; see Athey and Wager (2017).

      Tobias Stenzel - Uncertainty Quantification in economics

       Tobias gives a brief introduction to the general framework and methods of Uncertainty Quantification. It proceeds by conduncting an uncertainty propagation and the computation of first and total order Sobol' Indices for the Ishigami Equation. The Ishigami Equation is used instead of a actual model, because it provides analytic solutation and a short run time. The presentation ends with a short note on polynomial chaos expansions and their python implementation in the chaospy package.

October 14th, 2019

      Sebastian Gsell - A Local Instrumental Variables (LIV) approach to estimating the generalized Roy model

       Sebastian guides us through the world of Local Instrumental Variables (LIV) to estimate Marginal Treatment Effects (MTE) in the context of the generalized Roy model. In particular, he presents grmpy_semipar, his extension of the grmpy package. The LIV approach is often referred to as semiparametric, as it combines parametric modeling with nonparametric estimation techniques. Therefore, he first introduces us to his Python package KernReg and the function locpoly, which he uses to estimate the nonparametric component of the semiparametric MTE. Then, he outlines the individual steps in estimating MTE with LIV, highlighting the difference assumptions made by the parametric vs. the semiparametric approach. In contrast to the parametric model, the semiparametric specification does not rely on the restrictive assumption of normally distributed error terms. Finally, he uses a toy model of the decision to enroll in college and the associated wage differentials to estimate the MTE under both methods. When the error terms of the unobservables are normally distributed, both specifications come very close to the original curve. In fact, the parametric model gets a perfect fit. However, when the error terms are non-normally distributed, the parametric model underestimates the returns to college, whereas the semiparametric MTE still fits the original curve pretty well.

      Alexandros Gilch - Applications of numerical integration

       Alexandros is investigating the application of advanced numerical quadrature methods to high-dimensional integrals which arise in econometrics. The main focus lies in determining classes of econometric models which require the numerical computation of an integral and linking the corresponding integrands to a function space in the mathematical sense. Knowing in which function space the integrands lie allows us to apply specific quadrature rules that easily outrun the common Monte Carlo- and Quasi Monte Carlo techniques and can achieve an exponential convergence rate. Hence, the computational effort to evaluate this integrals and the complete model could be reduced dramatically allowing for an easier estimation of econometric models.

      Radost Holler & Paul Schäfer - Working with and Digitizing Geospatial Data

       Radost and Paul gave an introduction to geospatial data and ArcGis and discussed how to address ArcGis from Python, how to georeference maps and how to use machine-learning tools in ArcGis. Further they demonstrated how to use these techniques to transform a historical map into data.

September 12th, 2019

      Fedor Iskhakov - JOSEcon

      Fedor introduced us to the emerging Journal of Open Source Economics which will publish short papers on reusable code and allow computational economists to collect citations for their coding work.

      Tobias Raabe & Janos Gabler - respy and estimagic

      Tobias and Janos presented on the new developments of the estimagic package and its integration in respy. In the first half of the talk, Janos used the well-known multinomial probit model to show how estimagic can be used to implement user friendly estimation commands. In the second half, Tobias introduced the general structure of discrete choice dynamic programming models and showed how estimagic can also be used for more complex models.

      Boryana Ilieva - Implementing DC-EGM in a structural life-cycle model.

      Boryana presented on the new developments of the soepy package with focus on the integration of DC-EGM.

August 20th, 2019

      Hans-Martin von Gaudecker - ssh tips & tricks

      Hans-Martin shared tips about the remote work flow with ssh.

      Jan Bergerhoff - An overview of current CASE projects

      Jan talked about some projects his start-up is working on.

July 24th, 2019

      Jan Knuf - Introduction to Webscraping

      Jan gave us a introduction to webscraping with Beautiful Soup.

      Tobias Raabe & Janos Gabler - respy 2.0/Application of estimagic

      Tobias and Janos reported on newest development process of the respy package with a focus on the application of the       estimagic package.

      Christopher D. Carroll - econ-ARK

      Chris presented on econ-ARK, an open-source toolkits for researchers trying to understand how economic and social outcomes result from the actions of heterogeneous individuals (via Skype).

June 19th, 2019

      Klara Röhrl - Bokeh

      Klara presented on Bokeh, a python library for the construction of interactive plots, dashboards and data applications.

      Janos Gabler - Insights from PASC/The estimagic Package Part II

      Janos reported on his insights from PASC19 as well as on the new developments of the estimagic package.

      Felix Mauersberger - What he has been working on.

      Felix provided an overview on his current research projects.

May 14th, 2019

      Tobias Raabe - Advanced Features of numba

      Tobias presented on advanced features of numba, namely the vectorize and the guvectorize decorator that can help to write very fast and flexible code.

      Janos Gabler - The estimagic Package Part I

      Janos talked about the very first draft and some future plans for the estimagic package.

April 16th, 2019

      Holger Gerhardt - TeXTemplates

      Holger provided an overview of TeXTemplates, a compilation of sophisticated LaTeX templates for academic purposes.

      Philipp Eisenhauer - ose_utils.

      Philipp presented his newly designed model class that will be used in the major OpenSourceEconomics packages.

      Benedikt Kauf - Testing Frameworks

      Benedikt talked about different options for implementing an appropriate testing framework in python based projects. Particularly his presentation focused on the pytest, the engard as well as the hypothesis package.

March 20th, 2019

      Holger Gerhardt - BibLaTeX

      Holger talked about the application of BibLaTeX as an adequate solution for implementing references in academic writing projects.

      Boryana Ilieva - The soepy Package

      Boryana reported on the current developments of the soepy package as well as her upcoming research. Please see here for the associated notebook.

      Janos Gabler - When (not) to use classes

      Janos outlined the advantages and disadvantages of using classes in your python based projects.

February 20th, 2019

      Felix Schran - The dask Package

      Felix hold a presentation on dask a package that provides solutions for handling extremely large datasets in Python based projects.

      Christian Zimpelmann - Introduction to the mystic Package

      Christian talked about his experiences with the mystic package for difficult optimization problems.

      Tobias Raabe - Open Source Economics Git Workflow

      Tobias briefly showed the new Git workflow that we adopted in the OpenSourceEconomics projects. A detailed overview of the workflow will be part of the upcoming OSE code quaility guide.

January 30th, 2019

      Sebastian Seitz - A Structural Model of Disability Insurance

      Sebastian presented a structural model of disability insurance and the Fortran code he used to solve and estimate the model.

      Philipp Eisenhauer - f2py

      Philipp provided an overview of f2py, a package that enables us to call Fortran routines from Python. The presentation is based on the following lecture.

      Max Blesch - Experiences obtained by newest changes on ruspy

      Max reported on his experiences of implementing numba for improving the performance of the ruspy package.

December 19th, 2018

      Max Blesch - The Rust Model and ruspy

      Max gave an overview on the Rust Model as well as ruspy, an open source python package he used to replicate results from Rust, J. (1987). Optimal Replacement of GMC Bus Engines: An empirical model of Harold Zurcher. Econometrica, Vol. 55, No.5, 999-1033.

      Christian Zimpelmann - Beliefs under Ambiguity

      Christian held a presentation on the current state of his research project on beliefs under ambiguity.

      Benedikt Kauf - Review Code Quality Tools

      Benedikt presented on several code quality tools which are currently used in several OSE projects. A detailed overview will be part of the upcoming OSE code quality guide.


Infos and material for the OSE Meetup






No releases published


No packages published