Function hull_white::bond_put_now

source ·
pub fn bond_put_now(
    a: f64,
    sigma: f64,
    option_maturity: f64,
    bond_maturity: f64,
    strike: f64,
    yield_curve: &dyn Fn(f64) -> f64
) -> f64
Expand description

Returns price of a put option on zero coupon bond at current time

Examples

let a = 0.2; //speed of mean reversion for underlying Hull White process
let sigma = 0.3; //volatility of underlying Hull White process
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 put_price = hull_white::bond_put_now(
     a, sigma,  
    option_maturity, bond_maturity,
    strike,
    &yield_curve
);