Open source software (OSS) can be downloaded free of charge, in binary or source code form. You are free to use, modify, and redistribute permissive OSS in your derivative works, whether for commercial gain or not. OSS benefits from widespread and independent peer review, leading to unparalleled stability, reliability, and auditability.
Many of the advantages RapidQuant enjoys as a research platform are due to Python's widespread adoption in the global scientific community. While the domain-specific financial features of RapidQuant are commercially licensed in RQlib, the core data analysis tooling is freely available to everyone. The platform's primary dependency is pandas, the BSD-licensed open source data analysis project.
RapidQuant's primary dependency, pandas provides performant R-like data structures and the tools to work with them, such as I/O to multiple formats and interfaces, indexing and data alignment, reshaping and pivoting, SQL-like operations, summary statistics, and much more. Highly relevant to financial users are pandas's robust time series representations, handling of both fixed frequency and irregular data, date arithmetic, time zone handling, resampling, interpolating missing values, moving window functions, and more.
NumPy is the foundational library for scientific computing in Python, and the main dependency of the pandas library. It provides high-performance array processing on multidimensional arrays, linear algebra, fast Fourier transform, random number generation, efficient binary I/O, masked arrays, easy calls to Fortran and C libraries, and more.
StatsModels is the best source of statistics for Python. The library provides many statistical and econometric models and tests, including descriptive statistics, plotting functions, result statistics, and much more. It is an optional, but highly recommended, dependency for RapidQuant.
The matplotlib library is the 2D plotting library for Python that powers all of the RapidQuant visualizations. It can be used interactively and in applications, making it easy to produce plots, histograms, power spectra, bar charts, and more. It is a required dependency for anyone using RapidQuant's plotting features.
The SciPy library and SciKits toolboxes provide broad extended functionality for a variety of scientific computing domains. This includes data mining, machine learning, interfacing with GPUs, optimization, matrix manipulation, and much more. SciPy is an optional dependency.
The IPython project provides a rich shell with tab completion, introspection, inline visualization, and many of the other interactive features that make for a productive research environment. The project also includes a web notebook that makes exploratory analysis and collaboration far more productive. While we believe it is the best environment for RapidQuant, IPython is not a dependency.
One of the world's most popular programming languages, Python is also a successful open source project enjoying wide adoption in the financial industry. Python is a terse, highly-readable dynamic language supporting multiple programming paradigms. It benefits from mature libraries, with a large and active community of scientific users. As a programming language, Python "gets out of your way" so you can focus on your ideas instead of their implementation. Python has critical code paths compiled to C, leading to higher performance than comparable languages.
Cython is a superset of the Python language for writing compiled C extensions as easily as writing Python code. This gives developers the massive performance benefits of C without the famously long development cycles. Cython is the ideal language for wrapping external C libraries and speeding up Python application bottlenecks. The critical code paths of RapidQuant have been compiled to C with Cython.
Cython is a dependency only when compiling from source; binary installations already include built C files.
We believe data analysis tools must be useful, reliable, transparent, and auditable. Open source code, and the hard work of thousands of volunteers around the globe as developers and peer reviewers, are what makes RapidQuant the best platform for financial research. It may seem counterintuitive to "give away" something that has real costs to make, but a strong open source foundation it the only path to truly innovative technology that meets real world needs.
Of course, our support for open source is also a reflection of our philosophical mission. We think better tools for understanding the world should be available to everyone.
RQlib is the only part of RapidQuant not available under an open source license. RQlib contains our frameworks for signal generation and backtesting, including factor transformations, risk estimation, portfolio construction, backtesting, risk analysis, risk management, return analysis, and performance attribution. See the feature tour or pricing page for more.