Skip to content

1. Affine Bond Pricing: Hull-White Model

The Hull-White model 1 extends the Vasicek framework with time-dependent parameters, particularly the drift function \(\theta(t)\), enabling perfect calibration to the current market yield curve. Remarkably, despite this time-dependence, we can still derive closed-form bond pricing formulas using the affine ansatz.

This treatment follows the standard references in the field, especially Brigo and Mercurio (Chapter 3.4) 2 and Andersen and Piterbarg (Chapter 5) 3.

Before proceeding, review the Hull-White model fundamentals, including the time-varying drift, SDE solution, and yield curve fitting properties.


1.1 The Bond Pricing Problem

We seek the price at time \(t\) of a zero-coupon bond maturing at time \(T\), denoted \(P(t, T)\). Under the risk-neutral pricing framework:

\[ \begin{equation} P(t, T) = \mathbb{E}^{\mathbb{Q}}\left[\exp\left(-\int_t^T r(s)ds\right) \bigg| \mathcal{F}_t\right] \label{eq:hw_bond_price_expectation} \end{equation} \]

where:

  • \(\mathbb{E}^{\mathbb{Q}}\) denotes expectation under the risk-neutral measure
  • \(\mathcal{F}_t\) is the information available at time \(t\)
  • \(r(s)\) follows Hull-White dynamics: \(dr(s) = [\theta(s) - ar(s)]ds + \sigma dW(s)\)

The time-varying \(\theta(s)\) is calibrated to match the initial market forward curve, ensuring the model is arbitrage-free relative to observed bond prices.


1.2 The Affine Ansatz

We expect to represent the bond price as an affine form, whereas it's derived using the Hull-White model to describe the underlying dynamics:

\[ \begin{equation} P(t, T) = A(t, T)e^{-B(t, T)r(t)} \label{eq:hw_affine_ansatz} \end{equation} \]

where \(A(t, T) > 0\) and \(B(t, T) \geq 0\) are deterministic functions.

Boundary Conditions

The boundary condition at maturity is:

\[ \begin{equation} P(T, T) = 1 \quad \Rightarrow \quad A(T, T) = 1, \quad B(T, T) = 0 \label{eq:boundary_conditions} \end{equation} \]

Similar boundary conditions observed in Vasicek Affine Model


1.3 Deriving the Pricing PDE

Under the risk-neutral measure with time-dependent drift, the bond price satisfies:

\[ \begin{equation} \frac{\partial P}{\partial t} + [\theta(t) - ar]\frac{\partial P}{\partial r} + \frac{1}{2}\sigma^2\frac{\partial^2 P}{\partial r^2} - rP = 0 \label{eq:hw_pricing_pde} \end{equation} \]
Where is \(\ref{eq:hw_pricing_pde}\) coming from?

Let \(P(t,T)=f(t,r_t)\) and recall the Hull-White dynamics under \(\mathbb{Q}\):

\[ dr_t = \style{color: var(--math-highlight-2)}{[\theta(t)-ar_t]dt + \sigma dW_t} \]

Applying Ito to \(f(t,r_t)\) gives

\[ df = \frac{\partial f}{\partial t}dt + \frac{\partial f}{\partial r}dr_t + \frac{1}{2}\frac{\partial^2 f}{\partial r^2}(dr_t)^2 \]

Substitute \(dr_t\) and keep track of the quadratic variation:

\[ \begin{aligned} df = \frac{\partial f}{\partial t}dt + \frac{\partial f}{\partial r}(\style{color: var(--math-highlight-2)}{[\theta(t)-ar_t]dt + \sigma dW_t}) + \frac{1}{2}\frac{\partial^2 f}{\partial r^2}(\style{color: var(--math-highlight-2)}{[\theta(t)-ar_t]dt + \sigma dW_t})^2 \end{aligned} \]

Using \(dt\cdot dt=0\), \(dt\cdot dW_t=0\), and \(dW_t^2=dt\), after solving the 2nd-power of \(dr_t\), we obtain:

\[ \begin{aligned} \left(\style{color: var(--math-highlight-2)}{[\theta(t)-ar_t]dt + \sigma dW_t}\right)^2 &= [\theta(t)-ar_t]^2(dt)^2 + 2[\theta(t)-ar_t]dt \cdot \sigma dW_t + \sigma^2(dW_t)^2 \\ &= 0 + 0 + \sigma^2 dt \end{aligned} \]

