PointSensitivityBuilder presentValueSensitivity( ResolvedFixedCouponBond bond, LegalEntityDiscountingProvider provider, LocalDate referenceDate) { IssuerCurveDiscountFactors issuerDf = issuerCurveDf(bond, provider); PointSensitivityBuilder pvNominal = presentValueSensitivityNominal(bond, issuerDf); PointSensitivityBuilder pvCoupon = presentValueSensitivityCoupon(bond, issuerDf, referenceDate); return pvNominal.combinedWith(pvCoupon); }
PointSensitivityBuilder presentValueSensitivityWithZSpread( ResolvedFixedCouponBond bond, LegalEntityDiscountingProvider provider, double zSpread, CompoundedRateType compoundedRateType, int periodsPerYear, LocalDate referenceDate) { IssuerCurveDiscountFactors issuerDf = issuerCurveDf(bond, provider); PointSensitivityBuilder pvNominal = presentValueSensitivityNominalFromZSpread( bond, issuerDf, zSpread, compoundedRateType, periodsPerYear); PointSensitivityBuilder pvCoupon = presentValueSensitivityCouponFromZSpread( bond, issuerDf, zSpread, compoundedRateType, periodsPerYear, referenceDate); return pvNominal.combinedWith(pvCoupon); }
CurrencyAmount presentValue( ResolvedFixedCouponBond bond, LegalEntityDiscountingProvider provider, LocalDate referenceDate) { IssuerCurveDiscountFactors issuerDf = issuerCurveDf(bond, provider); CurrencyAmount pvNominal = nominalPricer.presentValue(bond.getNominalPayment(), issuerDf.getDiscountFactors()); CurrencyAmount pvCoupon = presentValueCoupon(bond, issuerDf, referenceDate); return pvNominal.plus(pvCoupon); }
CurrencyAmount presentValueWithZSpread( ResolvedFixedCouponBond bond, LegalEntityDiscountingProvider provider, double zSpread, CompoundedRateType compoundedRateType, int periodsPerYear, LocalDate referenceDate) { IssuerCurveDiscountFactors issuerDf = issuerCurveDf(bond, provider); CurrencyAmount pvNominal = nominalPricer.presentValueWithSpread( bond.getNominalPayment(), issuerDf.getDiscountFactors(), zSpread, compoundedRateType, periodsPerYear); CurrencyAmount pvCoupon = presentValueCouponFromZSpread( bond, issuerDf, zSpread, compoundedRateType, periodsPerYear, referenceDate); return pvNominal.plus(pvCoupon); }
IssuerCurveDiscountFactors issuerDf = DiscountingFixedCouponBondProductPricer.issuerCurveDf(product, provider); double pvDiff = 0d; if (standardSettlementDate.isAfter(tradeSettlementDate)) {
IssuerCurveDiscountFactors issuerDf = DiscountingFixedCouponBondProductPricer.issuerCurveDf(product, provider); double pvDiff = 0d; if (standardSettlementDate.isAfter(tradeSettlementDate)) {