/** * Builds the resulting point sensitivity. * <p> * This returns a {@link PointSensitivities} instance. * <p> * Builders may be mutable. * Once this method is called, this instance must not be used. * * @return the built combined sensitivity */ public default PointSensitivities build() { return buildInto(new MutablePointSensitivities()).toImmutable(); }
/** * Obtains an instance from a list of sensitivity entries. * * @param sensitivities the list of sensitivity entries * @return the sensitivities instance */ @SuppressWarnings("unchecked") public static PointSensitivities of(List<? extends PointSensitivity> sensitivities) { return new PointSensitivities((List<PointSensitivity>) sensitivities); }
@Override public CurveSensitivities build() { return new CurveSensitivities( info, typedSensitivities); }
@Override public PointSensitivities convertedTo(Currency resultCurrency, FxRateProvider rateProvider) { List<PointSensitivity> mutable = new ArrayList<>(); for (PointSensitivity sensi : sensitivities) { insert(mutable, sensi.convertedTo(resultCurrency, rateProvider)); } return new PointSensitivities(mutable); }
@Override public PointSensitivityBuilder forecastValueSensitivity(NotionalExchange event, RatesProvider provider) { return PointSensitivityBuilder.none(); }
/** * Returns an immutable version of this object. * <p> * The result is an instance of the immutable {@link PointSensitivities}. * It will contain the same individual point sensitivities. * * @return the immutable sensitivity instance, not null */ public PointSensitivities toImmutable() { return PointSensitivities.of(sensitivities); }
@Override public MutablePointSensitivities buildInto(MutablePointSensitivities combination) { return combination.add(this); }
@Override public SwaptionSabrSensitivity convertedTo(Currency resultCurrency, FxRateProvider rateProvider) { return (SwaptionSabrSensitivity) PointSensitivity.super.convertedTo(resultCurrency, rateProvider); }
public void test_mergedWith_sens_empty() { CurveSensitivities base = sut(); CurveSensitivities test = base.mergedWith(CurveSensitivities.empty()); assertEquals(test, base); }
/** * Returns a mutable version of this object. * <p> * The result is an instance of the mutable {@link MutablePointSensitivities}. * It will contain the same individual sensitivity entries. * * @return the mutable sensitivity instance, not null */ public MutablePointSensitivities toMutable() { return new MutablePointSensitivities(sensitivities); }
/** * Multiplies the sensitivities in this instance by the specified factor. * <p> * The result will consist of the same entries, but with each sensitivity value multiplied. * This instance is immutable and unaffected by this method. * * @param factor the multiplicative factor * @return a {@code PointSensitivities} based on this one, with each sensitivity multiplied by the factor */ public PointSensitivities multipliedBy(double factor) { return mapSensitivities(s -> s * factor); }
/** * Returns a builder that can be used to create an instance of {@code CurveSensitivities}. * <p> * The builder takes into account the parameter metadata when creating the sensitivity map. * As such, the parameter metadata added to the builder must not be empty. * * @param info the additional information * @return the builder */ public static CurveSensitivitiesBuilder builder(PortfolioItemInfo info) { return new CurveSensitivitiesBuilder(info); }
@Override public BeanBuilder<? extends PointSensitivities> builder() { return new PointSensitivities.Builder(); }
@Override public BeanBuilder<? extends CurveSensitivities> builder() { return new CurveSensitivities.Builder(); }
@Override public PointSensitivityBuilder forecastValueSensitivity(KnownAmountSwapPaymentPeriod period, RatesProvider provider) { return PointSensitivityBuilder.none(); }
@Override public MutablePointSensitivities buildInto(MutablePointSensitivities combination) { return combination.add(this); }
@Override public FxOptionSensitivity convertedTo(Currency resultCurrency, FxRateProvider rateProvider) { return (FxOptionSensitivity) PointSensitivity.super.convertedTo(resultCurrency, rateProvider); }
@Override public PointSensitivities build() { return new PointSensitivities( sensitivities); }
@Override public MutablePointSensitivities buildInto(MutablePointSensitivities combination) { return combination.add(this); }
@Override public RepoCurveZeroRateSensitivity convertedTo(Currency resultCurrency, FxRateProvider rateProvider) { return (RepoCurveZeroRateSensitivity) PointSensitivity.super.convertedTo(resultCurrency, rateProvider); }