where we use the Itô calculus rules \((dt)^2 = 0\), \(dt \cdot dW_t = 0\), and \((dW_t)^2 = dt\), coming from quadratic variation definitions.

\[ \style{color: var(--math-highlight-4)}{(dr_t)^2} = \style{color: var(--math-highlight-4)}{\sigma^2 dt} \]
\[ \begin{aligned} df = \frac{\partial f}{\partial t}dt + \frac{\partial f}{\partial r}(\style{color: var(--math-highlight-2)}{[\theta(t)-ar_t]dt + \sigma dW_t}) + \frac{1}{2}\frac{\partial^2 f}{\partial r^2}\style{color: var(--math-highlight-4)}{\sigma^2 dt} \end{aligned} \]

So the differential simplifies to

\[ df = \left[\style{color: var(--math-highlight-2)}{\frac{\partial f}{\partial t} + (\theta(t)-ar_t)\frac{\partial f}{\partial r} + \frac{1}{2}\sigma^2\frac{\partial^2 f}{\partial r^2}}\right]dt + \sigma\frac{\partial f}{\partial r} dW_t \]

Now, recall that under risk-neutral definitions, the stochastic process lacks of any drift component. As a result, and also recalling that the risk-neutral framework makes indifferent a risky asset from a risk-free asset, we make it equal to \(\style{color: var(--math-highlight-3)}{r_t \cdot P}\), which is the price of the bond multiplied by the interest rate \(r_t\), resulting in

\[ \style{color: var(--math-highlight-2)}{\frac{\partial f}{\partial t} + (\theta(t)-ar_t)\frac{\partial f}{\partial r} + \frac{1}{2}\sigma^2\frac{\partial^2 f}{\partial r^2}} - \style{color: var(--math-highlight-3)}{r_t \cdot P} = 0 \]

which is exactly \(\ref{eq:hw_pricing_pde}\).

Computing the partial derivatives using our ansatz:

\[ \begin{equation} \frac{\partial P}{\partial t} = \left(\frac{1}{A}\frac{\partial A}{\partial t} - r\frac{\partial B}{\partial t}\right)P \label{eq:hw_dP_dt} \end{equation} \]
\[ \begin{equation} \frac{\partial P}{\partial r} = -BP \label{eq:hw_dP_dr} \end{equation} \]
\[ \begin{equation} \frac{\partial^2 P}{\partial r^2} = B^2P \label{eq:hw_d2P_dr2} \end{equation} \]

1.4 Substituting into the PDE

Plugging into equation \(\ref{eq:hw_pricing_pde}\):

\[ \begin{equation} \left(\frac{1}{A}\frac{\partial A}{\partial t} - r\frac{\partial B}{\partial t}\right)P + [\theta(t) - ar](-B)P + \frac{1}{2}\sigma^2 B^2P - rP = 0 \label{eq:hw_pde_substituted} \end{equation} \]

Dividing by \(P\) and separating by powers of \(r\):

\[ \begin{equation} \begin{aligned} \frac{1}{A}\frac{\partial A}{\partial t} + \frac{1}{2}\sigma^2 B^2 - \theta(t)B + r\left(aB - \frac{\partial B}{\partial t} - 1\right) = 0 \\ \frac{\partial \ln A}{\partial t} + \frac{1}{2}\sigma^2 B^2 - \theta(t)B + r\left(aB - \frac{\partial B}{\partial t} - 1\right) = 0 \end{aligned} \label{eq:hw_pde_rearranged} \end{equation} \]

For this to hold for all \(r\), both coefficients must vanish independently. For this equation to hold for all values of \(r\), the coefficient of \(r\) must vanish, and the constant term must also be zero. This gives us two ODEs! as the terms \(a\) and \(\sigma\) are considered as given from Vasicek calibration. The constant term refers to coefficient of \(r^0\), meanwhile, linear term refers to the coefficient of \(r^1\).

Term Type Expression Resulting ODE
Constant term \(\frac{1}{A}\frac{\partial A}{\partial t} + \frac{1}{2}\sigma^2 B^2 - \theta(t)B = 0\) \(\frac{\partial \ln A}{\partial t} + \frac{1}{2}\sigma^2 B^2 - \theta(t)B = 0\)
Linear term \(aB - \frac{\partial B}{\partial t} - 1 = 0\) \(\frac{\partial B}{\partial t} - aB = -1\)

1.5 Solving for \(B(t, T)\)

