@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 1226228605: // sensitivities return ((PointSensitivities) bean).getSensitivities(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_of_List() { PointSensitivities test = PointSensitivities.of(Lists.newArrayList(CS1, CS2)); assertEquals(test.getSensitivities(), ImmutableList.of(CS1, CS2)); assertEquals(test.size(), 2); }
public void test_build() { CreditCurveZeroRateSensitivity base = CreditCurveZeroRateSensitivity.of(LEGAL_ENTITY, GBP, YEAR_FRACTION, 32d); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_build() { OvernightRateSensitivity base = OvernightRateSensitivity.of(GBP_SONIA_OBSERVATION, 32d); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_build() { ZeroRateSensitivity base = ZeroRateSensitivity.of(GBP, YEARFRAC, 32d); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_presentValueSensitivityModelParamsSabr_afterMaturity() { PointSensitivities sensiRec = PRICER.presentValueSensitivityModelParamsSabr( SWAPTION_REC_LONG, RATE_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); assertEquals(sensiRec.getSensitivities().size(), 0); PointSensitivities sensiPay = PRICER.presentValueSensitivityModelParamsSabr( SWAPTION_PAY_SHORT, RATE_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); assertEquals(sensiPay.getSensitivities().size(), 0); }
public void test_build() { InflationRateSensitivity base = InflationRateSensitivity.of(GB_HICP_OBS, 3.5); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_build() { FxOptionSensitivity base = FxOptionSensitivity.of(NAME, PAIR, EXPIRY, STRIKE, FORWARD, GBP, SENSI_VALUE); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_build() { BondFutureOptionSensitivity base = BondFutureOptionSensitivity.of( NAME, OPTION_EXPIRY, FUTURE_EXPIRY, STRIKE_PRICE, FUTURE_PRICE, GBP, SENSITIVITY); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_of_list_size1() { PointSensitivities test = PointSensitivityBuilder.of(ImmutableList.of(SENS)).build(); assertEquals(test.size(), 1); assertEquals(test.getSensitivities().get(0), SENS); }
public void test_build() { IborFutureOptionSensitivity base = IborFutureOptionSensitivity.of( NAME, 12d, date(2015, 8, 28), 0.98, 0.99, GBP, 32d); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_presentValueSensitivityRatesStickyStrike_afterMaturity() { PointSensitivities pointRec = PRICER.presentValueSensitivityRatesStickyStrike( SWAPTION_REC_LONG, RATES_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); for (PointSensitivity sensi : pointRec.getSensitivities()) { assertEquals(Math.abs(sensi.getSensitivity()), 0d); } PointSensitivities pointPay = PRICER.presentValueSensitivityRatesStickyStrike( SWAPTION_PAY_SHORT, RATES_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); for (PointSensitivity sensi : pointPay.getSensitivities()) { assertEquals(Math.abs(sensi.getSensitivity()), 0d); } }
public void test_presentValueSensitivityRatesStickyModel_afterMaturity() { PointSensitivities pointRec = SWAPTION_PRICER.presentValueSensitivityRatesStickyModel( SWAPTION_REC_LONG, RATE_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); for (PointSensitivity sensi : pointRec.getSensitivities()) { assertEquals(Math.abs(sensi.getSensitivity()), 0d); } PointSensitivities pointPay = SWAPTION_PRICER.presentValueSensitivityRatesStickyModel( SWAPTION_PAY_SHORT, RATE_PROVIDER_AFTER_MATURITY, VOLS_AFTER_MATURITY).build(); for (PointSensitivity sensi : pointPay.getSensitivities()) { assertEquals(Math.abs(sensi.getSensitivity()), 0d); } }
private void assertSensitivity(PointSensitivities points, SabrParameterType type, double expected) { for (PointSensitivity point : points.getSensitivities()) { SwaptionSabrSensitivity sens = (SwaptionSabrSensitivity) point; assertEquals(sens.getCurrency(), EUR); assertEquals(sens.getVolatilitiesName(), VOLS.getName()); if (sens.getSensitivityType() == type) { assertEquals(sens.getSensitivity(), expected, NOTIONAL * TOL); return; } } fail("Did not find sensitivity: " + type + " in " + points); }
public void test_mapSensitivities() { PointSensitivities test = PointSensitivities.of(Lists.newArrayList(CS3, CS2, CS1)); assertEquals( test.mapSensitivities(s -> s / 2).getSensitivities(), ImmutableList.of(CS3.withSensitivity(16d), CS2.withSensitivity(11d), CS1.withSensitivity(6d))); }
@Override public CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities) { CurrencyParameterSensitivities sens = CurrencyParameterSensitivities.empty(); for (PointSensitivity point : pointSensitivities.getSensitivities()) { if (point instanceof FxOptionSensitivity) { FxOptionSensitivity pt = (FxOptionSensitivity) point; if (pt.getVolatilitiesName().equals(getName())) { sens = sens.combinedWith(parameterSensitivity(pt)); } } } return sens; }
public void present_value_normal_vol_sensitivity_premium_forward() { PointSensitivities vegaTrade = PRICER_TRADE.presentValueSensitivityModelParamsVolatility(SWAPTION_PREFWD_LONG_REC, RATE_PROVIDER, VOLS); SwaptionSensitivity vegaProduct = PRICER_PRODUCT.presentValueSensitivityModelParamsVolatility(SWAPTION_LONG_REC, RATE_PROVIDER, VOLS); assertEquals(vegaTrade.getSensitivities().get(0).getSensitivity(), vegaProduct.getSensitivity(), NOTIONAL * TOL); }
public void test_multipliedBy() { PointSensitivities test = PointSensitivities.of(Lists.newArrayList(CS3, CS2, CS1)); assertEquals( test.multipliedBy(2d).getSensitivities(), ImmutableList.of(CS3.withSensitivity(64d), CS2.withSensitivity(44d), CS1.withSensitivity(24d))); }
public void test_presentValueSensitivity_df() { PointSensitivities point = PRICER.presentValueSensitivity(PAYMENT, DISCOUNT_FACTORS).build(); double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE); double expected = -DF * relativeYearFraction * NOTIONAL_USD; ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0); assertEquals(actual.getCurrency(), USD); assertEquals(actual.getCurveCurrency(), USD); assertEquals(actual.getYearFraction(), relativeYearFraction); assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * TOL); }
public void present_value_sensitivity_at_expiry() { PointSensitivities sensiRec = PRICER_SWAPTION_NORMAL.presentValueSensitivityRatesStickyStrike( SWAPTION_REC_AT_EXPIRY, MULTI_USD, NORMAL_VOLS_USD_STD).build(); for (PointSensitivity sensi : sensiRec.getSensitivities()) { assertEquals(Math.abs(sensi.getSensitivity()), 0d); } PointSensitivities sensiPay = PRICER_SWAPTION_NORMAL.presentValueSensitivityRatesStickyStrike( SWAPTION_PAY_AT_EXPIRY, MULTI_USD, NORMAL_VOLS_USD_STD).build(); PointSensitivities sensiPaySwap = PRICER_SWAP.presentValueSensitivity(RSWAP_PAY, MULTI_USD).build(); assertTrue(MULTI_USD.parameterSensitivity(sensiPay).equalWithTolerance( MULTI_USD.parameterSensitivity(sensiPaySwap), TOLERANCE_PV)); }