Function forward_price_with
pub fn forward_price_with<R: Scalar, D, C>(
bond: &FixedRateBond,
t: NaiveDate,
disc: &D,
carry: &C,
basis: PriceBasis,
) -> Result<R, CurveError>where
D: YieldCurve<R>,
C: YieldCurve<R>,Expand description
The forward dirty price per 100 face at t: the spot price carried
to t on the financing (repo) curve.
(dirty_spot − PV_carry(interim coupons)) / DF_carry(t): flows strictly
after t are valued on disc, coupons paid between valuation and t are
netted at the carry rate — written out as the discount-only present value
plus the disc/carry gap, so that with coinciding curves the correction is
exactly amount·(x − x) and the result is bit-identical to the
discount-only price rebased to t — and the sum is rebased by the carry
curve’s discount factor to t. Every term is in the pricing mode, so the
forward price carries both curves’ sensitivities.
§Errors
CurveError from the discount queries.