The coefficient of \(r\) gives:

\[ \begin{equation} \frac{\partial B}{\partial t} + aB - 1 = 0 \label{eq:hw_B_ode} \end{equation} \]

with boundary condition \(B(T, T) = 0\). This is identical to the Vasicek equation! The time-varying \(\theta(t)\) doesn't affect \(B(t,T)\). The solution is:

\[ \begin{equation} B(t, T) = \frac{1 - e^{-a(T-t)}}{a} \label{eq:hw_B_solution} \end{equation} \]

Interpretation:

  • The rate sensitivity is the same as in Vasicek
  • Only the drift \(\theta(t)\) varies with time, not the mean reversion strength
  • This makes \(B(t,T)\) particularly easy to compute and interpret

1.6 Solving for \(A(t, T)\)

The constant term gives:

\[ \begin{equation} \frac{\partial \ln A}{\partial t} - \theta(t)B(t, T) + \frac{1}{2}\sigma^2 B(t, T)^2 = 0 \label{eq:hw_A_ode} \end{equation} \]

with boundary condition \(A(T, T) = 1\). Integrating from \(t\) to \(T\):

\[ \begin{equation} \ln A(t, T) = -\int_t^T \left[\theta(u)B(u, T) - \frac{1}{2}\sigma^2 B(u, T)^2\right]du \label{eq:hw_ln_A_integral} \end{equation} \]

The volatility term can be computed analytically:

\[ \begin{equation} \int_t^T B(u, T)^2 du = \frac{1}{a^2}\left[(T-t) + \frac{1}{2a}(e^{-2a(T-t)} - 1) - \frac{2}{a}(e^{-a(T-t)} - 1)\right] \label{eq:hw_B_squared_integral} \end{equation} \]
Computing \(\int_t^T B(u, T)^2 du\)

Use \(B(u,T)=\frac{1-e^{-a(T-u)}}{a}\) and set \(x=T-u\):

\[ \int_t^T B(u,T)^2 du = \frac{1}{a^2}\int_0^{T-t} (1-e^{-ax})^2 dx \]

Expand and integrate term-by-term:

\[ \int_0^{T-t} (1-e^{-ax})^2 dx = \left[x + \frac{e^{-2ax}-1}{2a} - \frac{2(e^{-ax}-1)}{a}\right]_0^{T-t} \]

which yields \(\ref{eq:hw_B_squared_integral}\).

The \(\theta(u)\) term requires knowledge of the market forward curve, but can be expressed as:

\[ \begin{equation} \begin{aligned} \int_t^T \theta(u)B(u, T)du &= \ln\frac{P^M(0,T)}{P^M(0,t)} \\ &\quad+ B(t,T)f^M(0,t) \\ &\quad- \frac{\sigma^2}{2a^2}\left[(T-t) - B(t,T) - \frac{B(t,T)^2a}{2}\right] \end{aligned} \label{eq:hw_theta_integral} \end{equation} \]
Where does \(\ref{eq:hw_theta_integral}\) come from?

The exact-fit condition \(P(0,T)=P^M(0,T)\) implies a relation between \(\theta(t)\) and the market forward curve \(f^M(0,t)\). Integrating \(\theta(u)B(u,T)\) by parts and substituting \(B(u,T)\) leads to the log ratio \(\ln\frac{P^M(0,T)}{P^M(0,t)}\) plus the forward-rate term \(B(t,T)f^M(0,t)\) and the volatility adjustment shown in \(\ref{eq:hw_theta_integral}\).

where \(P^M(0,T)\) is the market bond price at time 0 and \(f^M(0,t)\) is the market instantaneous forward rate.


1.7 Complete Bond Pricing Formula

The zero-coupon bond price under Hull-White is:

\[ \begin{equation} P(t, T) = A(t, T)\exp\left(-B(t, T)r(t)\right) \label{eq:hw_bond_complete} \end{equation} \]

where:

\[ \begin{equation} B(t, T) = \frac{1 - e^{-a(T-t)}}{a} \label{eq:hw_B_final} \end{equation} \]
\[ \begin{equation} A(t, T) = \frac{P^M(0,T)}{P^M(0,t)}\exp\left[B(t,T)f^M(0,t) - \frac{\sigma^2}{4a}B(t,T)^2(1-e^{-2at})\right] \label{eq:hw_A_final} \end{equation} \]

