Fixed Income Course

Short Rate Models: Vasicek, CIR & Hull-White

Implement the three canonical short rate models and price bonds and caplets in closed form.

Intermediate – Advanced~10 hours12 lessonsUpdated May 2026

Enrol now

$149one-time payment
  • Lifetime access — all lessons & updates
  • 12 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

Short rate models are the foundational building blocks of interest rate derivatives pricing. Before the industry moved to market models, Vasicek, CIR and Hull-White were — and in many contexts still are — the standard tools for pricing bonds, options and path-dependent rate products. Understanding them at the level of their stochastic differential equations is a prerequisite for understanding everything that came after.

This course builds all three models from scratch. You implement the Ornstein-Uhlenbeck dynamics of the Vasicek model, derive the closed-form zero-coupon bond price through the A(τ)/B(τ) affine structure, and extend to the CIR square-root diffusion, which enforces non-negative rates via the Feller condition. You then move to Hull-White: the time-dependent drift θ(t) that allows the model to be calibrated exactly to the market term structure — something the time-homogeneous Vasicek and CIR models cannot do.

Every model is implemented both analytically and by simulation. You price caplets via Jamshidian decomposition, which turns a caplet into a portfolio of zero-coupon bond options priced in closed form. You finish by comparing all three models on a calibration task, understanding their respective strengths and where each breaks down — the kind of model evaluation a quant does before putting a new model into production.

Hands-on

The project you'll build

The project is a single integrated interest rate modelling library that implements all three short rate models at the same level of rigour. You begin with the Vasicek SDE: you simulate the Ornstein-Uhlenbeck process, verify the mean-reversion and variance properties analytically, and then derive the A(τ) and B(τ) functions that give the closed-form zero-coupon bond price. You generate upward-sloping, flat, inverted and humped yield curves by varying the model parameters, confirming the known shapes Vasicek can and cannot produce.

You then implement the CIR model, paying careful attention to the Feller condition that prevents rates from hitting zero, and implement the non-central chi-squared bond pricing formula. Calibrating CIR to market zero rates gives you hands-on experience with the numerical challenges that affine models present. The Hull-White chapter adds the time-dependent drift: you solve for θ(t) from the initial discount curve and verify that model bond prices match market prices exactly at every tenor — a property called exact fit to the term structure.

The caplet pricing module is the culmination of the project. You use Jamshidian's decomposition to express a caplet as a portfolio of zero-coupon bond options, price each analytically under Hull-White, and sum to get the caplet price. You then run a full Monte Carlo simulation under Hull-White — simulating the short rate, constructing bond prices from simulated paths, and pricing a caplet strip — and compare the Monte Carlo output to the analytical benchmark. The final session does a head-to-head comparison of all three models on a curve-fitting task, making the trade-offs between tractability and flexibility concrete.

Outcomes

What you'll learn

Vasicek SDE and simulation

Implement the Ornstein-Uhlenbeck process, simulate short rate paths and verify the mean and variance analytically.

Affine bond pricing

Derive the A(τ) and B(τ) functions for the Vasicek and CIR models and compute zero-coupon bond prices in closed form.

Yield curve shapes

Generate all four canonical term structure shapes from the Vasicek model by varying mean reversion speed, level and volatility.

CIR model and the Feller condition

Implement the square-root diffusion, enforce positivity via the Feller condition, and price bonds using the CIR formula.

Hull-White exact fit

Calibrate the time-dependent drift θ(t) so that model ZCB prices match market prices exactly at every pillar of the term structure.

Caplet pricing via Jamshidian

Decompose a caplet into a portfolio of ZCB options using Jamshidian's trick and price the strip analytically under Hull-White.

Hull-White Monte Carlo

Simulate short rate paths under Hull-White, construct bond prices from paths, and price path-dependent products numerically.

Model comparison

Evaluate Vasicek, CIR and Hull-White on curve fit, tractability and practical applicability, and articulate when to use each.

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 language for SDE simulation, closed-form pricing and calibrationJulia, MATLAB, C++
NumPyVectorised simulation of short rate paths and array-based bond pricingJAX, PyTorch for GPU-accelerated simulation
SciPyNumerical optimisation for CIR calibration and root-finding for θ(t)nlopt, custom gradient descent
Monte CarloSimulating Hull-White short rate paths and pricing path-dependent productsPDE finite difference, trinomial lattice
matplotlibPlotting simulated rate paths, yield curve shapes and model comparisonsplotly, seaborn
JupyterStep-by-step notebook development with inline derivations and plotsVS Code, plain scripts

Syllabus

Course curriculum

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

Before you start

Prerequisites

  • Python and NumPy at the level of writing simulation loops and working with multi-dimensional arrays.
  • Stochastic calculus fundamentals: Brownian motion, Itô's lemma, and the concept of an SDE — at a conceptual level, not a proof level.
  • Fixed-income basics: discount factors, zero-coupon bond prices, and the relationship between prices and yields.
  • Some exposure to ordinary differential equations is helpful for the A(τ)/B(τ) derivation, but everything is derived step by step.
  • Introductory options knowledge (call/put payoffs, present value of an option) is useful for the caplet pricing section.

Fit

Who this course is for

Aspiring rates quants

You are preparing for a quantitative rates role and need to be able to implement, calibrate and compare short rate models from their SDEs — a standard interview expectation.

Derivatives traders and structurers

You use model prices every day and want to understand what the short rate model is doing underneath: what the parameters mean, where the model can and cannot be trusted, and what 'exact fit to the curve' actually implies.

Quant-finance students and researchers

You are studying term structure models and want to connect the theoretical SDE to working Python code, verified against analytical benchmarks.

Risk quants and model validators

You need to understand the mechanics of Hull-White deeply enough to validate or challenge its use in an XVA or callable bond pricing engine.

Faculty

Your instructor

QuantIndex Faculty

QuantIndex Faculty are practising quantitative analysts and former rates-desk developers. The short rate models curriculum is written by quants who have implemented, calibrated and validated Vasicek, CIR and Hull-White models in production pricing and XVA systems, and it is reviewed for both mathematical correctness and code quality 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 be able to prove Itô's lemma to follow this course?

No. You need to know what an SDE is and what a Brownian motion is, but the course works through the derivations with all steps shown. Mathematical rigour is maintained without requiring a graduate-level measure theory background.

Why does the course cover Vasicek if Hull-White is strictly more general?

Because Vasicek is the simplest case and every result in Vasicek carries over to Hull-White in a way that is easy to track. Learning the A(τ)/B(τ) structure in the time-homogeneous Vasicek setting first makes the Hull-White calibration step much clearer.

What is Jamshidian's decomposition and why does it matter?

Jamshidian showed that under an affine model a bond option can be expressed as a portfolio of options on a single zero-coupon bond. This reduces caplet pricing to a closed-form sum under Hull-White, which is far more efficient than Monte Carlo for a plain caplet strip. The course derives this step by step.

How does this course connect to the HJM course?

Hull-White is a special case of the HJM framework under exponential volatility. After taking this course you will understand Hull-White deeply enough that the HJM generalisation — modelling the full forward curve rather than just the short rate — becomes a natural extension rather than a conceptual jump.

Can I price more complex products once I finish?

Callable bonds and bermudan swaptions require a lattice (covered in the Callable Bonds course). Swaptions with stochastic volatility require SABR (covered in the CMS Options course). This course gives you the analytical foundation and the Monte Carlo infrastructure that those courses build on.

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.

Ready to start?

$149one-time payment
  • Lifetime access — all lessons & updates
  • 12 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.