@Override public UnitParameterSensitivity yValueParameterSensitivity(double x) { UnitParameterSensitivity baseSens = baseCurve.yValueParameterSensitivity(x); UnitParameterSensitivity spreadSens = spreadCurve.yValueParameterSensitivity(x); return UnitParameterSensitivity.combine(getName(), baseSens, spreadSens); }
public void test_combine_arraySize0() { assertThrowsIllegalArg(() -> UnitParameterSensitivity.combine(NAME_COMBINED)); }
public void test_split2() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME2, METADATA2, VECTOR2); UnitParameterSensitivity combined = UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2); ImmutableList<UnitParameterSensitivity> test = combined.split(); assertEquals(test.size(), 2); assertEquals(test.get(0), base1); assertEquals(test.get(1), base2); }
public void test_combine_arraySize1() { UnitParameterSensitivity base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); assertThrowsIllegalArg(() -> UnitParameterSensitivity.combine(NAME_COMBINED, base)); }
public void test_combine() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME2, METADATA2, VECTOR2); UnitParameterSensitivity test = UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2); assertEquals(test.getMarketDataName(), NAME_COMBINED); assertEquals(test.getParameterCount(), VECTOR_COMBINED.size()); assertEquals(test.getParameterMetadata(), METADATA_COMBINED); assertEquals(test.getParameterMetadata(0), METADATA_COMBINED.get(0)); assertEquals(test.getSensitivity(), VECTOR_COMBINED); assertEquals(test.getParameterSplit(), Optional.of(PARAM_SPLIT)); }
public void test_combine_duplicateNames() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME1, METADATA2, VECTOR2); assertThrowsIllegalArg(() -> UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2)); }
@Override public UnitParameterSensitivity createParameterSensitivity(DoubleArray sensitivities) { UnitParameterSensitivity baseSens = baseCurve.createParameterSensitivity( sensitivities.subArray(0, baseCurve.getParameterCount())); UnitParameterSensitivity spreadSens = spreadCurve.createParameterSensitivity( sensitivities.subArray(baseCurve.getParameterCount(), sensitivities.size())); return UnitParameterSensitivity.combine(getName(), baseSens, spreadSens); }