Fixed Income Course
Heath-Jarrow-Morton Framework
Model the full forward rate curve and price caplets with Monte Carlo under the no-arbitrage drift restriction.
Enrol now
- 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
The Heath-Jarrow-Morton framework is one of the most important results in mathematical finance. Rather than modelling a single short rate and deriving the whole curve from it, HJM takes the entire forward rate curve as the state variable. The payoff is enormous: any arbitrage-free interest rate model — Vasicek, Hull-White, the LIBOR Market Model — can be expressed as a special case of HJM. Understanding it means understanding the deep structure behind all of them.
The framework's central result is the no-arbitrage drift restriction: under the risk-neutral measure, the drift of every instantaneous forward rate is completely determined by its volatility and the integrals of volatility up to that maturity. You do not choose the drift — the market pins it for you. This is why HJM models are automatically consistent with the initial term structure, and it is the conceptual key that unlocks both the LMM and the whole family of modern interest rate models.
This course builds the framework step by step and then puts it to work in code. You implement single-factor and two-factor HJM models, show that exponential volatility recovers Hull-White prices exactly, simulate the full forward curve with Monte Carlo, and price caplets in both cases. It is a course for practitioners who want to understand not just how to use these models but why they work the way they do.
Hands-on
The project you'll build
The project is a forward curve simulation library. You begin from the HJM SDE for f(t, T) and derive the no-arbitrage drift restriction step by step, showing that the drift is a deterministic function of the volatility structure. You implement a discrete tenor grid and an Euler-Maruyama simulation of the forward curve, evolving f(t, Tj) for each tenor simultaneously on each path — the direct numerical realisation of the HJM framework.
The single-factor model uses exponential volatility σ(t, T) = σ·exp(−a(T − t)), which corresponds to the Hull-White model. After building the pricer, you verify this connection explicitly: you price a set of zero-coupon bonds using HJM Monte Carlo and compare the results to Hull-White closed-form prices, confirming that the two implementations agree to simulation error. This benchmarking step validates the code and deepens the conceptual connection between the two models.
The second half of the project extends the model to two factors with a second volatility term σ2·exp(−a2(T − t)) and a correlation coefficient between the two Brownian drivers. You re-run the simulation, observe how the additional factor affects term structure dynamics — in particular the ability to generate richer curvature moves — and price caplets under both the single- and two-factor models. The final lesson introduces the Musiela parametrisation, which rewrites the HJM equation in time-to-maturity coordinates, and explains how it leads naturally to the LIBOR/SOFR Market Model.
Outcomes
What you'll learn
HJM setup and forward rate dynamics
State the HJM framework: model the full instantaneous forward curve f(t, T) and write down its SDE under the risk-neutral measure.
No-arbitrage drift restriction
Derive the key HJM result — that the drift of the forward rate is fully pinned by the volatility structure — and explain why this rules out arbitrage.
Bond price dynamics from forward rates
Derive the dynamics of P(t, T) from the forward rate SDE and verify the short rate limit.
Single-factor Monte Carlo
Simulate the forward curve on a discrete tenor grid using Euler-Maruyama and price a zero-coupon bond and a caplet from the simulated paths.
Hull-White as a special case
Show analytically and numerically that exponential volatility in HJM recovers the Hull-White model, and benchmark Monte Carlo prices against closed-form HW prices.
Two-factor HJM
Extend the model to two correlated Brownian factors with different decay speeds and observe the richer forward curve dynamics that result.
Musiela parametrisation
Reformulate the HJM equation in time-to-maturity coordinates and explain why this form is natural for numerical implementation.
Connection to the LMM
Articulate how the HJM framework, applied to finite-tenor forward rates instead of the instantaneous forward, gives rise to the LIBOR/SOFR Market Model.
Stack
Tools & technology
The course teaches a workflow, not just a toolset — here is what we use and what you could swap in.
| Tool | Used for | Alternatives |
|---|---|---|
| Python 3 | Primary implementation language for the HJM simulation and pricing library | Julia (particularly well-suited for this type of simulation), MATLAB, C++ |
| NumPy | Vectorised simulation of the forward rate surface across paths and tenors | JAX for auto-differentiation and GPU acceleration, PyTorch |
| SciPy | Numerical integration for the HJM drift integral and Hull-White benchmark prices | Analytical evaluation where available, custom quadrature |
| Monte Carlo (Euler-Maruyama) | Simulating the full forward curve on a discrete tenor grid and pricing caplets from paths | Milstein scheme, exact simulation for the HW special case |
| matplotlib | Visualising simulated forward curve paths, term structure dynamics and factor shapes | plotly, altair |
| Jupyter | Iterative development and derivation-alongside-code notebooks | VS Code, plain Python scripts |
Syllabus
Course curriculum
10 lessons across 2 parts. Lessons marked Free preview can be read before you enrol.
Part 1 — HJM Theory & Single-Factor ModelFrom the no-arbitrage drift to a working single-factor Monte Carlo pricer.
- 1.HJM vs short rate modelsWhy modelling the full forward curve is more general and more powerful.Free preview
- 2.The HJM no-arbitrage drift restrictionDerive the key result: drift is fully determined by volatility.Free preview
- 3.Bond price dynamics under HJMDerive dP/P from the forward rate SDE.
- 4.Single-factor exponential volatilityImplement Hull-White as a special case of HJM.
- 5.Forward curve Monte Carlo simulationSimulate f(t,T) on a discrete tenor grid using Euler-Maruyama.
- 6.Caplet pricing via Monte CarloPrice a caplet from simulated forward curves.
Part 2 — Two-Factor Model & Musiela ParametrisationAdd a second factor, introduce the Musiela form, and analyse curve dynamics.
- 1.Two-factor exponential volatility structureAdd a second factor with a different decay speed for richer dynamics.
- 2.Two-factor Monte Carlo and correlationSimulate two correlated Brownian drivers and observe term structure shapes.
- 3.Musiela parametrisationReformulate HJM in time-to-maturity coordinates.
- 4.HJM → LMM: the road aheadHow HJM gives rise to the LIBOR/SOFR Market Model.
Before you start
Prerequisites
- Stochastic calculus at the level of the Itô integral, Itô's lemma and the Girsanov theorem — at a working rather than proof-based level.
- Fixed-income fundamentals: instantaneous forward rates, zero-coupon bond prices and the relationship between them.
- Python and NumPy proficiency, including multi-dimensional array operations and simulation loops.
- Prior exposure to at least one short rate model (Vasicek or Hull-White) is strongly recommended — the Short Rate Models course is the natural prerequisite.
- Basic Monte Carlo concepts: path generation, payoff averaging and convergence are introduced in earlier courses but revisited here.
Fit
Who this course is for
Rates quants and model developers
You work with interest rate models and need a rigorous, code-grounded understanding of the HJM framework — the theoretical foundation that connects Hull-White, the LMM and essentially every no-arbitrage rate model.
Derivatives researchers and PhDs
You have studied HJM in a mathematical finance course and want to translate the continuous-time theory into a working numerical implementation.
Quants progressing from the Short Rate Models course
You understand Vasicek and Hull-White and want to see where they sit inside the more general HJM framework, and how to go further toward market models.
LMM practitioners seeking deeper foundations
You use the LIBOR or SOFR Market Model in production and want to understand the HJM parent framework from which it descends, especially the no-arbitrage drift.
Faculty
Your instructor
QuantIndex Faculty
QuantIndex Faculty are practising quantitative analysts and former rates-desk developers. The HJM curriculum is written by quants who have worked with forward curve models in production Monte Carlo pricing systems, and it is reviewed for mathematical correctness, numerical robustness 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 a PhD-level background in stochastic calculus?
No, but this is genuinely an advanced course. You need to be comfortable with Itô's lemma and Brownian motion at a working level. Every derivation in the course is shown with full steps, but the course does not stop to prove foundational results from measure theory. If you have completed the Short Rate Models course you are well-prepared.
What is the no-arbitrage drift restriction in plain terms?
In HJM, you are free to specify any volatility structure for forward rates. Once you have done that, there is only one drift that is consistent with no arbitrage — it is determined entirely by your volatility choice. The drift is not a free parameter. This is the core result of the framework and the course derives it carefully.
Why is the Musiela parametrisation useful?
The Musiela form rewrites the forward rate as r(t, x) where x = T − t is time to maturity, held fixed as t advances. This converts the HJM SPDE into a form where the state is a function on a fixed domain, which is more natural for numerical discretisation and forms the direct bridge to the LIBOR Market Model.
Does this course cover the LIBOR or SOFR Market Model?
No — the LMM is the subject of a dedicated course. This course ends by showing how the HJM framework naturally gives rise to the LMM, giving you the conceptual foundation. The LMM course then builds it from scratch with full calibration and Monte Carlo pricing.
How many Monte Carlo paths are needed and how long does the simulation take?
The course implements efficient vectorised NumPy simulation. A single-factor HJM run with 10,000 paths and 20 tenor steps completes in a few seconds on a laptop. The two-factor extension roughly doubles the computation time. The course discusses variance reduction techniques to improve convergence.
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?
- 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.