QuantLib is a free and open-source library for quantitative finance. 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.
Versions available on Qarnot’s cloud platform.
If you are interested in another version, please send us an email at firstname.lastname@example.org.
Before launching the case, please ensure that the following prerequisites have been met.
- Create an account (here)
- Retrieve the authentication token (here)
- Install one of Qarnot’s SDK (Python) (Node.js) (C#) (Commande Line)
We use Python examples provided by the QuantLib-SWIG repository:
- Pricing of an American option using different methods (analytical approximations, finite-difference and binomial trees),
- Pricing of basket options (European and American) with two correlated underlyings and varying types of payoffs,
- Pricing of exotic swap options (ITM, ATM and OTM) with different models (analytical and numerical),
- Pricing of simple bonds (zero-coupon, fixed-rate, floating-rate) with appropriate term structures,
- Computation of swaps cash-flows with fixed and floating rates,
- Pricing of credit default swaps (CDS),
- Pricing of an European option using different methods,
- Valuation of interest rate derivatives using Gaussian Short Rate (GSR) and Markov models,
- Computation of zero-coupon interest rates with the bootstrap method,
- Implementation of an ISDA process to deal with default in CDS,
- Computation and display of Heston Stochastic Local Volatility (SLV) model leverage function,
- Pricing of interest-rate swaps,
- Pricing of a swing option with two models (Black-Scholes or Kluge).
You can download scripts to run these examples here. You need to unzip this folder to be able to use it on Qarnot Cloud.
Launching a case
Copy the following code in a Python script and save it next to the
quantlib-examples folder you unzipped before. Be sure you have copied your authentication token in the script (instead of
<<<MY_SECRET_TOKEN>>>) to be able to launch the task on Qarnot.
By default, the script
quantlib.py launches the pricing of an American option example. To launch another example, change the use_case at line 3:
use_case = "american-option"
american-option by the script name of your choice in the
Make sure that all input files are in the same folder named
quantlib-examples. Your working directory should look like this :
quantlib-examples/: examples from QuantLib-SWIG described above
quantlib.py: python script to run the computations on Qarnot Cloud using QuantLib.
To launch this script, open a terminal in your working directory and execute
python3 quantlib.py &. It will launch the execution of
american-option.py on Qarnot and wait in the background until the execution is over to download the results.
At any given time, you can monitor the status of your task on Tasq. You should now have an
output folder in your working directory on your computer and a
QuantLib-out bucket on Tasq containing all output files.
For instance, here is the output file of the pricing of an American option example:
Pricing of an American Put Option Evaluation date: April 15th, 2022 Expiration date: April 15th, 2023 Strike: 40.0 Spot: 36.0 Volatility ?: 0.20 Risk free rate: 6% Pricing using different methods: Method Option value 0 Barone-Adesi-Whaley 4.459628 1 Bjerksund-Stensland 4.453064 2 finite differences 4.486113 3 Binomial (JR) 4.486552 4 Binomial (CRR) 4.486415 5 Binomial (EQP) 4.480097 6 Binomial (Trigeorgis) 4.486461 7 Binomial (Tian) 4.486413 8 Binomial (LR) 4.486076 9 Binomial (Joshi4) 4.486076
That’s it! If you have any questions, please contact email@example.com and we will help you with pleasure! You can visit the Qarnot Blog to read more articles on other computational use-cases.