Home

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

Planned Features

Authors

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.