Fixed Income Course

Yield Curve Bootstrapping

Build a full OIS discount curve and SOFR forward curve from market instruments in Python.

Intermediate~9 hours10 lessonsUpdated May 2026

Enrol now

$129one-time payment
  • Lifetime access — all lessons & updates
  • 10 lessons across 2 structured parts
  • Fully worked Jupyter notebooks
  • Market datasets + published benchmark prices
  • Free lesson previews before you buy
  • 14-day money-back guarantee

Secured by a no-questions-asked 14-day refund.

Overview

Introduction

Every rate on every swap, bond and derivative is ultimately a read from a curve. Before you can price anything, you need to understand exactly how that curve is built — not as a black box, but as a sequence of explicit steps you can verify, stress and trust. This course walks you through the full construction process from first principles.

You will build two curves that professional desks use in tandem: an OIS discount curve, stripped from overnight-indexed swap quotes using sequential root-finding, and a SOFR 3M forward curve, anchored to CME futures prices. Both are interpolated with cubic splines fitted to log-discount factors, which guarantees positive forward rates and smooth curve shapes.

By the end you will understand day-count conventions deeply enough to spot a convention mismatch in the wild, you will know exactly why OIS and SOFR curves diverge, and you will have a dual-curve pricer that correctly discounts with the OIS curve while projecting SOFR forwards — the industry-standard post-LIBOR setup.

Hands-on

The project you'll build

The project is a self-contained Python library for building and querying a rates curve. You start with raw market data: a short-end money-market deposit, a series of OIS swap quotes at standard tenors, and a strip of SOFR 3M futures prices. Your first task is to implement the three main day-count conventions — Act/360, Act/365 and 30/360 — correctly enough to replicate exchange-quoted year fractions to the day.

With the foundations in place you implement the OIS bootstrap: for each tenor, you solve for the discount factor that prices the OIS swap at par, conditioning on all shorter-dated factors already solved. You then extend the curve to the IMM futures dates using SOFR futures prices, and interpolate both curves using a cubic spline on the logarithm of the discount factors, which is the interpolation method used by most professional curve engines.

The final deliverable is a dual-curve pricer: given a fixed-for-floating swap, you value it by projecting cash flows with the SOFR forward curve and discounting them with the OIS discount curve. You then stress the curve with parallel and key-rate shifts and observe the sensitivity of par swap rates and DV01 — the exact workflow a rates quant uses to build and validate a new curve.

Outcomes

What you'll learn

Day-count conventions

Implement Act/360, Act/365 and 30/360 correctly and understand when each is used on a rates desk.

OIS bootstrapping

Strip discount factors from OIS swap quotes using sequential root-finding, handling short-end deposits and long-dated swaps.

SOFR futures and forwards

Build the 3M SOFR forward curve from IMM futures prices and understand the convexity adjustment.

Spline interpolation

Fit a cubic spline to log-discount factors and explain why this choice guarantees positive instantaneous forwards.

Zero and forward rates

Derive zero rates and instantaneous forward rates from a bootstrapped discount curve and interpret their shapes.

Par swap pricing

Compute at-market par swap rates directly from the bootstrapped OIS curve and verify against market quotes.

Curve stress testing

Apply parallel shifts and key-rate perturbations to the curve and observe the resulting changes in discount factors and DV01.

Multi-curve framework

Explain why OIS discounting and SOFR projection are done on separate curves and implement a dual-curve swap pricer.

Stack

Tools & technology

The course teaches a workflow, not just a toolset — here is what we use and what you could swap in.

ToolUsed forAlternatives
Python 3Primary implementation language for the bootstrapper and pricerJulia, MATLAB, C++
NumPyArray operations for discount factor arrays and date arithmeticPure Python, pandas
SciPyRoot-finding (brentq) for the bootstrap and cubic spline interpolationCustom bisection, numpy.interp
pandasLoading and structuring market quote data and datesPlain dicts, polars
matplotlibPlotting zero curves, forward curves, and stressed curve scenariosplotly, altair
JupyterStep-by-step notebook development with inline plots and verificationVS Code, plain .py scripts

Syllabus

Course curriculum

10 lessons across 2 parts. Lessons marked Free preview can be read before you enrol.

Before you start

Prerequisites

  • Comfortable with Python and NumPy — loops, array slicing, basic functions.
  • Fixed-income fundamentals: what a discount factor is, what a swap is, and the relationship between price and yield.
  • Basic calculus at the level needed to follow how forward rates are derived from the discount curve.
  • Familiarity with SciPy's root-finding and interpolation routines is helpful but not required.

Fit

Who this course is for

Rates quants and developers

You are building or maintaining a curve engine and want to understand every design choice — interpolation method, bootstrapping order, convention handling — from the ground up.

Derivatives traders and structurers

You consume curves every day but want to understand exactly what the system is doing when it builds them, especially after the LIBOR transition to SOFR.

Quant-finance students

You know the theory of discount factors and forward rates and want to see how a real curve is constructed from market instruments, not textbook toy examples.

Risk and analytics developers

You build downstream tools that consume curves and need to understand the inputs well enough to detect and debug bad curve data.

Faculty

Your instructor

QuantIndex Faculty

QuantIndex Faculty are practising quantitative analysts and former rates-desk developers. The curriculum is written by quants who have built, maintained and stress-tested curve engines in production across multiple currencies and rate environments, and it is reviewed for both mathematical rigour and code correctness before publication.

Benchmarked & verified

Every price you compute is checked against published results from leading textbooks and market data. You do not finish the course hoping your model is right — you finish it knowing.

Questions

Frequently asked questions

Do I need to know anything about the LIBOR transition to SOFR?

No prior knowledge of the transition is assumed. The course explains the multi-curve framework from scratch: why OIS and SOFR curves are built separately, and how they are combined in a dual-curve pricer.

Is this relevant outside the US? My desk uses ESTR or SONIA.

Yes. The bootstrapping methodology is identical for ESTR-based EUR curves and SONIA-based GBP curves — only the convention details change. The course teaches the method, and a short appendix covers the main convention differences across the major currencies.

What exactly is a day-count convention and why does it matter?

A day-count convention determines the year fraction for accrual periods. Getting it wrong by even one convention can produce meaningfully different cash flows on a large swap. The course implements all three conventions from scratch so you never have to guess.

Will the code work with real market data I download myself?

Yes. The course uses a realistic market dataset and the bootstrapper is designed around the same inputs you would pull from a Bloomberg or Reuters feed.

Is there a refund policy?

Yes — a 14-day, no-questions-asked money-back guarantee. If the course is not right for you, email us and we will refund you in full.

How does this course relate to the Short Rate Models and HJM courses?

Yield Curve Bootstrapping is the foundation: you build the initial term structure that the Short Rate Models and HJM courses take as input. Taking it first gives you a much cleaner understanding of what it means to 'calibrate to the market curve'.

Ready to start?

$129one-time payment
  • Lifetime access — all lessons & updates
  • 10 lessons across 2 structured parts
  • Fully worked Jupyter notebooks
  • Market datasets + published benchmark prices
  • Free lesson previews before you buy
  • 14-day money-back guarantee

Secured by a no-questions-asked 14-day refund.