- Published on

# Heath-Jarrow-Morton (HJM) Framework

- Authors
- Name
- Benton Li

Prerequisite:

- Stochastic process, Ito Lema
- Forward rate
- Zero-coupon bond

# Jargons

Before you dive in, let’s warm up with some jargon!

- The term structure of interest rate: (useless definition) a thing, usually a chart, that describes how interest rates behave over time. The shape of the curve may give us some insights. For example, an inverted yield curve is a bad omen. For simplicity, in this blog, we use a
*forward rate*curve to represent the term structure. We can also use things like zero coupon bond yield curve. - Forward rate $f(t,T, \Delta)$: a borrowing rate you can lock in at time t and borrow at time $T$ and pay back at a time $T+\Delta$:. No intermediate cash flows occur.
- Zero-coupon bond $B(t,T)$: think of it as a dollar to be paid at the time $T$. Its value is the time-$t$ value of that time-$T$ dollar. Think of it as a discount factor
- Spot rate $r_t$: a rate that you can lock in and borrow at the time $t$. Depending on the context, this can be a compounded rate or a simple rate.

# Intro

When you deal with cash flow you deal with discounts. When you deal with discounts, you deal with rates. And rates are badass. They are not assets and can be multi-dimensional. For example, when you express forward rate, there will be three different time components there! We will discuss this later in the blog.

If you study derivative pricing or finance-mutant applied math, the Heath-Jarrow-Morton (HJM) framework must be a familiar guest in your textbook, usually one chapter after the one on Black-Scholes-Merton (BSM).

HJM inherits many ideas from BSM and they share many assumptions such as no arbitrage. (p.s. Jarrow was advised by Merton at MIT)

However, HJM is not a model per se. It’s not like the BSM where you can plug some values into the equation and get a price for a call option. If a model is a Lego set, then HJM is a base brick. You use HJM to characterize how the entire term structure moves stochastically. Note that we are not just focusing on a single time point. Using proper assumptions on which factors would affect rates, you can generate paths of rate movement and use them to model interest rate derivatives such as forward rate contracts, swaps, caps/floors even some badass like Bermudan swaptions

## Risk-free rate

In BS, a euro-style call option can be valued as

$C(T) = S_tN(d_1) - KN(d_2)e^{-rT}$

where r is the risk-free rate. In your homework or interview, $r$ might just be a constant like `0.02`

. I guess you might ponder “Wayment, what if r is not constant”? In reality, you never know what the interest rate could be smoking and how high it can be in the next month.

Better yet, where does this rate come from? It’s a weird creature. One way is to derive the rate from the price of risk-free zero-coupon bond (e.g. 4-week T-bill). Interestingly, affected by the rate, the market also influences the prices of risk-free zero-coupon bonds.

## Zero-coupon bond price process

We denote the price process of the zero-coupon bond as $p(t,T)$, a stochastic process of the time-t value of a time-T dollar. (read as: if you pay back 1 dollar at time T, $p(t,T)$ is how much that future-time dollar worth at time t).

The yield of a zero coupon bond is simply $r_{t,T} = (\frac{1}{p(t,T)})^{1/T-t} -1$

Conversely, $p(t,T) = (1+r_{t,T})^{-(T-t)}$

Keep in mind that $r$ and $p$ are stochastic.

If we set t to 0, then we get the spot rate $r(0,T) = (\frac{1}{Z(0,T)})^{1/T} -1$

