is the econometric toolbox for Scilab,
a matrix-oriented software similar to Gauss and Matlab, that I have developed,
first alone and since 2005 with Emmnanuel Michaux. The current version works
with Scilab versions until the 4.1.2 and from the 5.2.0 (the versions in between being inferior
both to the 4.1.2 and the most recent versions, I do not maintain Grocer anymore for these Scilab versions:
if for any reason, you nevertheless need it, e-mail me and I will then restore Grocer for these versions).
Like Scilab, Grocer is free and open source.
most standard econometric capabilities:
- ordinary least squares and various single equation methods (autocorrelated models, instrumental
variables, non linear least squares, robust methods, quantile regression...)
- basic estimation with limited dependent variables: ordered logit and
probit (with 2 or more variables); tobit; multivariate logit -
specification tests (multicollinearity, autocorrelation, heteroskedasticity,
normality, predictive failure,...)
- simultaneous equations methods (SUR,
two and three stage least squares,...) - VAR, VECM, VARMA and GARCH
- the Generalized Method of Moments (GMM)
- the Kalman filter and time varying parameters estimation
- unit root tests (ADF, KPSS,...), panel unit roots and cointegration methods (CADF, Johansen,...)
- various business cycle tools: HP, Baxter-King and Christiano-Fitzgerald
filters, the Bry-Boschan-Harding-Pagan procedure for the dating of turning
points, spectral analysis
- various panel data estimation methods: fixed and random effects, between estimation and panel models with common correlated effects
- Static and Dynamic factor estimation
- numerous time series disaggregation methods: Chow-Lin, Litterman,...
- a syntactic analyzer and a symbolic derivative
- an optimization program that mixes various optimization devices to gain robustness
some more rare -but useful- ones:
- a pc-gets like device, that
performs automatic general to specific estimations - estimation of
Markov-switching models - Bayesian Model Averaging estimation - a
contributions device,that provides contributions of exogenous variables to an
endogenous one for any dynamic equation
an interface with Excel and
unlike Gauss, it deals with true time series objects and matrices of time
an imperfect, partial, but
nevertheless substantial Gauss to Scilab translator
I recommend using Grocer either with Scilab 5.3.3 or 4.1.2: Scilab 5.3.3
contains many improvements with respect to previous versions, but the 4.1.2
still performs several Grocer functions somewhat more
the installation guidelines, called readme_grocer.pdf download
the user manual, in the zip
file grocer_manual_v1.6.zip download
THE USER LICENSE that you must accept to use grocer
if your O/S is Windows Vista or 7, then do not install Scilab in the folder Program Files: Windows will
hinder Grocer installation if you do so.
for reasons not fully understood, function olsarma does not work with the 5.3 Scilab family.
If you want to use it, then use either an older Scilab version, or the new 5.4 one.
for users that have already installed
older grocer version, it is highly recommended to uninstall this version by
running uninstall_grocer() in Scilab.
your O/S is Windows98 (or older versions of Windows) click here
e-mail: grocer.toolbox[at]free.fr (of course,
replace [at] with @).
(2014/04/26): Grocer version 1.62 has been posted on the web.
You can download Grocer in 2 different versions, according to the Scilab version you use:
This version does not contain new functionnalities, but contains the modifications needed to run properly on Scilab 5.5.0. Moreover, functions irf_asy and irf_mc1, that generated errors since the 1.6 version, have been corrected to work again porperly.
(2014/03/11): Grocer version 1.61 has been posted on the web.
This new version contains new functions: vargranger that performs Granger causality tests in a VAR; rolvar that performs VAR estimations on rolling periods; rolirf that calculates Impulse Response Function for rolling VAR; rolvar_granger that performs Granger (non-)causality tests for a rolling VAR (run help vargranger, help rolvar, help rolirf and help rolvar_granger for details).
In function pltseries0, an option to define the size of the graphic window has been added and allows to enter less items in the legend than the corresponding numbers of series.
Several bugs to function automatic and automatic_signed, mainly relative to corner solutions, have been corrected (thanks to intensive testing for an empirical project).
All '^' applied to vectors have been replaced by '.^' to comply with requirements of future Scilab releases.
(2013/10/13): Grocer version 1.6 has been posted on the web.
The main novelties of the 1.6 with respect to the previous 1.55 version are the following:
new panel functions to estimate panel models with common correlated effects (written by Emmanuel Michaux) have been introduced;
a function DMA performing dynamic model averaging, a bayesian estimation method that deals with uncertainty on the true variables among
N ones, while allowing time-varying parameters on these variables, has been added;
a function varwithfac that allows to introduce factors in a standard VAR has also been added;
function doornhans, that performs Doonik and Hansen normality test, has been extended to deal with multivariate models and 2 new functions, arlm0_multi and hetero_sq0_multi,
have been created to perform the LM autocorrelation test and the heteroskedasticty test on squared exogenous variables on multivariate models;
an optimization function optimg that mixes Scilab optim function and Grocer nelmeade function to gain robustness has been introduced; at the occasion, all functions using
an optimization program have been modified to be able to switch between the optim and optimg optimization functions and to allow the user to enter any option to these optimizers; this new function passes all
27 problems provided by the National Institute of Standards and Technology (see http://www.itl.nist.gov/div898/strd/nls/nls_main.shtml)
a syntactic analyzer (function analyse_eq) and a symbolic derivative function (deriv_eq) have been added; function nls, that performs non linear least squares, now uses
whenever possible the symbolic derivative instead of a numeric one;
function automatic, that aims at mimicking the LSE methodology, has been improved along several dimensions: first, for more efficiency, specification tests are now performed at the
end of a "path", and no more in a systematic way, and, when specification test are not accepted, then the model is backtracked until they are; second, with a new option 'depth=n' the user can now test more models
than previously; and third, the function has been adapted to deal with Probit and VAR models, and can be extended by the user to many other econometric methods with minimal programming;
at the occasion the program has been made more modular and easier to maintain;
in the same vein, printing functions for univariate methods have been rationalized;
working of functions transforming variables into matrices (explon and explouniv), which are at the heart of almost all econometric functions, has been slightly
modified for more flexibility: when a set of variables contains more than 1 constant variable, then a warning message is generated instead of stopping the function with an error;
functions stafore and dynfore could not deal with trends defined directly in the call of an estimation function: now they can;
calculation of forecast variance has been added to function varmaf
a few bugs have been corrected: working of functions performing temporal aggregation of time series (m2q, m2qa and q2a) has been restored for matrices of ts ('tsmat' objects); function pltseries could not deal anymore with time series and this has been restored; functions pltms_resid and pltms_yyhat did not adjust correctly the size of the sub-windows in the graphs presenting the residuals and the adjusted results from a multivariate Markov-switching and this has been corrected; the function performing the addition of 2 tsmats, %tsmat_m_tsmat did not work when the option for the names was 'reset' and this has been corrected.
The user manual has been modified accordingly and slightly enhanced (correction of typos, of demos when they were no more working, ...).