public final class UnitParameterSensitivities extends Object implements org.joda.beans.ImmutableBean, Serializable
Parameter sensitivity is the sensitivity of a value to the parameters of
parameterized market data objects that are used to determine the value.
Common ParameterizedData implementations include Curve and Surface.
For example, par rate sensitivity to an underlying curve would be expressed using this class as there is no associated currency.
The sensitivity is expressed as a single entry for piece of parameterized market data. The sensitivity has no associated currency. The order of the list has no specific meaning.
One way of viewing this class is as a Map from a specific sensitivity key to
DoubleArray sensitivity values. However, instead of being structured as a Map,
the data is structured as a List, with the key and value in each entry.
| Modifier and Type | Class and Description |
|---|---|
static class |
UnitParameterSensitivities.Meta
The meta-bean for
UnitParameterSensitivities. |
| Modifier and Type | Method and Description |
|---|---|
UnitParameterSensitivities |
combinedWith(UnitParameterSensitivities other)
Combines this parameter sensitivities with another instance.
|
UnitParameterSensitivities |
combinedWith(UnitParameterSensitivity other)
Combines this parameter sensitivities with another instance.
|
static UnitParameterSensitivities |
empty()
An empty sensitivity instance.
|
boolean |
equals(Object obj) |
boolean |
equalWithTolerance(UnitParameterSensitivities other,
double tolerance)
Checks if this sensitivity equals another within the specified tolerance.
|
Optional<UnitParameterSensitivity> |
findSensitivity(MarketDataName<?> name)
Finds a single sensitivity instance by name.
|
ImmutableList<UnitParameterSensitivity> |
getSensitivities()
Gets the parameter sensitivities.
|
UnitParameterSensitivity |
getSensitivity(MarketDataName<?> name)
Gets a single sensitivity instance by name.
|
int |
hashCode() |
UnitParameterSensitivities |
mapSensitivities(DoubleUnaryOperator operator)
Returns an instance with the specified operation applied to the sensitivity values.
|
static UnitParameterSensitivities.Meta |
meta()
The meta-bean for
UnitParameterSensitivities. |
UnitParameterSensitivities.Meta |
metaBean() |
CurrencyParameterSensitivities |
multipliedBy(Currency currency,
double amount)
Converts this sensitivity to a monetary value, multiplying by the specified factor.
|
UnitParameterSensitivities |
multipliedBy(double factor)
Returns an instance with the sensitivity values multiplied by the specified factor.
|
static UnitParameterSensitivities |
of(List<? extends UnitParameterSensitivity> sensitivities)
Obtains an instance from a list of sensitivity entries.
|
static UnitParameterSensitivities |
of(UnitParameterSensitivity... sensitivities)
Obtains an instance from an array of sensitivity entries.
|
static UnitParameterSensitivities |
of(UnitParameterSensitivity sensitivity)
Obtains an instance from a single sensitivity entry.
|
int |
size()
Gets the number of sensitivity entries.
|
UnitParameterSensitivities |
split()
Splits this sensitivity instance.
|
String |
toString() |
public static UnitParameterSensitivities empty()
public static UnitParameterSensitivities of(UnitParameterSensitivity sensitivity)
sensitivity - the sensitivity entrypublic static UnitParameterSensitivities of(UnitParameterSensitivity... sensitivities)
The order of sensitivities is typically unimportant, however it is retained
and exposed in equals(Object).
sensitivities - the sensitivitiespublic static UnitParameterSensitivities of(List<? extends UnitParameterSensitivity> sensitivities)
The order of sensitivities is typically unimportant, however it is retained
and exposed in equals(Object).
sensitivities - the list of sensitivity entriespublic int size()
public UnitParameterSensitivity getSensitivity(MarketDataName<?> name)
name - the curve name to findIllegalArgumentException - if the name and currency do not match an entrypublic Optional<UnitParameterSensitivity> findSensitivity(MarketDataName<?> name)
If the sensitivity is not found, optional empty is returned.
name - the curve name to findpublic UnitParameterSensitivities combinedWith(UnitParameterSensitivity other)
This returns a new sensitivity instance with the specified sensitivity added. This instance is immutable and unaffected by this method. The result may contain duplicate parameter sensitivities.
other - the other parameter sensitivitypublic UnitParameterSensitivities combinedWith(UnitParameterSensitivities other)
This returns a new sensitivity instance with a combined list of parameter sensitivities. This instance is immutable and unaffected by this method. The result may contain duplicate parameter sensitivities.
other - the other parameter sensitivitiespublic CurrencyParameterSensitivities multipliedBy(Currency currency, double amount)
The result will consist of the entries based on the entries of this instance. Each entry in the result will be in the specified currency and multiplied by the specified amount.
currency - the currency of the amountamount - the amount to multiply bypublic UnitParameterSensitivities multipliedBy(double factor)
The result will consist of the same entries, but with each sensitivity value multiplied. This instance is immutable and unaffected by this method.
factor - the multiplicative factorpublic UnitParameterSensitivities mapSensitivities(DoubleUnaryOperator operator)
The result will consist of the same entries, but with the operator applied to each sensitivity value. This instance is immutable and unaffected by this method.
This is used to apply a mathematical operation to the sensitivity values. For example, the operator could multiply the sensitivities by a constant, or take the inverse.
inverse = base.mapSensitivities(value -> 1 / value);
operator - the operator to be applied to the sensitivitiespublic UnitParameterSensitivities split()
This examines each individual sensitivity to see if it can be split.
If any can be split, the result will contain the combination of the split sensitivities.
public boolean equalWithTolerance(UnitParameterSensitivities other, double tolerance)
This returns true if the two instances have the same keys, with arrays of the
same length, where the double values are equal within the specified tolerance.
other - the other sensitivitytolerance - the tolerancepublic static UnitParameterSensitivities.Meta meta()
UnitParameterSensitivities.public UnitParameterSensitivities.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic ImmutableList<UnitParameterSensitivity> getSensitivities()
Each entry includes details of the ParameterizedData it relates to.
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.