Conversely, $p(0,T) = (\frac{1}{1+r(0,T）})^T$. Think of this as a discounting factor.

## Instantaneous forward rate process

We denote forward rate as $f(t,T,\Delta)$ (read as: today is time 0, you lock in and borrow at the rate $f(t,T,\Delta)$ at time $T$, and repay at time $T+\Delta$; rate is based on the prices of bonds that mature at time $t$).

This is different from your typical finance textbook definition where the third term $\Delta$ is often assumed to be 1 year and is omitted.

The relation between forward rate and zero coupon bond prices (both are stochastic) can be expressed as

$1+\Delta f(t,T, \Delta) = \frac{p(t,T)}{p(t,T+\Delta)}$

When $\Delta=1$, $1+1\cdot f(t,T,1)=1+f(t,T)=\frac{p(t,T)}{p(t,T+1)}$

This is read as, you borrow $1$ dollar at time $T$, and pay back $1+f(t,T)$ dollars at time $T+1$

The time-t value of the 1 dollar you borrow is worth $p(t,T)$, and time-t value of $1+f(t,T)$ dollars you repay is worth $p(t,T+1)$. The annualized interest rate (unit free) is $\frac{p(t,T)}{p(t,T+1)}-1$

Here’s the fun part, let’s make $\Delta$ a very small time horizon, e.g. 1 day, then,

When $\Delta$ approaches to 0, the forward rate becomes an instantaneous forward rate

$f(t,T) = -\frac{\partial p(t,T) }{\partial T}\frac{1 }{p(t,T)}$

Using $f(t,T)$ , we can express the risk-free **spot** rate as $r_t = f(t,t)$ , read as: you borrow at an instantaneous rate $r_t$ at time t, and pay back at time t immediately.

## Forward rate evolution

So cool, if we can characterize this $f(t,T)$ , then we can characterize the risk-free rate $r_t = f(t,t)$

Jarrow argues that $f(t,T)$ can be expressed as a stochastic process

$f(t,T)=f(0,T)+\int^t_0\mu(s,T)ds + \sum^D_{i=1}\int^t_0\sigma_i(s,T)dW_i(s)$

where $W_i(t)$ is an independent standard Wiener process.

We can rewrite it as a stochastic differential equations:

$df(t,T)=\mu(s,T)dt + \sum^D_{i=1}\sigma_i(t,T)dW_i(t)$

On right hand side, we can see a drift $\mu(s,T)dt$ and shocks $\sigma_i(t,T)dW_i(t)$

This is known as D-factor model. The factors can be unemployment rate, USD/JPY exchange rate, CPI, 4-week T-bill yields, McDonald’s stock etc.

## Zero-coupon bond price evolution

Now let’s express the zero coupon bond using $f(t,T)$ :

n.b. We are going to Ito lemma for simpler demonstration. You can also derive it using a 3-page proof. See more in the reference.

Hmm, how do we get $dp(t,T)$ then?

Let $X={-\int^T_t f(t,u)du}$ so that $p(t,T)=e^{-X}$

Now we can see that the SDE of $dX$ has a drift and shock term. We can use Ito lemma here

Solve derivatives:

Altogether, we have:

This is long and boring equation, but focus on the drift (first big term) and the shock (second big term). We shall eliminate the drift due to the law of “no arbitrage”.

First, change the numeraire (think of normalizing the price of a bond at time t by rate $r_t$

So $p(t,T)$ becomes $p(t,T)e^{-\int^{t}_0 r_sds}$ . Read as: Standing at time $t$, $p(t,T)$ is worth $p(t,T)e^{-\int^{t}_0 r_sds}$.

So $\frac{d(p(t,T)e^{-\int^{t}_0 r_sds})}{p(t,T)e^{-\int^{t}_0 r_sds}} = \frac{dp(t,T)}{p(t,T)} -r_tdt$.

n.b. The lefthand side term is a local martingale conditioned on filtration up to time t. See more in the reference.

To make it “no arbitrage”, we have to let the drift be 0

Voila! Now we can express the drift using the shock. So we can go to the mother nature, capture some independent (or loosely dependent) and explainable factors, get their volatilities or variances as shocks, then characterize a 3 dimension forward rate evolution: the forward rate itself, time t, and time T.

The workflow goes as follows:

Find factors → Gather historical data → Simulate shocks using variances → Simulate drift terms using the simulated shocks → Simulate the entire forward rate evolution → Use simulated forward rates to price derivatives

Next blog, we will use Treasury yields to run some Monte-Carlo simulations, “cook” the curve, and price some derivatives

### P.S.

During my years at Cornell I took fixed income and asset pricing theory with Jarrow. I’m forever grateful for this experience as his modeling philosophy has left a profound impact on my view toward the financial world.