Blog

The BlackScholes model in QuantLib
Today’s post was originally published as an article in the May 2023 issue of Wilmott Magazine, which was dedicated to the 50th anniversary of the BlackScholes model.

Handling dependencies in QuantLib
Today’s post on handles was originally published as an article in the March 2023 issue of Wilmott Magazine.

Crosscurrency swaps
From time to time, a question on the QuantLib mailing list or, as in this case, on the Quantitative Finance StackExchange causes me to answer with a notebook.

A QuantLibPython companion for the AmetranoBianchetti paper
It recently occurred to me that it’s 10 years since the paper by F. M. Ametrano and M. Bianchetti, Everything You Always Wanted to Know About Multiple Interest Rate Curve Bootstrapping but Were Afraid to Ask, was published on SSRN. Given the nice, round anniversary, I’m publishing here a companion Jupyter notebook that reproduces the calculations in the paper.

Paymentinkind bonds
This post was inspired by a question by Dagur Gunnarsson (thanks!) on the QuantLib mailing list. How do you price a bond that adds the coupon payment to its notional after each period?

The code from my Wilmott articles is now available

A QuantLib series on Wilmott magazine

Other QuantLib blogs

LIBOR fallback calculation

Oh, bother: email subscription is being turned off

Leaving C++03: for real this time

A few news items

QuantLib in 2020 and beyond

Implementing QuantLib is now available in Japanese

QuantLib in the last decade

Implementing QuantLib is now available in Chinese

A quick look at the QuantLib 1.16 release

A quick look at the QuantLib 1.15 release

Introductory training on QuantLib in Python

Leaving C++03: compiler compatibility so far

QuantLib notebook: using curves with different day count conventions

QuantLib notebook: discount margin calculation

Leaving C++03: more STL classes

QuantLib notebook: a glitch in forward rates

Leaving C++03: a recap

QuantLib notebook: more mischievous conventions

A quick look at the QuantLib 1.14 release

QuantLib notebook: mischievous bond conventions

QuantLib notebook: building irregular bonds

QuantLib notebook: pricing on a range of days

The QuantLib Python Cookbook is almost done

Leaving C++03: tooling, part 2

Leaving C++03: tooling, part 1

Leaving C++03: deprecated standard features

A quick look at the QuantLib 1.13 release

QuantLib notebook: dangerous daycount conventions

Leaving C++03: automation, part 3

Leaving C++03: automation, part 2

Leaving C++03: automation, part 1

Leaving C++03: standard smart pointers

Leaving C++03: an experiment

The benefits of procrastination

A quick look at the QuantLib 1.12 release

QuantLib notebook: rho for the Black process

The slides from QLUM17 are available

Screencast: my talk at the QuantLib user meeting 2017

A quick look at the QuantLib 1.11 release

A look back at the Implementing QuantLib series

Odds and ends: the Visitor pattern

Odds and ends: the Singleton pattern

Odds and ends: the Observer pattern

Odds and ends: disposable objects

Odds and ends: linear algebra

Odds and ends: statistics

Odds and ends: solvers and optimizers

QuantLib notebook: par and indexed coupons

Odds and ends: exercises and payoffs

A quick look at the QuantLib 1.10 release

More tools: Travis CI, Codacy, and Codecov

A visual history of QuantLib

Chapter 8, part 13: finitedifference schemes and solvers

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

Test coverage in QuantLib

Numerical Greeks

'Tis the season

Report from the QuantLib user meeting in Düsseldorf

Chapter 8, part 11: BlackScholes finitedifference operators

Chapter 8, part 6.5: timedependent operators

A quick look at the QuantLib 1.9 release

QuantLib notebook: market quotes

Odds and ends: market quotes

Chapter 8, part 10: basic finitedifference operators

QuantLib and SWIG

Chapter 8, part 9 of n: finitedifference iterators

Chapter 8, part 8 of n: finitedifference meshers

Chapter 8, part 7 of n: the new finitedifference framework