Key property: At time \(t=0\), we have \(P(0,T) = P^M(0,T)\) — the model exactly reproduces the market yield curve!


1.8 Yield Curve Implications

The continuously compounded yield is:

\[ \begin{equation} y(t, T) = -\frac{\ln P(t, T)}{T - t} = -\frac{\ln A(t, T)}{T - t} + \frac{B(t, T)}{T - t}r(t) \label{eq:hw_yield} \end{equation} \]

Advantages over Vasicek:

  • At \(t=0\), yields match market exactly: \(y(0,T) = y^M(0,T)\)
  • Future yield curves evolve consistently with current market information
  • Arbitrage-free by construction relative to liquid bonds
  • Only the deviations from the fitted curve are modeled stochastically

1.9 Connection to Market Observables

The Hull-White model can be expressed in terms of market-observable quantities. Define:

\[ \begin{equation} \alpha(t) = f^M(0,t) + af^M(0,t) + \frac{\partial f^M(0,t)}{\partial t} \label{eq:alpha_function} \end{equation} \]

Then the short rate dynamics can be written as:

\[ \begin{equation} dr(t) = [\alpha(t) - ar(t)]dt + \sigma dW(t) \label{eq:hw_market_form} \end{equation} \]

where \(\alpha(t)\) is directly calibrated from the market forward curve \(f^M(0,t)\).


1.10 Options and Derivatives Pricing

One of Hull-White's greatest strengths is that many interest rate derivatives have closed-form or semi-analytical formulas:

European options on zero-coupon bonds:

\[ \begin{equation} \text{Call}(t, T, S, K) = P(t,S)\Phi(d_1) - KP(t,T)\Phi(d_2) \label{eq:hw_bond_option} \end{equation} \]

where \(\Phi\) is the standard normal CDF and:

\[ \begin{equation} d_1 = \frac{1}{\sigma_P}\ln\frac{P(t,S)}{KP(t,T)} + \frac{\sigma_P}{2}, \quad d_2 = d_1 - \sigma_P \label{eq:hw_d1_d2} \end{equation} \]
\[ \begin{equation} \sigma_P = \frac{\sigma}{a}(1-e^{-a(S-t)})\sqrt{\frac{1-e^{-2a(T-t)}}{2a}} \label{eq:hw_sigma_P} \end{equation} \]

This is a Black-Scholes-like formula for bond options!


1.11 Calibration in Practice

Practical Hull-White calibration involves:

  1. Extract market forward curve \(f^M(0,t)\) from liquid bonds
  2. Compute \(\theta(t)\) from the forward curve using equation \(\ref{eq:theta_calibration}\)
  3. Calibrate \(a\) and \(\sigma\) to match caps, floors, or swaptions prices
  4. Validate against out-of-sample derivatives

The two-parameter calibration is tractable and stable, making Hull-White the industry workhorse for:

  • CVA/DVA calculations
  • Counterparty credit risk
  • Callable bonds and structured products
  • XVA adjustments

1.12 Comparison with Vasicek

Feature Vasicek Hull-White
Drift Constant \(ab\) Time-varying \(\theta(t)\)
\(B(t,T)\) Same formula Same formula
Initial fit Approximate Exact
Calibration 3 parameters 2 parameters (+ curve)
Derivatives Closed forms Closed forms
Complexity Simpler More flexible

Hull-White is essentially "Vasicek with perfect yield curve fit."


1.13 Extensions

The Hull-White framework extends to:

  • Two-factor Hull-White (G2++): Adding a second correlated factor for richer dynamics
  • Time-dependent \(\sigma(t)\): Matching volatility term structure
  • Time-dependent \(a(t)\): More flexible mean reversion
  • Multi-currency: Modeling FX and interest rate risk jointly
  • Hybrid models: Combining with equity or credit models

The analytical tractability of Hull-White makes it the foundation for multi-asset modeling in practice.


  1. John Hull and Alan White. Pricing interest-rate-derivative securities. The Review of Financial Studies, 3(4):573–592, 1990. doi:10.1093/rfs/3.4.573

  2. Damiano Brigo and Fabio Mercurio. Interest Rate Models – Theory and Practice: With Smile, Inflation and Credit. Springer, 2nd edition, 2006. URL: https://link.springer.com/book/10.1007/978-3-540-34604-3

  3. Leif Andersen and Vladimir Piterbarg. Interest Rate Modeling. Volume 1-3. Atlantic Financial Press, 2010.