@Override public CrossGammaParameterSensitivity build() { return new CrossGammaParameterSensitivity( marketDataName, parameterMetadata, order, currency, sensitivity); }
/** * Returns an instance with new parameter sensitivity values. * * @param sensitivity the new sensitivity values * @return an instance based on this one, with the specified sensitivity values */ public CrossGammaParameterSensitivity withSensitivity(DoubleMatrix sensitivity) { return new CrossGammaParameterSensitivity(marketDataName, parameterMetadata, order, currency, sensitivity); }
/** * Obtains an instance from the market data names, metadatas, currency and sensitivity. * <p> * This creates a sensitivity instance which stores the second order sensitivity values: the delta of a market data * to a set of other market data. * The market data set is represented in terms of {@code List<Pair<MarketDataName<?>, List<? extends ParameterMetadata>>>}. * which defines the order of the sensitivity values. * <p> * The market data name identifies the {@link ParameterizedData} instance that was queried. * The parameter metadata provides information on each parameter. * * @param marketDataName the name of the market data that the sensitivity refers to * @param parameterMetadata the parameter metadata * @param order the order * @param currency the currency of the sensitivity * @param sensitivity the sensitivity values, one for each parameter * @return the sensitivity object */ public static CrossGammaParameterSensitivity of( MarketDataName<?> marketDataName, List<? extends ParameterMetadata> parameterMetadata, List<Pair<MarketDataName<?>, List<? extends ParameterMetadata>>> order, Currency currency, DoubleMatrix sensitivity) { return new CrossGammaParameterSensitivity(marketDataName, parameterMetadata, order, currency, sensitivity); }
private CrossGammaParameterSensitivity mapSensitivity(DoubleUnaryOperator operator, Currency currency) { return new CrossGammaParameterSensitivity(marketDataName, parameterMetadata, order, currency, sensitivity.map(operator)); }
/** * Obtains an instance from the market data names, metadatas, currency and sensitivity. * <p> * This creates a sensitivity instance which stores the second order sensitivity values: the delta of a market data * to another market data. The first market data and the second market data can be the same. * <p> * The market data name identifies the {@link ParameterizedData} instance that was queried. * The parameter metadata provides information on each parameter. * * @param marketDataName the name of the first market data that the sensitivity refers to * @param parameterMetadata the first parameter metadata * @param marketDataNameOther the name of the second market data that the sensitivity refers to * @param parameterMetadataOther the second parameter metadata * @param currency the currency of the sensitivity * @param sensitivity the sensitivity values, one for each parameter * @return the sensitivity object */ public static CrossGammaParameterSensitivity of( MarketDataName<?> marketDataName, List<? extends ParameterMetadata> parameterMetadata, MarketDataName<?> marketDataNameOther, List<? extends ParameterMetadata> parameterMetadataOther, Currency currency, DoubleMatrix sensitivity) { return new CrossGammaParameterSensitivity(marketDataName, parameterMetadata, ImmutableList.of(Pair.of(marketDataNameOther, parameterMetadataOther)), currency, sensitivity); }