# Bond option pricing with Forward price dynamic

This function is available in R-code (here). See also its upper level page (here).

In this below, we explain Bond option pricing with forward price BS dynamics.

Usage: ZBOFwd(K, T, U, PT, PU, nu)
Arguments:
K: strike
T: maturity of option
U: maturity of the underlying zero bond
PT: spot price of T-Bond
PU: spot price of U-Bond
nu: standard deviation of log forward price of U-Bond at time ${T}$
Value: 2-D vector of call and put price.

Denote by ${P(t,T)}$ the price of ${T}$-bond at ${t}$. Then, for ${t< T< U}$, the forward price of ${U}$-bond delivered at ${T}$ is given by

$\displaystyle F_{P}(t, U, T) = P(t, U)/ P(t, T).$

Since the dynamic ${t\mapsto F_{P}(t, U, T)}$ is a non-negative martingale with respect to the ${T}$-forward measure ${\mathbb P_{T}}$, one can assume

$\displaystyle d F_{P}(t, U, T) = F_{P}(t, U, T) \eta(t, U, T) \cdot d W^{T}(t),$

where ${W^{T}}$ is ${n}$-dim ${\mathbb P_{T}-}$BM and ${t\mapsto \eta(t, U, T)}$ is ${n}$-dim deterministic process. Now, we want to compute

1. zero bond call price at ${t}$, which has payoff at ${T}$ with amount ${(P(T, U) - K)^{+}}$, denoted by ${ZBC(t, T, U, K)}$
2. zero bond put price at ${t}$, which has payoff at ${T}$ with amount ${(P(T, U) - K)^{-}}$, denoted by ${ZBP(t, T, U, K)}$.

R-code is written according to the following fact:

Proposition 1

$\displaystyle ZBC_{t} = P(t, T) Bl(K, F_{P}(t, U, T), \nu, +1),$

and

$\displaystyle ZBP_{t} = P(t, T) Bl(K, F_{P}(t, U, T), \nu, -1),$

where ${\nu^{2} = \int_{t}^{T} |\eta(s, U, T)|^{2}ds}$.

Ex. Spot prices for 2-year zero-coupon bond is 0.90, and 5-year zero-coupon bond is 0.72. Volatility of the forward price ${F_{P}(t, 5, 2)}$ is given as constant ${0.2.}$ For strike ${K = .8}$ and maturity ${T = 2}$ years, we can compute call and put prices underlying ${5}$-year bond as follows. With given parameters ${PT = .9; PU = .72; eta = .2; T= 2; U = 5; K = .8}$, one can compute ${nu = eta \sqrt T}$. Then, option price is

$\displaystyle [ZBC, ZBP] = ZBOFwd(K, T, U, PT, PU, nu) = [0.0809733, 0.0809733].$