Introduction

What is the Quantlab system?

Production and distribution of financial analysis in a broad sense. Quantlab is a comprehensive software environment where financial analysts and traders can build, simulate and visualize different analyses and trading scenarios. Complex calculations involving real time data a multitude of time-series data are quickly performed using the built-in expression language and the powerful real-time evaluation engine. The resulting data may be presented in a view, such as a graph or a table, and can also be exported into an external application (e.g. Microsoft Excel) using a COM interface, and using API:s to REST, Python and C#.

Developer and User Edition. Quantlab is available in two versions, a Developer edition and a User edition. The Developer edition is the more complex application, which the analyst uses for constructing trading strategies and other types of analysis. Traders, sales staff and brokers use the Quantlab User edition to review and examine the analysis available within a workspace. They may for example change the financial yield curves or instruments involved in the analysis or choose to look at a specific historical time segment of interest.

Powerful expression language. The built-in expression language is highly versatile, and the end-user is free to extend it using the innovative library functionality. The syntax resembles C++ with the addition of high-level treatment of vectors and matrices: There is the possibility to express normal algebraic expressions using vectors and matrices and you can expand scalar functions over vectors and matrices. A powerful visual expression editor aids in the creation of complex expressions and instant help is available for all functions and objects. Expressions are easily attached to different views using the workspace manager, and a view may contain an unlimited number of expressions. For the advanced user there is a C++ API available, exposing the full capability of Quantlab, thus creating a truly open and extensible environment.

Real-time calculations. Connected to one of the supported real-time feeds, Quantlab is able to display and manipulate expressions involving real-time term structures as well as historical time-series data. The evaluation engine efficiently handles the re-calculation.

Historical data. An important purpose of Quantlab is to facilitate the analysis of time-series data, for example the development of the TSIR over time. Any expressions created may thus easily be evaluated over a certain time period, with the evaluation engine automatically taking care of multiple sets of holidays, instruments going on and off the curves involved, different real-time links used for the same instrument over time, to mention but a few of the complexities that Quantlab automatically handles.

SQL Database. The evaluation engine is connected to an industry standard SQL database, where the necessary instrument and curve definitions resides, along with available time series data. The data may come from an external source or may be automatically collected from a real-time feed such as Reuter Triarch by using the Algorithmica History Server. More details on this solution, and the History Server in particular, are available upon request.

External API. Quantlab comes with a C++ API, exposing the full capability of the application, and presenting the C++ programmer with an abundant financial class environment to build upon. Any imaginable additional functionality may thus be added by the inclusion of one or several external plug-in modules. Third party libraries are also expected to be available for a wide range of financial calculations.

COM library. The Quantlab function library is available through a COM interface in Visual Basic. This means that the advanced user can build own applications involving Visual Basic, MS Excel with help of the Quantlab financial calculations and database communication. Moreover, all functions available in Quantlab are also possible to export to the COM interface, including your own Qlang library files and C++ dll:s.

Python API. As with the com-library, all built-in Qlang functions as well as user-built Qlang extensions are exported to Python using a dynamic link. Every time the ql-extension is loaded to Python, all Qlang functions are automatically loaded, with no need to create function stubs as a separate step.

Quantlab on-line function browser

Quantlab has an extensive function help browser that describes all functions, object types and keywords, together with numerous code examples. The function browser can be found by pressing F1 when in the Editor. (Editor opened by Ctrl-L). By default, the Function browser connects to Algorithmica Research’ on-line help library. This ensures that you always use the latest help documentation. By right-clicking on the Function browser you may select to use the local copy of the browser instead.

Contents of this document

The pdf help document is organized into the following main chapters.

Introduction - Introduction to Quantlab technology

Development environment - Guides through the workspace environment

Programming in Quantlab using Qlang - Talks about the programming basics of Quantlab

Writing library files - How to write library files

Using the COM interface - Learn about the COM interface

Using the Inter-Quantlab Communication Server - IQC - The Inter-Quantlab Communication Server

Output - tables and graphics - Describes how to build the user interface with graphs and tables

Case studies - Presents a collection of case studies for typical uses of Quantlab