Gekko Timeseries and Modeling Software is a free timeseries-oriented software package for timeseries data management, and for solving and analyzing large-scale timeseries-based models (e.g. economic models). It is recommended to use the Gekko 3.1.x version, cf. this overview page.
Gekko is timeseries-oriented, using time periods, frequencies, leads/lags, etc. to ease timeseries manipulations. Ideal for handling and analyzing timeseries data, and for data management programs that collect and prepare large amounts of timeseries data (including multidimensional data) from different sources (more).
Gekko has powerful modeling capabilities, and solves large dynamic models with lags/leads. Effects in a given model (including GAMS models) can be easily traced or decomposed. Ideal for economic models, but solves any system of simultaneous equations (more).
The Gekko command language is well-suited for timeseries operations, and programming in Gekko allows complex manipulations to be stated in a natural and compact way. Scalars, lists, maps, matrices, array-series, loops, conditionals, user defined functions, etc. are provided, too (more).
Gekko has been used for critical real-world applications since 2008.
Gekko performs well on large data management systems, or large-scale model solving.
Gekko is easy to use, and the command language is expressive and intuitive.
Gekko interfaces to Excel, Python, R, GAMS, and file formats like .csv, .prn, .tsd, etc. Excel add-in available.
The development of Gekko is anchored by a steering commitee, guiding the software development.
Gekko is open-source, using a modern and extensible platform (.NET). Gekko databanks are open-format.
The use of Gekko is completely free of charge now and in the future.
Instead of Gekko, why not use for instance Python, or R, or GAMS, or MATLAB, or SAS, or Excel, or … ?
Software packages are typically aimed at some purpose, and this is reflected in, among other things, the underlying data structures and the syntax of the command language.
Since Gekko is timeseries-oriented, the syntax for handling and analyzing timeseries and timeseries-based models is concise and natural. Gekko does not try to do everything, but tries to focus on its strong points, while simultaneously providing good interfaces to other software packages.
Productive because domain-specific
Besides Gekko being free of charge, one compelling reason for using Gekko is productivity and ease of use. Gekko commands can be thought of as a domain-specific language (DSL) regarding timeseries data management and timeseries-based modeling. Gekko’s datastructures reflect this, and the timeseries domain focus makes Gekko commands well-suited for this purpose.
Compact and simple syntax
Other software packages can handle timeseries and timeseries-based models as well, but if the software is not natively timeseries-oriented, the data structures and language syntax often get complicated and unnatural to use for this purpose. Even simple things like printing/plotting percentage growth rates, or differences between two simulated model scenarios may be difficult or time-consuming.
Interfaces instead of multi-tool
Gekko does not try to be a multi-tool. For instance, it is not the plan to offer advanced statistics/econometrics in Gekko. Instead, Gekko focuses on what it does best, namely timeseries data management and timeseries modeling, while at the same time providing easy interfaces to other software packages (for instance Python or R for statistics/econometrics).
This homepage contains a lot of information regarding Gekko. More questions and answers can be found in the FAQ, and there is a blog and a news section, too. Regarding features, there is a guided tour for a quick primer on Gekko, and regarding documentation, the user manual is online, too. Gekko can be easily downloaded and installed, and advanced users may like to delve into the source code. Contributions and suggestions are very welcome (cf. the contact info).