public void test_of_array_none() { CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(); assertEquals(test.size(), 0); }
public void test_of_list_none() { ImmutableList<CrossGammaParameterSensitivity> list = ImmutableList.of(); CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(list); assertEquals(test.size(), 0); }
public void test_of_list_normalized() { ImmutableList<CrossGammaParameterSensitivity> list = ImmutableList.of(ENTRY_USD, ENTRY_USD2); CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(list); assertEquals(test.size(), 1); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD_TOTAL)); }
public void test_of_list_notNormalized() { ImmutableList<CrossGammaParameterSensitivity> list = ImmutableList.of(ENTRY_USD, ENTRY_EUR); CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(list); assertEquals(test.size(), 2); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD, ENTRY_EUR)); }
public void test_of_single() { CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(ENTRY_USD); assertEquals(test.size(), 1); assertEquals(test.getSensitivities(), ImmutableList.of(ENTRY_USD)); }
public void test_empty() { CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.empty(); assertEquals(test.size(), 0); assertEquals(test.getSensitivities().size(), 0); }
System.arraycopy(times2.toArray(), 0, timesTotal, 0, times2.size()); System.arraycopy(times3.toArray(), 0, timesTotal, times2.size(), times3.size()); assertEquals(sensiComputed.size(), 2); DoubleMatrix s2 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_L3_NAME, USD).getSensitivity(); assertEquals(s2.columnCount(), paramsTotal);
public void sensitivity_multi_curve_empty() { CrossGammaParameterSensitivities sensiComputed = CENTRAL.calculateCrossGammaIntraCurve(RatesProviderDataSets.MULTI_CPI_USD, this::sensiModFn); DoubleArray times2 = RatesProviderDataSets.TIMES_2; DoubleArray times3 = RatesProviderDataSets.TIMES_3; assertEquals(sensiComputed.size(), 2); DoubleMatrix s2 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_L3_NAME, USD).getSensitivity(); assertEquals(s2.columnCount(), times2.size()); for (int i = 0; i < times2.size(); i++) { for (int j = 0; j < times2.size(); j++) { double expected = 2d * times2.get(i) * times2.get(j); assertEquals(s2.get(i, j), expected, Math.max(Math.abs(expected), 1d) * EPS); } } DoubleMatrix s3 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_L6_NAME, USD).getSensitivity(); assertEquals(s3.columnCount(), times3.size()); for (int i = 0; i < times3.size(); i++) { for (int j = 0; j < times3.size(); j++) { double expected = 2d * times3.get(i) * times3.get(j); assertEquals(s3.get(i, j), expected, Math.max(Math.abs(expected), 1d) * EPS); } } Optional<CrossGammaParameterSensitivity> oisSensi = sensiComputed.findSensitivity(RatesProviderDataSets.USD_DSC_NAME, USD); assertFalse(oisSensi.isPresent()); Optional<CrossGammaParameterSensitivity> priceIndexSensi = sensiComputed.findSensitivity(RatesProviderDataSets.USD_CPI_NAME, USD); assertFalse(priceIndexSensi.isPresent()); }
for (CrossGammaParameterSensitivities sensi : new CrossGammaParameterSensitivities[] {forward, central, backward}) { CurrencyParameterSensitivities diagonalComputed = sensi.diagonal(); assertEquals(sensi.size(), 1); assertEquals(diagonalComputed.size(), 1); DoubleMatrix s = sensi.getSensitivities().get(0).getSensitivity();
DoubleArray timesUsIssuer1 = RatesProviderDataSets.TIMES_3; DoubleArray timesUsIssuer2 = RatesProviderDataSets.TIMES_2; assertEquals(sensiComputed.size(), 3); DoubleMatrix s1 = sensiComputed.getSensitivity(RatesProviderDataSets.US_REPO_CURVE_NAME, USD).getSensitivity(); assertEquals(s1.columnCount(), timesUsRepo.size());
DoubleArray times3 = RatesProviderDataSets.TIMES_3; DoubleArray times4 = RatesProviderDataSets.TIMES_4; assertEquals(sensiComputed.size(), 4); DoubleMatrix s1 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_DSC_NAME, USD).getSensitivity(); assertEquals(s1.columnCount(), times1.size());
DoubleArray timesUsIssuer1 = RatesProviderDataSets.TIMES_3; DoubleArray timesUsIssuer2 = RatesProviderDataSets.TIMES_2; assertEquals(sensiComputed.size(), 4); DoubleMatrix s1 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_L3_NAME, USD).getSensitivity(); assertEquals(s1.columnCount(), timesUsL3.size());
System.arraycopy(times3.toArray(), 0, timesTotal, times1.size() + times2.size() + times4.size(), times3.size()); assertEquals(sensiComputed.size(), 4); DoubleMatrix s1 = sensiComputed.getSensitivity(RatesProviderDataSets.USD_DSC_NAME, USD).getSensitivity(); assertEquals(s1.columnCount(), paramsTotal);
System.arraycopy(times3.toArray(), 0, timesTotal, times1.size() + times2.size() + times4.size(), times3.size()); assertEquals(sensiCrossComputed.size(), 4); DoubleMatrix s1 = sensiCrossComputed.getSensitivity(RatesProviderDataSets.USD_DSC_NAME, USD).getSensitivity(); assertEquals(s1.columnCount(), paramsTotal);