OxMetrics 9

OxMetrics is a family of software packages providing an integrated solution for the econometric analysis of time series, forecasting, financial econometric modelling and statistical analysis of cross-section and panel data.

End User License Agreement

OxMetrics is a family of software packages providing an integrated solution for the econometric analysis of time series, forecasting, financial econometric modelling, or statistical analysis of cross-section and panel data. OxMetrics consists of a front-end program called OxMetrics, and individual application modules such as Ox, CATS, PcGive, STAMP and G@RCH.

OxMetrics Enterprise is a single product that includes all the important components: OxMetrics desktop, Ox Professional, CATS, PcGive and STAMP and G@RCH

OxMetrics 9, published and distributed worldwide by Timberlake Consultants.

Find out more about the new features available in OxMetrics 9

View the OxMetrics 9 Handbook here

Getting started with OxMetrics? View the OxMetrics starter guide here

Bought OxMetrics 9 and need help with the installation? View the OxMetrics installation guide here

The new release of OxMetrics 9 contains upgraded versions of STAMPPcGive and G@RCH.

The latest version includes CATS 3 (Cointegration of Time Series Analysis by Jurgen A Doornik and Katerina Juselius) and several improvements to the following modules:

Ox Console 9

New packages in Ox Console 9:

  • oxurl - download resources from the internet through simple interface to libcurl, see packages/oxurl/oxdoc/index.html
  • oxdoc - generate documentation from source code markup (written in Ox), see packages/oxdoc/oxdoc/index.html. Documentation for oxdoc is created by running it on itself.
  • gwg2ox - generates Ox code for a gwg file (used when calling Save Ox code from the graph window contact menu).
  • Python - call Python from Ox code.
  • Rox - call R from Ox code.

View the new features and improvements here.

OxMetrics Enterprise Edition Version 9.0

OxMetrics Enterprise Edition is a single product that includes and integrates all the important components for theoretical and empirical research in econometrics, time series analysis and forecasting, applied economics and financial time series: Ox Professional, PcGive, G@RCH and STAMP.

CATS 3 (Cointegration of Time Series Analysis) by Jurgen A Doornik and Katerina Juselius

CATS uses OxMetrics for data input and graphical and text output, and is part of the OxMetrics family.

The third generation of CATS is a complete rewrite in more than one way. It is now written in Ox for use within OxMetrics, either using the graphical user interface or programmatically. Furthermore, many algorithms have been improved or newly invented, in particular for I(2) models. The new CATs module with I(2) cointegration and many new I(1) cointegration features includes corrections and is considerably faster.

Ox Professional Version 9.0

An object-oriented matrix programming language. It is an important tool for statistical and econometric programming with a syntax similar to C++ and a comprehensive range of commands for matrix and statistical operations. Ox is at the core of OxMetrics. Most of the other modules of OxMetrics (such as PcGive, STAMP, G@RCH) are implemented with the Ox language. Ox Professional belongs to theOxMetrics Enterprise Edition.

PcGive Professional Version 15.0

An essential tool for modern econometric modelling. PcGive Professional is also part of OxMetrics Enterprise Edition. It provides the latest econometric techniques, from single equation methods to advanced cointegration, volatility models static and dynamic panel data models, discrete choice models and time-series models.

Find out more about PcGive

PcGive Professional includes Autometrics

Autometrics is the automatic econometric model selection procedure that is available in PcGive. Autometrics is a revolutionary new approach to model building, based on recent advances in the understanding of model selection procedures. Experiments show that Autometrics outperforms even the most experienced econometrician. Starting from an initial model, Autometrics will find the best simplified model. Thus removing the drudgery of model selection, allowing you to concentrate on the variable choice and interpretation of the model(s).

G@RCH Version 9.0

G@RCH is an OxMetrics module dedicated to the estimation and forecast of univariate and multivariate ARCH-type models. It also allows the estimation of univariate and multivariate non-parametric estimators of the quadratic variation and the integrated volatility. G@RCH provides a menu-driven easy-to-use interface, as well as some graphical features. For repeating tasks, the models can be estimated via the Batch Editor of OxMetrics or using the Ox language together with the ‘Garch’, ‘MGarch’ and ‘Realized’ classes. Version 9.0 is a major update that features many improvements. G@RCH is also part of OxMetrics Enterprise Edition.

