Example #1
0
        // 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));
        }