The QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.
QuantLib is written in C++ with a clean object model, and is then exported to different languages such as C#, Objective Caml, Java, Perl, Python, GNU R, Ruby, and Scheme. The QuantLibAddin/QuantLibXL project uses ObjectHandler to export an object-oriented QuantLib interface to a variety of end-user platforms including Microsoft Excel and OpenOffice.org Calc. Bindings to other languages and porting to Gnumeric, Matlab/Octave, S-PLUS/R, Mathematica, COM/CORBA/SOAP architectures, FpML, are under consideration. See the extensions page for details.
Appreciated by quantitative analysts and developers, it is intended for academics and practitioners alike, eventually promoting a stronger interaction between them. QuantLib offers tools that are useful both for practical implementation and for advanced modeling, with features such as market conventions, yield curve models, solvers, PDEs, Monte Carlo (low-discrepancy included), exotic options, VAR, and so on.
Finance is an area where well-written open-source projects could make a tremendous difference:
- any financial institution needs a solid, time-effective, operative implementation of cutting edge pricing models and hedging tools. However, to get there, one is currently forced to re-invent the wheel every time. Even standard decade-old models, such as Black-Scholes, still lack a public robust implementation. As a consequences many good quants are wasting their time writing C++ classes which have been already written thousands of times.
- By designing and building these tools in the open, QuantLib will both encourage peer review of the tools themselves, and demonstrate how this ought to be done for scientific and commercial software. Dan Gezelter's talk at the first Open Source/Open Science conference discussed how the scientific tradition of peer review fits well with the philosophy of the Open Source movement. Open standards are the only fair way for science and technology to evolve.
The library could be exploited across different research and regulatory institutions, banks, software companies, and so on. Being a free/open-source project, quants contributing to the library would not need to start from scratch every time.
- Students could master a library that is actually used in the real world and contribute to it in a meaningful way. This would potentially place them in a privileged position on the job market.
- Researchers would have a framework at hand, which vastly reduces the amount of low-level work necessary to build models, so to be able to focus on more complex and interesting problems.
- Financial firms could exploit QuantLib as base code and/or benchmark, while being able to engage in creating more innovative solutions that would make them more competitive on the market.
- Regulatory institutions may have a tool for standard pricing and risk management practices.
The QuantLib license is a modified BSD license suitable for use in both free software and proprietary applications, imposing no constraints at all on the use of the library.
A few companies have committed significant resources to the development of this library, notably StatPro, a leading international risk-management provider, where the QuantLib project was born.
Help deciding the development road-map and start contributing to the library: the project-overview page gives a summary of the work in progress. Documentation is also available.
A few resources have been setup with the help from QuantLib's generous host SourceForge.net:
- The QuantLib project page is the main gathering point for the activities.
- Anyone interested is invited to join one of the mailing lists.
- Check the latest news for the most recent updates on the project.
- The released files (source code, binaries, documentation, etc.) are available at the download page.
- To submit a bug report, please use the Bug Tracker.
- If you have patches you'd like to submit, the best way is to use the Patch Manager.
- If you have a feature request, please let us know.
Our code is hosted on GitHub.
