Awesome
QuantLib-Risks: QuantLib with XAD Automatic Differentiation in C++
<p align="center" dir="auto"> <a href="https://github.com/auto-differentiation/QuantLib-Risks-Cpp/actions/workflows/ci.yaml"> <img src="https://img.shields.io/github/actions/workflow/status/auto-differentiation/QuantLib-Risks-Cpp/ci.yaml?label=Build%20%28XAD%20main%20vs%20QuantLib%20master%29" alt="GitHub Workflow Status" style="max-width: 100%;margin-right:20px"> </a> <a href="https://github.com/auto-differentiation/QuantLib-Risks-Cpp/blob/main/CONTRIBUTING.md"> <img src="https://img.shields.io/badge/PRs%20-welcome-brightgreen.svg" alt="PRs Welcome" style="max-width: 100%;"> </a> </p>As a demonstrator of integration of the XAD automatic differentiation tool with real-world code, the latest release of QuantLib can calculate risks with the help of XAD. The performance achieved on sample applications is many-fold superior to what has been reported previously with other tools. This demonstrates production quality use of the XAD library in a code-base of several hundred thousand lines.
This repository contains integration headers, examples, and tests required for this integration. It is not usable stand-alone.
Getting Started
For detailed build instructions with XAD and QuantLib, please refer to the XAD documentation site.
Getting Help
If you have found an issue, want to report a bug, or have a feature request, please raise a GitHub issue.
For general questions about XAD, sharing ideas, engaging with community members, etc, please use GitHub Discussions.
Contributing
Please read CONTRIBUTING for the process of contributing to this project. Please also obey our Code of Conduct in all communication.
Related Projects
- XAD Comprehensive automatic differentiation in Python and C++
- QuantLib-Risks: Fast risk evaluations in Python and C++
Planned Features
- Gradually port more of the QuantLib tests and add AAD-based sensitivity calculation
- Add more Examples
Authors
- Various contributors from Xcelerit
- See also the list of contributors who participated in the project.
License
Due to the nature of this repository, two different licenses have to be used for different part of the code-base. The tests and examples folders are containing code taken and modified from QuantLib where the QuantLib license applies. The ql folder contains adaptor modules for XAD, where the GNU AGPL applies. This is clearly indicated by having separate license files in each folder.