/** * Returns the diagonal part of the sensitivity values. * * @return the diagonal part */ public CurrencyParameterSensitivities diagonal() { return CurrencyParameterSensitivities.of(sensitivities.stream().map(s -> s.diagonal()).collect(Collectors.toList())); }
public void test_diagonal() { assertEquals(SENSI_2.diagonal().size(), 2); assertEquals(SENSI_2.diagonal().getSensitivity(NAME1, USD), ENTRY_USD2.diagonal()); assertEquals(SENSI_2.diagonal().getSensitivity(NAME2, EUR), ENTRY_EUR.diagonal()); assertEquals(SENSI_3.diagonal().getSensitivity(NAME1, USD), ENTRY_USD12.diagonal()); assertEquals(SENSI_3.diagonal().getSensitivity(NAME2, USD), ENTRY_USD21.diagonal()); }
public void test_diagonal() { CrossGammaParameterSensitivity base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); CurrencyParameterSensitivity test = base.diagonal(); DoubleArray value = DoubleArray.of(MATRIX_USD1.get(0, 0), MATRIX_USD1.get(1, 1)); assertEquals(test, CurrencyParameterSensitivity.of(NAME1, METADATA_USD1, USD, value)); }
public void test_diagonal_eurUsd() { CrossGammaParameterSensitivity base = CrossGammaParameterSensitivity.of( NAME1, METADATA_USD1, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1)), USD, MATRIX_USD_EUR); CurrencyParameterSensitivity test = base.diagonal(); DoubleArray value = DoubleArray.of(MATRIX_USD1.get(0, 0), MATRIX_USD1.get(1, 1)); assertEquals(test, CurrencyParameterSensitivity.of(NAME1, METADATA_USD1, USD, value)); }