Implementing QuantLib
Training Books Tutorials Blog

Blog

  • May 22, 2025

    Cross-currency curve bootstrapping

    In a previous post, I sketched how cross-currency swaps can be modeled in QuantLib but assumed that we already had the relevant curves. This time, we build them.

    Read more...

  • Apr 30, 2025

    The global evaluation date

    In this post, an initial look at a feature I always used in my examples but never really explained: the global evaluation date.

    Read more...

  • Apr 3, 2025

    Some improvements to "A QuantLib Guide"

    Not a lot of content in the post proper this time—but that’s because this post points to a number of improvements in A QuantLib Guide, where the actual content is.

    Read more...

  • Mar 13, 2025

    The QuantLib ecosystem

    Today’s post was originally published in the November 2024 issue of Wilmott Magazine.

    Read more...

  • Feb 20, 2025

    Coupons with multiple resets, revisited

    My first post on this argument didn’t go as planned and showed that we needed a change in the library. Let’s revisit it, now that release 1.37 fixed the problem.

    Read more...

  • Jan 30, 2025

    Adding a new cash flow to QuantLib, part II

  • Jan 9, 2025

    Adding a new cash flow to QuantLib, part I

  • Dec 19, 2024

    A new QuantLib book

  • Nov 28, 2024

    Pricing over a range of days

  • Nov 7, 2024

    Updating multiple market quotes

  • Oct 17, 2024

    Cash flows and bonds in QuantLib

  • Sep 19, 2024

    Coupons with multiple resets

  • Aug 29, 2024

    Schedules in QuantLib

  • Aug 1, 2024

    Numerical Greeks

  • Jul 11, 2024

    Holidays in QuantLib

  • Jun 20, 2024

    Different kinds of swaps

  • May 30, 2024

    Inflation indexes and curves

  • May 9, 2024

    The Observer pattern in QuantLib

  • Apr 18, 2024

    Asset swaps

  • Mar 21, 2024

    Using QuantLib interactively

  • Feb 13, 2024

    The effect of today's fixing on bootstrapping

  • Jan 30, 2024

    Assessing duration risk in QuantLib

  • Nov 28, 2023

    The Black-Scholes model in QuantLib

  • Oct 19, 2023

    Handling dependencies in QuantLib

  • Sep 27, 2023

    Cross-currency swaps

  • Sep 13, 2023

    A QuantLib-Python companion for the Ametrano-Bianchetti paper

  • May 9, 2023

    Payment-in-kind bonds

  • Apr 26, 2023

    The code from my Wilmott articles is now available

  • Apr 12, 2023

    A QuantLib series on Wilmott magazine

  • Jan 14, 2022

    Other QuantLib blogs

  • Oct 16, 2021

    LIBOR fallback calculation

  • Apr 19, 2021

    Oh, bother: email subscription is being turned off

  • Feb 10, 2021

    Leaving C++03: for real this time

  • Oct 30, 2020

    A few news items

  • Feb 19, 2020

    QuantLib in 2020 and beyond

  • Feb 10, 2020

    Implementing QuantLib is now available in Japanese

  • Jan 23, 2020

    QuantLib in the last decade

  • Sep 16, 2019

    Implementing QuantLib is now available in Chinese

  • Aug 9, 2019

    A quick look at the QuantLib 1.16 release

  • Feb 26, 2019

    A quick look at the QuantLib 1.15 release

  • Feb 19, 2019

    Introductory training on QuantLib in Python

  • Nov 27, 2018

    Leaving C++03: compiler compatibility so far

  • Nov 13, 2018

    QuantLib notebook: using curves with different day count conventions

  • Nov 7, 2018

    QuantLib notebook: discount margin calculation

  • Oct 30, 2018

    Leaving C++03: more STL classes

  • Oct 24, 2018

    QuantLib notebook: a glitch in forward rates

  • Oct 17, 2018

    Leaving C++03: a recap

  • Oct 9, 2018

    QuantLib notebook: more mischievous conventions

  • Oct 3, 2018

    A quick look at the QuantLib 1.14 release

  • Sep 27, 2018

    QuantLib notebook: mischievous bond conventions

  • Sep 18, 2018

    QuantLib notebook: building irregular bonds

  • Sep 4, 2018

    QuantLib notebook: pricing on a range of days

  • Aug 27, 2018

    The QuantLib Python Cookbook is almost done

  • Aug 7, 2018

    Leaving C++03: tooling, part 2

  • Jul 3, 2018

    Leaving C++03: tooling, part 1

  • Jun 18, 2018

    Leaving C++03: deprecated standard features

  • May 29, 2018

    A quick look at the QuantLib 1.13 release

  • May 8, 2018

    QuantLib notebook: dangerous day-count conventions

  • May 2, 2018

    Leaving C++03: automation, part 3

  • Apr 24, 2018

    Leaving C++03: automation, part 2

  • Apr 17, 2018

    Leaving C++03: automation, part 1

  • Apr 10, 2018

    Leaving C++03: standard smart pointers

  • Apr 4, 2018

    Leaving C++03: an experiment

  • Mar 20, 2018

    The benefits of procrastination

  • Feb 14, 2018

    A quick look at the QuantLib 1.12 release

  • Feb 8, 2018

    QuantLib notebook: rho for the Black process

  • Dec 20, 2017

    The slides from QLUM17 are available

  • Dec 6, 2017

    Screencast: my talk at the QuantLib user meeting 2017

  • Oct 25, 2017

    A quick look at the QuantLib 1.11 release

  • Oct 11, 2017

    A look back at the Implementing QuantLib series

  • Oct 4, 2017

    Odds and ends: the Visitor pattern

  • Sep 27, 2017

    Odds and ends: the Singleton pattern

  • Sep 20, 2017

    Odds and ends: the Observer pattern

  • Sep 13, 2017

    Odds and ends: disposable objects

  • Sep 6, 2017

    Odds and ends: linear algebra

  • Aug 30, 2017

    Odds and ends: statistics

  • Aug 23, 2017

    Odds and ends: solvers and optimizers

  • Jul 11, 2017

    QuantLib notebook: par and indexed coupons

  • May 23, 2017

    Odds and ends: exercises and payoffs

  • May 18, 2017

    A quick look at the QuantLib 1.10 release

  • May 11, 2017

    More tools: Travis CI, Codacy, and Codecov

  • Apr 26, 2017

    A visual history of QuantLib

  • Apr 12, 2017

    Chapter 8, part 13: finite-difference schemes and solvers

  • Mar 7, 2017

    Chapter 8, part 12: initial, boundary, and step conditions

  • Feb 7, 2017

    Test coverage in QuantLib

  • Feb 1, 2017

    Numerical Greeks

  • Dec 22, 2016

    'Tis the season

  • Dec 13, 2016

    Report from the QuantLib user meeting in Düsseldorf

  • Dec 9, 2016

    Chapter 8, part 11: Black-Scholes finite-difference operators

  • Dec 1, 2016

    Chapter 8, part 6.5: time-dependent operators

  • Nov 15, 2016

    A quick look at the QuantLib 1.9 release

  • Nov 3, 2016

    QuantLib notebook: market quotes

  • Oct 13, 2016

    Odds and ends: market quotes

  • Oct 5, 2016

    Chapter 8, part 10: basic finite-difference operators

  • Sep 27, 2016

    QuantLib and SWIG

  • Sep 20, 2016

    Chapter 8, part 9 of n: finite-difference iterators

  • Sep 13, 2016

    Chapter 8, part 8 of n: finite-difference meshers

  • Sep 6, 2016

    Chapter 8, part 7 of n: the new finite-difference framework

  • Jul 28, 2016

    Report from the QuantLib user meeting in London

  • Jul 19, 2016

    Translating QuantLib Python examples to C++

  • Jul 14, 2016

    The ABCD of Interest Rate Basis Spreads

  • Jun 15, 2016

    The QuantLib Python Cookbook is available

  • Jun 2, 2016

    PSA: QuantLib User Meeting in London

  • May 25, 2016

    A quick look at the QuantLib 1.8 release

  • May 18, 2016

    New blog engine, old URL

  • Mar 17, 2016

    QuantLib notebook: interest-rate sensitivities

  • Dec 17, 2015

    Christmas break

  • Dec 10, 2015

    Screencast: my talk at the QuantLib user meeting 2015

  • Dec 3, 2015

    Report from the QuantLib user meeting in Düsseldorf

  • Nov 26, 2015

    A quick look at the QuantLib 1.7 release

  • Nov 19, 2015

    Chapter 8, part 6 of n: example, American option

  • Nov 12, 2015

    Upcoming: QuantLib User Meeting 2015

  • Sep 29, 2015

    QuantLib notebook: term structures and reference dates

  • Aug 24, 2015

    Chapter 8, part 5 of n: finite-difference models

  • Jul 27, 2015

    Chapter 8, part 4 of n: step conditions

  • Jul 20, 2015

    MoneyScience Hangout available on YouTube

  • Jul 13, 2015

    Chapter 8, part 3 of n: boundary conditions

  • Jul 6, 2015

    PSA: Google Hangout

  • Jun 29, 2015

    A quick look at the QuantLib 1.6 release

  • Jun 22, 2015

    Chapter 8, part 2 of n: evolution schemes

  • Jun 15, 2015

    Chapter 8, part 1 of n: the finite-differences framework.

  • Jun 1, 2015

    An IPython notebook server with QuantLib on Docker

  • May 18, 2015

    Odds and ends: interpolations

  • May 4, 2015

    QuantLib notebook: duration of a floating-rate bond

  • Apr 27, 2015

    Chapter 7, part 6 of 6: an example of tree-based engine

  • Apr 20, 2015

    Chapter 7, part 5 of 6: tree-based lattices

  • Apr 13, 2015

    Chapter 7, part 4 of 6: trinomial trees

  • Mar 30, 2015

    Chapter 7, part 3 of 6: binomial trees

  • Mar 23, 2015

    Chapter 7, part 2 of 6: examples of discretized assets

  • Mar 16, 2015

    Chapter 7, part 1 of 6: the tree framework

  • Mar 9, 2015

    Implementing QuantLib available from Leanpub

  • Mar 2, 2015

    QuantLib notebook: numerical Greeks calculation

  • Feb 16, 2015

    A quick look at the 1.5 release

  • Feb 9, 2015

    Odds and ends: global settings

  • Dec 15, 2014

    Odds and ends: indexes

  • Dec 9, 2014

    Report from the QuantLib user meeting in Düsseldorf

  • Nov 17, 2014

    Odds and ends: date calculations

  • Oct 13, 2014

    Announcement: QuantLib user meeting 2014

  • Oct 1, 2014

    QuantLib notebook: implied term structures

  • Jul 14, 2014

    Intermission: book update and summer schedule

  • Jul 7, 2014

    Chapter 6, part 8 of 8: example

  • Jun 30, 2014

    Chapter 6, part 7 of 8: Monte Carlo simulations

  • Jun 23, 2014

    Chapter 6, part 6 of 8: Monte Carlo models

  • Jun 16, 2014

    Chapter 6, part 5 of 8: path generators

  • Jun 9, 2014

    QuantLib notebook: random numbers

  • Jun 2, 2014

    Chapter 6, part 4 of 8: more processes

  • May 26, 2014

    Chapter 6, part 3 of 8: the Black-Scholes process

  • May 19, 2014

    Chapter 6, part 2 of n: stochastic processes

  • May 12, 2014

    Chapter 6, part 1 of n: random-number generation

  • Apr 28, 2014

    QuantLib notebooks

  • Apr 14, 2014

    Still on hiatus

  • Mar 3, 2014

    Screencast: term structures

  • Feb 24, 2014

    Screencast: instruments and pricing engines

  • Feb 17, 2014

    Chapter 4, part 5 of 5: cash-flow analysis

  • Feb 10, 2014

    Chapter 4, part 4 of 5: generating cash-flow sequences

  • Feb 3, 2014

    Chapter 4, part 3 of 5: coupon examples

  • Jan 27, 2014

    Chapter 4, part 2 of 5: floating-rate coupons

  • Jan 20, 2014

    Chapter 4, part 1 of 5: Cash flows and coupons

  • Jan 13, 2014

    Chapter 3, part 7 of 7; interest-rate volatilities

  • Dec 23, 2013

    Intermission: book update and holiday hiatus

  • Dec 16, 2013

    Odds and ends: error reporting

  • Dec 9, 2013

    The strange case of the changing implied term structure

  • Dec 2, 2013

    Chapter 3, part 6 of n: volatility term structures

  • Nov 25, 2013

    Screencast: my talk at the QuantLib User Meeting

  • Nov 18, 2013

    Report from the QuantLib User Meeting

  • Nov 11, 2013

    Intermission

  • Nov 4, 2013

    Interlude: code archaeology

  • Oct 28, 2013

    Chapter 3, part 5 of n: other term structures

  • Oct 21, 2013

    Odds and ends: interest rates

  • Oct 14, 2013

    Chapter 3, part 4 of n: adding z-spread to an interest-rate curve

  • Oct 7, 2013

    Chapter 3, part 3 of n: bootstrapping an interest-rate curve

  • Sep 30, 2013

    Chapter 3, part 2 of n: Yield term structures

  • Sep 23, 2013

    Chapter 3, part 1 of n: Term structures

  • Sep 16, 2013

    Odds and ends: basic types

  • Sep 9, 2013

    Intermission: LaTeX style file and some musings.

  • Sep 2, 2013

    Chapter 5, part 5 of 5: Model example

  • Aug 26, 2013

    Chapter 5, part 4 of 5: Models and calibration

  • Aug 19, 2013

    Chapter 5, part 3 of n: Model parameters

  • Aug 12, 2013

    Chapter 5, part 2 on n: Example

  • Aug 5, 2013

    Chapter 5, part 1 of n: Parameterized models and calibration

  • Jul 29, 2013

    Odds and ends: smart pointers and handles

  • Jul 22, 2013

    Chapter 2, part 4 of 4: Example

  • Jul 15, 2013

    Chapter 2, part 3 of 4: Pricing engines

  • Jul 8, 2013

    Chapter 2, part 2 of 4: Example

  • Jul 1, 2013

    Chapter 2, part 1 of 4: Financial instruments

  • Jun 25, 2013

    Interlude

  • Jun 17, 2013

    The Plan of the Book

  • Jun 10, 2013

    Introduction

Subscribe to receive my blog posts in your mailbox. It's free.

A picture of Luigi

Luigi Ballabio is co-founder and current maintainer of the open-source QuantLib project. Also husband, father of four, ex-physicist, and amateur musician.

Follow:   RSS feed X YouTube LinkedIn

Check out my books:

The cover of A QuantLib Guide The cover of Implementing QuantLib The cover of QuantLib Python Cookbook

The posts on this blog are my own and don't represent my employer's positions, strategies, or opinions. What did you think?

Copyright 2013-2025 Luigi Ballabio. Social icons by Martz90. Built with Jekyll.

Cookie Preferences