public void presentValueSensitivity_afterPayment() { PointSensitivityBuilder pv = PRICER_CMS.presentValueSensitivity(COUPON, RATES_PROVIDER_AFTER_PAY); PointSensitivityBuilder pvCaplet = PRICER_CMS.presentValueSensitivity(CAPLET, RATES_PROVIDER_AFTER_PAY); PointSensitivityBuilder pvFloorlet = PRICER_CMS.presentValueSensitivity(FLOORLET, RATES_PROVIDER_AFTER_PAY); assertEquals(pv, PointSensitivityBuilder.none()); assertEquals(pvCaplet, PointSensitivityBuilder.none()); assertEquals(pvFloorlet, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivitySabrParameter_afterPayment() { PointSensitivityBuilder sensi = PRICER.presentValueSensitivityModelParamsSabr(COUPON, RATES_PROVIDER_AFTER_PAY, VOLATILITIES_AFTER_PAY); PointSensitivityBuilder sensiCap = PRICER.presentValueSensitivityModelParamsSabr(CAPLET, RATES_PROVIDER_AFTER_PAY, VOLATILITIES_AFTER_PAY); PointSensitivityBuilder sensiFloor = PRICER.presentValueSensitivityModelParamsSabr(FLOORLET, RATES_PROVIDER_AFTER_PAY, VOLATILITIES_AFTER_PAY); assertEquals(sensi, PointSensitivityBuilder.none()); assertEquals(sensiCap, PointSensitivityBuilder.none()); assertEquals(sensiFloor, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivity_afterPay() { PointSensitivityBuilder computedCaplet = PRICER.presentValueSensitivityRates(CAPLET_LONG, RATES_AFTER_PAY, VOLS_AFTER_PAY); PointSensitivityBuilder computedFloorlet = PRICER.presentValueSensitivityRates(FLOORLET_SHORT, RATES_AFTER_PAY, VOLS_AFTER_PAY); assertEquals(computedCaplet, PointSensitivityBuilder.none()); assertEquals(computedFloorlet, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivityVolatility_afterFix() { PointSensitivityBuilder computedCaplet = PRICER.presentValueSensitivityModelParamsVolatility(CAPLET_LONG, RATES_AFTER_FIX, VOLS_AFTER_FIX); PointSensitivityBuilder computedFloorlet = PRICER.presentValueSensitivityModelParamsVolatility(FLOORLET_SHORT, RATES_AFTER_FIX, VOLS_AFTER_FIX); assertEquals(computedCaplet, PointSensitivityBuilder.none()); assertEquals(computedFloorlet, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivityWithSpread_past() { PointSensitivityBuilder computed = PRICER.presentValueSensitivityWithSpread( PAYMENT_PERIOD, ISSUER_CURVE_AFTER, Z_SPREAD, PERIODIC, PERIOD_PER_YEAR); assertEquals(computed, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivityBlackVolatility_atExpiry() { PointSensitivityBuilder point = PRICER.presentValueSensitivityModelParamsVolatility(PUT_ITM, RATES_PROVIDER_EXPIRY, VOLS_EXPIRY); assertEquals(point, PointSensitivityBuilder.none()); }
public void test_presentValueSensitivity_afterExpiry() { for (int i = 0; i < NB_STRIKES; ++i) { PointSensitivityBuilder computedCall = PRICER.presentValueSensitivityRatesStickyStrike(CALLS[i], RATES_PROVIDER_AFTER, VOLS_AFTER); assertEquals(computedCall, PointSensitivityBuilder.none()); PointSensitivityBuilder computedPut = PRICER.presentValueSensitivityRatesStickyStrike(PUTS[i], RATES_PROVIDER_AFTER, VOLS_AFTER); assertEquals(computedPut, PointSensitivityBuilder.none()); } }
public void test_ratePointSensitivity_fixing() { HistoricIborIndexRates test = HistoricIborIndexRates.of(GBP_LIBOR_3M, DATE_VAL, SERIES); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_BEFORE), PointSensitivityBuilder.none()); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_VAL), PointSensitivityBuilder.none()); }
public void test_ratePointSensitivity_fixing() { SimpleIborIndexRates test = SimpleIborIndexRates.of(GBP_LIBOR_3M, DATE_VAL, CURVE, SERIES); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_BEFORE), PointSensitivityBuilder.none()); assertEquals(test.ratePointSensitivity(GBP_LIBOR_3M_VAL), PointSensitivityBuilder.none()); }
public void test_ratePointSensitivity_fixing() { DiscountOvernightIndexRates test = DiscountOvernightIndexRates.of(GBP_SONIA, DFCURVE, SERIES); assertEquals(test.ratePointSensitivity(GBP_SONIA_BEFORE), PointSensitivityBuilder.none()); assertEquals(test.ratePointSensitivity(GBP_SONIA_VAL), PointSensitivityBuilder.none()); }
private PointSensitivityBuilder unitNotionalSensitivityNoCompounding(RatePaymentPeriod period, RatesProvider provider) { Currency ccy = period.getCurrency(); PointSensitivityBuilder sensi = PointSensitivityBuilder.none(); for (RateAccrualPeriod accrualPeriod : period.getAccrualPeriods()) { sensi = sensi.combinedWith(unitNotionalSensitivityAccrual(accrualPeriod, ccy, provider)); } return sensi; }
public void test_normalize() { PointSensitivityBuilder base = PointSensitivityBuilder.none(); PointSensitivityBuilder test = base.normalize(); assertSame(test, base); }
PointSensitivityBuilder presentValueSensitivityPeriodsInternal(ResolvedSwapLeg leg, RatesProvider provider) { PointSensitivityBuilder builder = PointSensitivityBuilder.none(); for (SwapPaymentPeriod period : leg.getPaymentPeriods()) { if (!period.getPaymentDate().isBefore(provider.getValuationDate())) { builder = builder.combinedWith(paymentPeriodPricer.presentValueSensitivity(period, provider)); } } return builder; }
public void test_valuePointSensitivity_fixing() { SimplePriceIndexValues test = SimplePriceIndexValues.of(US_CPI_U, VAL_DATE, CURVE_NOFIX, USCPI_TS); PriceIndexObservation obs = PriceIndexObservation.of(US_CPI_U, VAL_MONTH.minusMonths(3)); assertEquals(test.valuePointSensitivity(obs), PointSensitivityBuilder.none()); }
@Override public PointSensitivityBuilder ratePointSensitivity(IborIndexObservation observation) { LocalDate fixingDate = observation.getFixingDate(); LocalDate valuationDate = getValuationDate(); if (fixingDate.isBefore(valuationDate) || (fixingDate.equals(valuationDate) && fixings.get(fixingDate).isPresent())) { return PointSensitivityBuilder.none(); } throw new MarketDataNotFoundException("Unable to query forward rate sensitivity for historic index " + index); }
@Override public PointSensitivityBuilder valuePointSensitivity(PriceIndexObservation observation) { YearMonth fixingMonth = observation.getFixingMonth(); // If fixing in the past, check time series and returns the historic month price index if present if (fixingMonth.isBefore(YearMonth.from(valuationDate))) { if (fixings.get(fixingMonth.atEndOfMonth()).isPresent()) { return PointSensitivityBuilder.none(); } } return InflationRateSensitivity.of(observation, 1d); }
@Override public PointSensitivityBuilder ratePointSensitivity(OvernightIndexObservation observation) { LocalDate fixingDate = observation.getFixingDate(); LocalDate valuationDate = getValuationDate(); if (fixingDate.isBefore(valuationDate) || (fixingDate.equals(valuationDate) && fixings.get(fixingDate).isPresent())) { return PointSensitivityBuilder.none(); } throw new MarketDataNotFoundException("Unable to query forward rate sensitivity for historic index " + index); }
@Override public PointSensitivityBuilder ratePointSensitivity(IborIndexObservation observation) { LocalDate fixingDate = observation.getFixingDate(); LocalDate valuationDate = getValuationDate(); if (fixingDate.isBefore(valuationDate) || (fixingDate.equals(valuationDate) && fixings.get(fixingDate).isPresent())) { return PointSensitivityBuilder.none(); } return IborRateSensitivity.of(observation, 1d); }
public void test_combinedWith() { PointSensitivityBuilder base = PointSensitivityBuilder.none(); PointSensitivityBuilder ibor = DummyPointSensitivity.of(GBP, date(2015, 6, 30), 2.0d); assertSame(base.combinedWith(ibor), ibor); // returns other }
@Override public PointSensitivityBuilder ratePointSensitivity(FxIndexObservation observation, Currency baseCurrency) { ArgChecker.isTrue( index.getCurrencyPair().contains(baseCurrency), "Currency {} invalid for FxIndex {}", baseCurrency, index); LocalDate fixingDate = observation.getFixingDate(); if (fixingDate.isBefore(getValuationDate()) || (fixingDate.equals(getValuationDate()) && fixings.get(fixingDate).isPresent())) { return PointSensitivityBuilder.none(); } return FxIndexSensitivity.of(observation, baseCurrency, 1d); }