public void test_multipliedBy_vs_combinedWith() { CrossGammaParameterSensitivities multiplied = SENSI_2.multipliedBy(2d); CrossGammaParameterSensitivities added = SENSI_2.combinedWith(SENSI_2); assertEquals(multiplied, added); }
public void test_combinedWith_one_normalized() { CrossGammaParameterSensitivities test = SENSI_1.combinedWith(ENTRY_USD2); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD_TOTAL)); }
public void test_combinedWith_other() { CrossGammaParameterSensitivities test = SENSI_1.combinedWith(SENSI_2); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD_TOTAL, ENTRY_EUR)); }
public void test_combinedWith_one_notNormalized() { CrossGammaParameterSensitivities test = SENSI_1.combinedWith(ENTRY_EUR); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD, ENTRY_EUR)); }
public void test_combinedWith_empty() { CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.empty().combinedWith(SENSI_1); assertEquals(test, SENSI_1); }
public void test_combinedWith_otherEmpty() { CrossGammaParameterSensitivities test = SENSI_1.combinedWith(CrossGammaParameterSensitivities.empty()); assertEquals(test, SENSI_1); }
public void test_convertedTo_multipleCurrency_mergeWhenSameName() { CrossGammaParameterSensitivities test = SENSI_1.combinedWith(ENTRY_USD2_IN_EUR).convertedTo(USD, FX_RATE); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD_TOTAL)); }
CrossGammaParameterSensitivity gammaSingle = computeGammaForCurve( curve, currency, c -> immProv.toBuilder().discountCurve(currency, c).build(), sensitivitiesFn); result = result.combinedWith(gammaSingle); } else if (curve.split().size() > 1) { ImmutableList<Curve> curves = curve.split(); c -> immProv.toBuilder().discountCurve(currency, curve.withUnderlyingCurve(currentIndex, c)).build(), sensitivitiesFn); result = result.combinedWith(gammaSingle); CrossGammaParameterSensitivity gammaSingle = computeGammaForCurve( curve, currency, c -> immProv.toBuilder().indexCurve(index, c).build(), sensitivitiesFn); result = result.combinedWith(gammaSingle); } else if (curve.split().size() > 1) { ImmutableList<Curve> curves = curve.split(); c -> immProv.toBuilder().indexCurve(index, curve.withUnderlyingCurve(currentIndex, c)).build(), sensitivitiesFn); result = result.combinedWith(gammaSingle);
CrossGammaParameterSensitivity gammaSingle = computeGammaForCurve( baseDeltaSingle, curve, c -> immProv.toBuilder().discountCurve(currency, c).build(), sensitivitiesFn); resultInner = resultInner.combinedWith(gammaSingle); } else if (curve.split().size() > 1) { ImmutableList<Curve> curves = curve.split(); c -> immProv.toBuilder().discountCurve(currency, curve.withUnderlyingCurve(currentIndex, c)).build(), sensitivitiesFn); resultInner = resultInner.combinedWith(gammaSingle); CrossGammaParameterSensitivity gammaSingle = computeGammaForCurve( baseDeltaSingle, curve, c -> immProv.toBuilder().indexCurve(index, c).build(), sensitivitiesFn); resultInner = resultInner.combinedWith(gammaSingle); } else if (curve.split().size() > 1) { ImmutableList<Curve> curves = curve.split(); c -> immProv.toBuilder().indexCurve(index, curve.withUnderlyingCurve(currentIndex, c)).build(), sensitivitiesFn); resultInner = resultInner.combinedWith(gammaSingle); result = result.combinedWith(combineSensitivities(baseDeltaSingle, resultInner));
c -> replaceIssuerCurve(immProv, legCcy, DiscountFactors.of(currency, valuationDate, c)), sensitivitiesFn); result = result.combinedWith(gammaSingle); } else { ImmutableList<Curve> curves = curve.split(); immProv, legCcy, DiscountFactors.of(currency, valuationDate, curve.withUnderlyingCurve(currentIndex, c))), sensitivitiesFn); result = result.combinedWith(gammaSingle); c -> replaceRepoCurve(immProv, rgCcy, DiscountFactors.of(currency, valuationDate, c)), sensitivitiesFn); result = result.combinedWith(gammaSingle); } else { ImmutableList<Curve> curves = curve.split(); immProv, rgCcy, DiscountFactors.of(currency, valuationDate, curve.withUnderlyingCurve(currentIndex, c))), sensitivitiesFn); result = result.combinedWith(gammaSingle);
public void test_equalWithTolerance() { CrossGammaParameterSensitivities sensUsdTotal = CrossGammaParameterSensitivities.of(ENTRY_USD_TOTAL); CrossGammaParameterSensitivities sensEur = CrossGammaParameterSensitivities.of(ENTRY_EUR); CrossGammaParameterSensitivities sens1plus2 = SENSI_1.combinedWith(ENTRY_USD2); CrossGammaParameterSensitivities sensZeroA = CrossGammaParameterSensitivities.of(ENTRY_ZERO3); CrossGammaParameterSensitivities sensZeroB = CrossGammaParameterSensitivities.of(ENTRY_ZERO0); CrossGammaParameterSensitivities sens1plus2plus0a = SENSI_1.combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO0); CrossGammaParameterSensitivities sens1plus2plus0b = SENSI_1.combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO3); CrossGammaParameterSensitivities sens1plus2plus0 = SENSI_1 .combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO0).combinedWith(ENTRY_ZERO3); CrossGammaParameterSensitivities sens2plus0 = SENSI_2.combinedWith(sensZeroA); assertEquals(SENSI_1.equalWithTolerance(sensZeroA, TOLERENCE_CMP), false); assertEquals(SENSI_1.equalWithTolerance(SENSI_1, TOLERENCE_CMP), true);