Skip to main content

gaussian_bond_call

Function gaussian_bond_call 

fn gaussian_bond_call<R: Scalar>(
    params: &HullWhiteParameters<R>,
    curve: &dyn YieldCurve<R>,
    t: f64,
    t_date: NaiveDate,
    flows: &[(NaiveDate, R)],
    strike: R,
    mean: R,
    var: R,
) -> Result<(R, R), PricingError>
Expand description

(E[g], E[g′]) for the call g(x) = (Σ c_j·P(t,u_j|x) − K)⁺ on a Gaussian factor x ~ N(mean, var), undiscounted at t.

The critical state x* solving Σ c_j P(t,u_j|x*) = K is found passively and reattached by one Newton step in the mode, so E[g′] — whose value moves with x* — carries its derivative too. A claim bond not decreasing in the factor over the distribution’s support is refused: Jamshidian’s decomposition needs one exercise boundary.