Report from the QuantLib user meeting in London

Translating QuantLib Python examples to C++

The ABCD of Interest Rate Basis Spreads

The QuantLib Python Cookbook is available

PSA: QuantLib User Meeting in London

A quick look at the QuantLib 1.8 release

New blog engine, old URL

QuantLib notebook: interestrate sensitivities

Christmas break

Screencast: my talk at the QuantLib user meeting 2015

Report from the QuantLib user meeting in Düsseldorf

A quick look at the QuantLib 1.7 release

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

Upcoming: QuantLib User Meeting 2015

QuantLib notebook: term structures and reference dates

Chapter 8, part 5 of n: finitedifference models

Chapter 8, part 4 of n: step conditions

MoneyScience Hangout available on YouTube

Chapter 8, part 3 of n: boundary conditions

PSA: Google Hangout

A quick look at the QuantLib 1.6 release

Chapter 8, part 2 of n: evolution schemes

Chapter 8, part 1 of n: the finitedifferences framework.

An IPython notebook server with QuantLib on Docker

Odds and ends: interpolations

QuantLib notebook: duration of a floatingrate bond

Chapter 7, part 6 of 6: an example of treebased engine

Chapter 7, part 5 of 6: treebased lattices

Chapter 7, part 4 of 6: trinomial trees

Chapter 7, part 3 of 6: binomial trees

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

Chapter 7, part 1 of 6: the tree framework

Implementing QuantLib available from Leanpub

QuantLib notebook: numerical Greeks calculation

A quick look at the 1.5 release

Odds and ends: global settings

Quants Hub workshop available

Odds and ends: indexes

Report from the QuantLib user meeting in Düsseldorf

Odds and ends: date calculations

Announcement: QuantLib user meeting 2014

QuantLib notebook: implied term structures

Still on hiatus, and some news

Intermission: book update and summer schedule

Chapter 6, part 8 of 8: example

Chapter 6, part 7 of 8: Monte Carlo simulations

Chapter 6, part 6 of 8: Monte Carlo models

Chapter 6, part 5 of 8: path generators

QuantLib notebook: random numbers

Chapter 6, part 4 of 8: more processes

Chapter 6, part 3 of 8: the BlackScholes process

Chapter 6, part 2 of n: stochastic processes

Chapter 6, part 1 of n: randomnumber generation

QuantLib notebooks

Still on hiatus

Screencast: term structures

Screencast: instruments and pricing engines

Chapter 4, part 5 of 5: cashflow analysis

Chapter 4, part 4 of 5: generating cashflow sequences

Chapter 4, part 3 of 5: coupon examples

Chapter 4, part 2 of 5: floatingrate coupons

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

Chapter 3, part 7 of 7; interestrate volatilities

Intermission: book update and holiday hiatus

Odds and ends: error reporting

The strange case of the changing implied term structure

Chapter 3, part 6 of n: volatility term structures

Screencast: my talk at the QuantLib User Meeting

Report from the QuantLib User Meeting

Intermission

Interlude: code archaeology

Chapter 3, part 5 of n: other term structures

Odds and ends: interest rates

Chapter 3, part 4 of n: adding zspread to an interestrate curve

Chapter 3, part 3 of n: bootstrapping an interestrate curve

Chapter 3, part 2 of n: Yield term structures

Chapter 3, part 1 of n: Term structures

Odds and ends: basic types

Intermission: LaTeX style file and some musings.

Chapter 5, part 5 of 5: Model example

Chapter 5, part 4 of 5: Models and calibration

Chapter 5, part 3 of n: Model parameters

Chapter 5, part 2 on n: Example

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

Odds and ends: smart pointers and handles

Chapter 2, part 4 of 4: Example

Chapter 2, part 3 of 4: Pricing engines

Chapter 2, part 2 of 4: Example

Chapter 2, part 1 of 4: Financial instruments

Interlude

The Plan of the Book

Introduction