STAMP Version 9

Modelling and forecasting time series, based on structural time series models. These models use advanced techniques, such as Kalman filtering, but are set to be easy to use. The hard work is done by the program, leaving the user free to concentrate on formulating models, then using them to make forecasts. STAMP 9 includes both univariate and multivariate models and automatic outlier detection. STAMP is also part of OxMetrics Enterprise Edition.

SsfPack Version 3.0

SsfPack is a suite of C routines for carrying out computations involving the statistical analysis of univariate and multivariate models in state space form and requires Ox 4 or above to run. SsfPack is not a member of OxMetrics Enterprise Edition.

* OxMetrics 8 and SSfPack users please note: SSfPack 3.0 has been recompiled to be compatible with OxMetrics 8 and requires users to reinstall a new version of the software.

What's New in OxMetrics 9

  • Support for dark mode. This is detected automatically under macOS, but can be set in Model/Preferences/Options. Under Windows and Linux not all dialogs will be dark. Graphics windows are never dark.
  • New default data format: *.oxdata (this is the .in7/.bn7 files together in a zip file).
  • Improved csv reading and writing, and support for zipped csv files.
  • Dropped support for obsolete spreadsheet files (.xlsx, .wks), and .dht data files.
  • Improved support for high resolution screens (HiDPI) and improved dialogs.
  • Native support for Apple silicon (M1).
  • Dropped support for 32-bit versions.
  • New full precision double point to string conversion avoids printing (e.g.) 0.46000000000000002.
  • Graphs can be saved in the SVG vector format which can be incorporated in an html document. SVG files can also be inserted into recent versions of Microsoft Word and Excel.
  • The Ox code to regenerate the graph can be created by right-clicking on a graph in the document listing and selecting Save Ox code. This can be useful if, after manual adjustments, the graph is to be used as a template for other graphs.
  • DataFetch to download data from Fred, Quandle, and other data providers.
  • The Ox code to regenerate the graph can be created by right-clicking on a graph in the document listing and selecting Save Ox code. This can be useful if, after manual adjustments, the graph is to be used as a template for other graphs.
  • PcGive and others: made Test menu into popup menu with shortcuts
  • PcGive,STAMP,G@RCH dialogs now centred on OxMetrics Model Class dialog
  • New Algebra functions: seasonal(LAG)cseasonal(LAG)DI(YEAR, PERIOD)II(YEAR, PERIOD)SI(YEAR, PERIOD)TI(YEAR, PERIOD)lag0
  • New Batch functions: drawtextdrawptextdrawtitle.
  • Special variables (SeasonalCSeasonalII#1980(1)SI#1980(1)TI#1980(1), etc.) can be used on the right-hand side in Algebra expressions.

New Packages in Ox

  • oxurl - download resources from the internet through simple interface to libcurl, see packages/oxurl/oxdoc/index.html
  • oxdoc - generate documentation from source code markup (written in Ox), see packages/oxdoc/oxdoc/index.html. Documentation for oxdoc is created by running it on itself.
  • gwg2ox - generates Ox code for a gwg file (used when calling Save Ox code from the graph window contact menu).
  • Python - call Python from Ox code.
  • Rox - call R from Ox code.

Ox 9.0

* Added .last to index last element:

x[.last][.last] = 1;
x[.last - 1][.last - 2] = 2;
x[.last + 1] //error: indexing beyond last element

  • parallel if (test-expression) for, parallel if (test-expression) foreach allows the code to decide to run in parallel or not
  • Multiplicative concatenation of arrays and strings
  • Indexing array by string: searches for an odd index wich has that string value, then accesses the next element. This emulates dictionary style lookup. If an item is not present, .Null is returned (instead of a index out of range error).

  • decl aa = {"one", 10, "two", 0, "four", <1>, "five", {1,2}};
  • println("aa[\"one\"]= ", aa["one"] ?: "false");
  • println("aa[\"two\"]= ", aa["two"] ?: "false");
  • println("aa[\"three\"]=", aa["three"] ?: "false");
  • println("aa[\"four\"]= ", aa["four"] ?: "false");
  • println("aa[\"five\"]= ", aa["five"] ?: "false");

  • This example also uses: allow a ? a : c to be written as a ? : c. This makes for more readable code when a function has many options:

    func(const options)
    {
    otherfunc(options["print"] ?: 0,
    options["stop_on_errors"] ?: 0,
    options["labels"] ?: {"a","b","c"});
    }
    decl aa = {"one": 10, "two": 0, "four": <1>, "five": {1,2}};
    // is equivalent to
    decl aa = {"one", 10, "two", 0, "four", <1>, "five", {1,2}};

    // but the former may better reflect the intention
    Note that the : can only be after odd elements, otherwise there is a compilation error

    New packages G@RCH 9.0

    • G@RCH 9.0 now includes univariate Multiplicative Error Models (MEM). MEM models are primarily aimed at modeling non-negative time series. The most popular MEM type model is the Autoregressive Conditional Duration (ACD) model of Engle and Russell (1998). G@RCH 9.0 provides no fewer than seven different specifications.
    • Mulcom 3.0 is now fully integrated into OxMetrics 9.0. MulCom is designed for forecasting evaluation. It provides an analysis of whether some among a set of competing models are significantly better than the others, in terms of predictive accuracy. MulCom can also be applied in any setting where one what to compare the means of two or more populations.
    • G@RCH 9.0 can be used with DataFetch to download data from the internet and then estimate a model on the downloaded data.

    What was released in OxMetrics 8:

    OxMetrics 8 (front end)

    The following lists the new features and improvements made to the OxMetrics front end in version 8. Current users of OxMetrics 7 will find that the user experience remains familiar.

    The most important new features are:

    • Windows: support for high resolution screens (HiDPI).
    • Windows: tabbed user interface.
    • All: interface refresh.
    • macOS: OxMetrics is now a 64-bit program, so client programs are now 64-bit as well.
    • maxOS: Find replace dialog can remain open while working elsewhere.
    • Graphs can be saved as SVG.
    • Scalable Vector Graphics (SVG) is an open standard that is supported by all modern web browsers.
    • Ox Professional is now installed with OxMetrics, so no separate installation is required to run any Ox code that is generated.

    >Back to top

    CATS 3 (Cointegration of Time Series Analysis) by Jurgen A Doornik and Katerina Juselius

    CATS uses OxMetrics for data input and graphical and text output, and is part of the OxMetrics family.

    The third generation of CATS is a complete rewrite in more than one way. It is now written in Ox for use within OxMetrics, either using the graphical user interface or programmatically. Furthermore, many algorithms have been improved or newly invented, in particular for I(2) models. The new CATs module with I(2) cointegration and many new I(1) cointegration features includes corrections and is considerably faster.

    Here is a brief summary of new features in the I(1) part of CATS

    • Much more efficient computations (can be several orders of magnitude faster) in Bartlett correction and recursive estimation;
    • Bartlett correction always included when valid;
    • Improved beta-switching algorithm;
    • New alpha-beta-switching algorithm allowing linear restrictions on alpha and not requiring identification;
    • Bootstrap of rank test;
    • Bootstrap of restrictions;
    • More Monte Carlo facilities: draw from estimated model, either with estimated or with specified coefficients;
    • General-to-specific CATSmining;
    • Automatic generation of Ox code;
    • New convenient way to express restrictions;
    • Most algorithms QR based.

    And for the I(2) part of CATS:

    • Improved tau-switching algorithm;
    • New delta-switching algorithm;
    • New triangular-switching algorithm allowing linear restrictions on alpha, beta, tau and not requiring identification;
    • Estimation with delta=0;
    • Bootstrap of rank test;
    • Simulation of asymptotic distribution of rank test;
    • Bootstrap of restrictions;
    • More Monte Carlo facilities: draw from estimated model, either with estimated or with specified coefficients;
    • Automatic tests of unit vectors and variables;
    • CATSmining;
    • Improved computation of standard errors;
    • Automatic generation of Ox code;
    • All algorithms QR based.

    The Special Issue reprint book "Recent Developments in Cointegration" has been published online and is freely accessible on the MDPI Books platform here

    >Back to top

    Ox

    Ox is an object-oriented matrix programming language with a comprehensive mathematical and statistical function library. Matrices can be used directly in expressions, for example to multiply two matrices, or to invert a matrix. The major features of Ox are its speed, extensive library, and well-designed syntax, which leads to programs which are easier to maintain.

    Running Ox programs

    There are two versions under Windows:

    Ox Professional

    oxl.exe for use in a command prompt (console) window, oxrun.exe for full graphical functionality in conjunction with OxMetrics. The oxrun and oxli programs have an interactive and debug mode. Executables are in ox\bin.

    Ox Console

    oxl.exe for use in a command prompt window.

    New Features and enhancements in Ox Version 8.0

    • Changes to Modelbase mean that oxo files of Modelbase derived classes need to be recompiled:
      • GetOx* functions have additional sClass argument; also introduced GetOxDecl,GetOxDatabase.
      • Y_VAR constants have been moved into the class (derived classes should do the same with their constants). This avoids clashes when using multiple classes in one project. So we need to write (e.g.)
        model.Select(Arfima::Y_VAR, ...

        instead of

        model.Select(Y_VAR, ...

        For convenience a mechanism has been added to use strings instead of constants:

        model.Select("Y", ...
        model.SetMethod("NLS");


        To support this, Modelbase has two new virtual functions FindGroup,FindMethod which rely on the new virtual functions GetGroupLabels,GetMethodLabels. The derived class should override GetGroupLabels,GetMethodLabels to return the correct array of strings.
    • Can save graphs as SVG file.
    • savesheet to save two-dimensional array as Excel file (counterpart to loadsheet)
    • Improved handling of array entries with no value (.Null):
      • when created using new, array elements will be .Null
      • can test .Null equality (only) using arr[i] == .Null
      • can assign arr[i] = .Null
      • but using a variable with a .Null value in an expression remains a run-time error.
    • The three dots in a function header, indicating variable number of arguments, can now be followed by a variable name. E.g:


    • func(...args)
      {
      decl a = 1;
      }

      is convenient shorthand for

      func(...)
      {
      decl args = va_arglist();
      decl a = 1;
      }

      (Unless used in main, as in main(...args), in which case arglist is called to get the command line arguments.)

    • Three dots in a function call spreads an array, so func1(...a) equals func1(a[0], a[1], a[2]) if a is an array with three elements. The array cannot have more than 256 elements.
    • Read Stata 13 and 14 .dta files.
    • Can skip items in multiple assignment, as well as use it in decl, e.g.

      decl [a, b, c] = {1, 2, 3};
      [a,,c] = {1, 3};


  • %#v on array of strings: omit top level {} (useful for generating code)
  • fwrite/fread can have a filename as the first argument. E.g.,
    • fread("filename", &s, 's') reads an entire file into one string,
    • fwrite("filename", s) saves a string as a file.
    • diagcat(a, b, ...); to concatenate more than two matrices.
    • Added p-value format for printing: e.g. print("%9.3P", 1e-6) prints "[0.000]***". The format is three stars for significance below 0.001, two for below 0.01, one for below 0.05.
    • The default line length for output is now 1024 (was 80 before). This can be changed using the format function.
    • using G,E,F format to print . for .NaN.
    • Added %rs and %cs to matrix format to specify row and column separator

    Fixed Problems in Ox version 8.0

    • confusion with norm: using 'F' on vector computes l_70 instead of l_2, now using l_2 for 'F' (assuming l_70 is never needed).
    • continue in switch can lead to stack overflow (missing a pop).
    • It is safe to redeclare constants within a class (provided they don't change value), but that symbol was counted eventhough not added, resulting in NULL symbol at the end of the list of class symbols, which crashed.

    >Back to top

    G@RCH 8.0

    • The G@RCH book is now available in pdf accessed from within the software.
    • G@RCH 8.0 comes along with Ox Professional. This major change allows G@RCH users, who previously did not purchase OxMetrics Enterprise, to run ox programs and in particular the numerous example files provides with G@RCH as well as the codes generated with ‘ALT+o’ after the estimation of a model with the rolling menus.
    • A new option is available for the Lee and Mykland (2008) and Lee and Hannig (2010) tests for jumps. This option allows both tests to have better finite sample properties when the underlying process deviates from the random walk hypothesis (with and without jumps). The correction has been proposed by Laurent and Shi (2018).
    • Following the simulation method advocated by Blasques, Lasak, Koopman, and Lucas (2016), in-sample confidence bands for the conditional mean and conditional variance of univariate GARCH-type models are now available. This allows to visually investigate the precision of the estimates of the first two conditional moments.
    • The tool introduced in version 7.0 to convert a date of the format yyyymmdd, yyyyddmm, ddmmyyyy or mmddyyyy into a proper OxMetrics format is now also accessible via the rolling menus in Category ‘Other Models’ and Model Class ‘Convert Date using G@RCH’.
    • A bug has been corrected in MGarch on the inclusion of explanatory variables in the mean and variance of DCC-type of models.
    • The G@RCH classes (Garch, MGarch and Realized) uses enumerations, i.e., lists of integer constants like enum { HESS, CROSSPRODUCT, QMLE };. By default, the first member has value 0, and each successive member has a value of one plus that of the previous member. In order to avoid clashes with other classes imported in the same project, enumerations have been moved into the classes as public members. Therefore, they can still be accessed from outside of the class but using the following convention: mgarchobj.MLE(MGarch::HESS); (where MGarch is the class name) instead of mgarchobj.MLE(HESS); like in the previous versions. Note that this is equivalent to using mgarchobj.MLE(0); because HESS is the first element of the enumeration.
    • The test for additive jumps in AR-GARCH/GJR models proposed by Laurent, Lecourt, and Palm (2016) is available in Category ‘Other Models’ and Model Class ‘Descriptive Statistics using G@RCH’ and by calling the new class function Run Test Additive Jumps of the Garch class or the RGARCH class directly (which is available in the same folder as Garch.oxo). Several example files are also provided to estimate a BIP-AR-GARCH/GJR model and to extract the detected jumps in ox.
    • Several minor bugs have been corrected.

    >Back to top

    PcGive 15

    The improvements in PcGive mainly relate to (1) model formulation, (2) saturation estimation using Autometrics, (3) automatic model selection in simultaneous equations models (SEM).

    Fixed and Improved in PcGive 15

    • Easier desktop layout with additional direct access to recursive graphs, forecasts and tests.
    • Trend indicator saturation (TIS) (we have undertaken research using TIS on GPs speed of takeup of generics, which yielded useful results, but still in progress, as is the technical paper)—note this as PcGive being at the frontier implementing powerful new approaches.
    • Recursive graphs can be implemented after conventional estimation rather than needing a separate implementation, and can be undertaken with or without indicator saturation (IS).
    • Additional diagnostic plots are available
    • Easy choice of form of estimated parameter standard errors (SEs) including HCSE and HACSE.
    • Multivariate robust Hedgehog plots had variables scrambled.
    • Hedgehog plots use a different color in the forecast period.
    • Hedgehog Levels forecasts beyond estimation sample: not integrated.
    • Levels forecasts with gap: created cGap extra forecasts Also used wrong levels if cGap > 0.
    • Recursive hedgehog would omit early part when there are dummies.
    • Fixed Ox issue with find, affecting forecasting.
    • Autometrics options are presented differently, offering more flexibility in the choice of saturation.
    • The AR test after FIML has been changed, using the 3SLS likelihood instead of estimating the extended model by FIML.
    • When the lag length exceeds 12, the presearch uses lag blocking and a more e cient search for contrasting terminals.

    Unique to PcGive 15

  • Hedgehog graphs where a sequence of forecasts for say 1 through 8 steps ahead starting at successive horizons T, T+1, etc. are plotted against outcomes looking like the spins of a hedgehog.
  • Easily computed forecasts by a robust device as an additional choice to avoid that problem: an illustration is attached showing how much better the robust device is after a shift.
  • >Back to top

    STAMP 9

    New Features

    • STAMP 9 works under OxMetrics 6.1.
    • The Ox code generator is introduced and fully supported by STAMP. This new facility can generate Ox code for the model that is estimated in STAMP. It complements the Batch code generator in STAMP. It is particularly useful for those who use Ox for time series analysis in a production environment.
    • The online help facility of STAMP is updated. In particular, the online help for the Batch language and the new Ox code generator are rewritten.
    • AIC and BIC added to default output.
    • The confidence bounds of seasonal, cycle, and AR components can be centered around zero or following the components.

    Solved problems

    • All weights and related computations in the Test/Weights dialog can be carried out, also for time series with missing data.
    • The Write forecasts option is combined with a Store forecasts option in the Test/Forecasting dialog. The observations forecasts are stored after confirmation as a new variable with the forecasts attached at the end of the sample. When necessary, the database sample is automatically extended such that the forecast window is included. The in-sample values of the new variable are the same as in the original series.
    • The Edit/Save forecasts option in the Test/Forecasting dialog is reactivated for model without explanatory variables.
    • The Batch code options for Forecasting is extended; see Batch documentation.
    • Variables and components in the Batch code need to be written between accolades. Specifically, in the setcmp batch command we have "level", "slope", "seasonal", "cycle", "ar" and "irregular".
    • Inclusion of lagged dependent variables is discouraged. A new facility will be built in for the next version. In this version it is best to treat and to have it as an exogenous variable.

    >Back to top

    The current OxMetrics software family supports the latests versions of Microsoft Windows, Mac OS and Linux. See below to see if your machine is compliant with the latest version:

    • 32-bit: Windows 10, 8, 7, Vista, XP; Linux (i386); OS X
    • 64-bit: Windows 10, 8, 7, Vista, XP; Linux (x86_64); OS X

    Brand new OxMetrics 9 Webinar Series

    Register below for our next free webinar in OxMetrics 9, where you can learn about the latest release of the software.

    Sign Up

    An Introduction to G@RCH

    Follow this link to view the recording of our latest hour long webinar covering an introduction to the G@RCH module within OxMetrics 9

    https://www.timberlake.co.uk/software/oxmetrics/

    Start Again

    Bookshelf

    Empirical Model Discovery: A synthesis of the authors’ groundbreaking econometric research on automatic model selection, which uses powerful computational algorithms and theory evaluation.

    Handbook of Volatility Models: Featuring contributions from international experts in the eld, the book features numerous examples and applications from real-world projects and cutting-edge research, showing step by step how to use various methods accurately and efficiently when assessing volatility rates.


    Help Guides

    View the OxMetrics 9 Handbook here

    Getting started with OxMetrics? View the OxMetrics starter guide here

    Bought OxMetrics 9 and need help with the installation? View the OxMetrics installation guide here

    OxMetrics offers special prices to students. To be able to purchase OxMetrics modules at student prices, you need to present proof of student status. 

    Student copies are full versions of the software. However, they may not include all the documentation. For example, PcGive is distributed with the Introduction to OxMetrics book and PcGive Volume I manual only. Ox Professional is distributed with Introduction to OxMetrics book and the Introduction to Ox manual only. STAMP is distributed with the full documentation, Introduction to OxMetrics book and STAMP book. G@RCH is distributed with the full documentation, Introduction to OxMetrics book and G@RCH book. When purchasing more than one module only 1 Introduction to OxMetrics book will be included.

    Prices

    Single Module of PcGive / Ox Professional / STAMP / G@RCH
    £85.00 (excluding VAT where applicable).

    TSP/OxMetrics
    £95.00 (excluding VAT where applicable).

    Any two modules from PcGive / Ox Professional / STAMP / G@RCH
    £136.00 (excluding VAT where applicable).

    Any three modules from PcGive / Ox Professional / STAMP / G@RCH
    £204.00 (excluding VAT where applicable).

    Any four modules from PcGive / Ox Professional / STAMP / G@RCH
    £210.00 (excluding VAT where applicable).

    Post your comment

    Timberlake Consultants