Function hull_white::bond_call_t
source · pub fn bond_call_t(
r_t: f64,
a: f64,
sigma: f64,
t: f64,
option_maturity: f64,
bond_maturity: f64,
strike: f64,
yield_curve: &dyn Fn(f64) -> f64,
forward_curve: &dyn Fn(f64) -> f64
) -> f64
Expand description
Returns price of a call option on zero coupon bond at some future time
Examples
let r_t = 0.04; //current rate
let a = 0.2; //speed of mean reversion for underlying Hull White process
let sigma = 0.3; //volatility of underlying Hull White process
let t = 1.0; //time from "now" (0) to start valuing the bond
let option_maturity = 1.5;
let bond_maturity = 2.0;
let strike = 0.98;
let yield_curve = |t:f64|0.05*t; //yield curve returns the "raw" yield (not divided by maturity)
let forward_curve = |t:f64|t.ln();
let bond_call = hull_white::bond_call_t(
r_t, a, sigma, t,
option_maturity, bond_maturity,
strike,
&yield_curve, &forward_curve
);