// the sensitivity of the forecast value given the clean price internal virtual PointSensitivityBuilder forecastValueSensitivityStandardFromCleanPrice(ResolvedCapitalIndexedBond product, RatesProvider ratesProvider, LocalDate standardSettlementDate, double realCleanPrice) { if (product.YieldConvention.Equals(CapitalIndexedBondYieldConvention.GB_IL_FLOAT)) { return(PointSensitivityBuilder.none()); } double notional = product.Notional; double netAmountReal = realCleanPrice * notional + product.accruedInterest(standardSettlementDate); PointSensitivityBuilder indexRatioSensi = productPricer.indexRatioSensitivity(product, ratesProvider, standardSettlementDate); return(indexRatioSensi.multipliedBy(netAmountReal)); }