// calibrated sum PV01 for one scenario internal MultiCurrencyAmount pv01CalibratedSum(ResolvedBondFutureOptionTrade trade, LegalEntityDiscountingProvider discountingProvider, BondFutureVolatilities volatilities) { BlackBondFutureVolatilities normalVols = checkBlackVols(volatilities); PointSensitivities pointSensitivity = tradePricer.presentValueSensitivityRates(trade, discountingProvider, normalVols); return(discountingProvider.parameterSensitivity(pointSensitivity).total().multipliedBy(ONE_BASIS_POINT)); }
// unit price for one scenario internal double unitPrice(ResolvedBondFutureOptionTrade trade, LegalEntityDiscountingProvider discountingProvider, BondFutureVolatilities volatilities) { // mark to model BlackBondFutureVolatilities normalVols = checkBlackVols(volatilities); return(tradePricer.price(trade, discountingProvider, normalVols)); }
// present value for one scenario internal CurrencyAmount presentValue(ResolvedBondFutureOptionTrade trade, LegalEntityDiscountingProvider discountingProvider, BondFutureVolatilities volatilities) { // mark to model double settlementPrice = this.settlementPrice(trade, discountingProvider); BlackBondFutureVolatilities normalVols = checkBlackVols(volatilities); return(tradePricer.presentValue(trade, discountingProvider, normalVols, settlementPrice)); }