ShiftType shiftType
DoubleArray shiftAmount
FxRate
.
Each element in the array corresponds to each scenario.
CurrencyPair currencyPair
This also defines the direction of the FX rate to be shifted.
ShiftType shiftType
Double
value.DoubleArray shiftAmount
Double
value.
Each element in the array corresponds to each scenario.
double spread
LocalDate paymentDate
This is the date on which the cash flow occurs.
CurrencyAmount presentValue
The present value is signed. A negative value indicates a payment while a positive value indicates receipt.
CurrencyAmount forecastValue
The forecast value is signed. A negative value indicates a payment while a positive value indicates receipt.
double discountFactor
This is the discount factor between valuation date and the payment date. Thus present value is the forecast value multiplied by the discount factor.
ImmutableList<E> cashFlows
Each entry includes details of a single cash flow.
ImmutableList<E> amounts
CurrencyAmount amount
PayReceive payReceive
SwapLegType type
Currency currency
Curve baseCurve
Curve spreadCurve
CurveMetadata metadata
private Object readResolve()
CurveMetadata metadata
The metadata will not normally have parameter metadata.
double yValue
private Object readResolve()
CurveMetadata metadata
The metadata will have a single parameter metadata.
double xValue
double yValue
CurveGroupName curveGroupName
CurveName curveName
ObservableSource observableSource
String name
CurveNodeDateType type
LocalDate date
int minGapInDays
CurveNodeClashAction action
ShiftType shiftType
DoubleArray shiftAmounts
CurveName name
int parameterCount
CurveName curveName
ValueType xValueType
This type provides meaning to the x-values. For example, the x-value might
represent a year fraction, as represented using YEAR_FRACTION
.
If using the builder, this defaults to UNKNOWN
.
ValueType yValueType
ImmutableMap<K,V> info
This stores additional information for the curve.
The most common information is the day count and curve calibration Jacobian.
ImmutableList<E> parameterMetadata
If present, the parameter metadata will match the number of parameters on the curve.
String label
When building, this will default based on the tenor if not specified.
ObservableId observableId
Tenor tenor
DaysAdjustment spotDateOffset
The offset is applied to the trade date and is typically plus 2 business days.
BusinessDayAdjustment businessDayAdjustment
The start and end date will be adjusted as defined here.
DayCount dayCount
This defines the term year fraction.
NodalCurve leftCurve
NodalCurve rightCurve
private Object readResolve()
NodalCurve underlying
DoubleArray seasonality
ShiftType adjustmentType
private Object readResolve()
CurveMetadata metadata
The metadata includes an optional list of parameter metadata. If present, the size of the parameter metadata list will match the number of parameters of this curve.
DoubleArray xValues
This array will contains at least two elements and be of the same length as y-values.
DoubleArray yValues
This array will contains at least two elements and be of the same length as x-values.
CurveInterpolator interpolator
CurveExtrapolator extrapolatorLeft
CurveExtrapolator extrapolatorRight
CurveName name
ValueType xValueType
This type provides meaning to the x-values. For example, the x-value might
represent a year fraction, as represented using YEAR_FRACTION
.
If using the builder, this defaults to UNKNOWN
.
ValueType yValueType
DayCount dayCount
If the x-value of the curve represents time as a year fraction, the day count can be specified to define how the year fraction is calculated.
Integer compoundingPerYear
The number of compounding periods per year of the zero-coupon rate. This is used for a zero rate periodically-compounded curve.
ImmutableList<E> nodes
The nodes are used to find the par rates and calibrate the curve. There must be at least two nodes in the curve.
CurveInterpolator interpolator
CurveExtrapolator extrapolatorLeft
CurveExtrapolator extrapolatorRight
CurveName name
Currency currency
The resultant curve will be used for discounting based on this currency.
This is typically the same as the currency of the curve node instruments in curveNodes
.
LocalDate curveValuationDate
The date on which the resultant curve is used for pricing.
This date is not necessarily the same as the valuationDate
of MarketData
on which the market data was snapped.
DayCount dayCount
If the x-value of the curve represents time as a year fraction, the day count can be specified to define how the year fraction is calculated.
ImmutableList<E> curveNodes
The nodes are used to find the par rates and calibrate the curve.
boolean computeJacobian
boolean storeNodeTrade
This property is used only for credit curve calibration.
CurveGroupName curveGroupName
CurveName curveName
ObservableSource observableSource
ImmutableList<E> order
DoubleMatrix jacobianMatrix
CurveGroupName name
ImmutableMap<K,V> repoCurves
ImmutableMap<K,V> issuerCurves
CurveGroupName curveGroupName
ObservableSource observableSource
Curve underlyingCurve
ShiftType shiftType
#getShiftAmount()
.double shiftAmount
#getShiftType()
.CurveGroupName name
ImmutableMap<K,V> discountCurves
ImmutableMap<K,V> forwardCurves
private Object readResolve()
CurveGroupName name
ImmutableList<E> entries
ImmutableList<E> curveDefinitions
Curve definitions are required for curves that need to be calibrated. A definition is not necessary if the curve is not built by the Strata curve calibrator.
ImmutableMap<K,V> seasonalityDefinitions
If a curve linked to a price index does not have an entry in the map, no seasonality is used for that curve.
boolean computeJacobian
boolean computePvSensitivityToMarketQuote
CurveName curveName
ImmutableSet<E> discountCurrencies
ImmutableSet<E> indices
CurveGroupName curveGroupName
ObservableSource observableSource
ImmutableMap<K,V> marketData
There will typically be at least one entry for each node on the curve.
CurveMetadata curveMetadata
This is used to identify the curve and the necessary pieces of market data.
CurveGroupName curveGroupName
CurveName curveName
ObservableSource observableSource
CurveGroupName curveGroupName
CurveName curveName
ObservableSource observableSource
DoubleArray seasonalityMonthOnMonth
This is an array of length 12, with the first element being the adjustment from January to February, the second element being the adjustment from February to March, and so on to the 12th element being the adjustment from December to January.
ShiftType adjustmentType
ValueType xValueType
double xValue
String label
When building, this will default based on the tenor if not specified.
ObservableId observableId
Tenor tenor
This is the period from the first accrual date to the last accrual date.
DaysAdjustment spotDateOffset
The offset is applied to the trade date and is typically plus 2 business days.
BusinessDayAdjustment businessDayAdjustment
The date property is an unadjusted date and as such might be a weekend or holiday. The adjustment specified here is used to convert a relevant date to a valid business day.
DayCount dayCount
This is used to convert schedule period dates to a numerical value.
Frequency paymentFrequency
Regular payments will be made at the specified periodic frequency. The compounding is not allowed in this node. Thus the frequency is the same as the accrual periodic frequency.
CdsTemplate template
String label
When building, this will default based on template
if not specified.
ObservableId observableId
StandardId cdsIndexId
This identifier is used to refer this CDS index product.
ImmutableList<E> legalEntityIds
These identifiers refer to the reference legal entities of the CDS index.
CdsQuoteConvention quoteConvention
The CDS index is quoted in par spread, points upfront or quoted spread.
See CdsQuoteConvention
for detail.
Double fixedRate
This must be represented in decimal form.
CdsTemplate template
String label
When building, this will default based on template
if not specified.
ObservableId observableId
StandardId legalEntityId
This identifier is used for the reference legal entity of the CDS.
CdsQuoteConvention quoteConvention
The CDS is quoted in par spread, points upfront or quoted spread.
See CdsQuoteConvention
for detail.
Double fixedRate
This must be represented in decimal form.
FixedIborSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.FixedInflationSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.FixedOvernightSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.FraTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the period to end if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.FxSwapTemplate template
FxRateId fxRateId
ObservableId farForwardPointsId
String label
When building, this will default based on the far period if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.IborFixingDepositTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the deposit period if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.IborFutureTemplate template
QuoteId rateId
double additionalSpread
String label
If empty, a default label will be created when the metadata is built. The default label depends on the valuation date, so cannot be created in the node.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.IborIborSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.OvernightFutureTemplate template
QuoteId rateId
double additionalSpread
String label
If empty, a default label will be created when the metadata is built. The default label depends on the valuation date, so cannot be created in the node.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.OvernightIborSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.TermDepositTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the deposit period if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.ThreeLegBasisSwapTemplate template
ObservableId rateId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.XCcyIborIborSwapTemplate template
FxRateId fxRateId
ObservableId spreadId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.XCcyOvernightOvernightSwapTemplate template
FxRateId fxRateId
ObservableId spreadId
double additionalSpread
String label
When building, this will default based on the tenor if not specified.
CurveNodeDate date
CurveNodeDateOrder dateOrder
CurveNodeDateOrder.DEFAULT
.ImmutableMap<K,V> map
Index index
FieldName fieldName
ObservableSource observableSource
StandardId legalEntityId
boolean defaulted
True if defaulted, false otherwise.
StandardId legalEntityId
StandardId standardId
FieldName fieldName
ObservableSource observableSource
DoubleArray quotes
QuoteId id
double value
double value
double value
double value
ImmutableList<E> sensitivities
Each entry includes details of the ParameterizedData
it relates to.
MarketDataName<T> marketDataName
This name is used in the market data system to identify the data that the sensitivities refer to.
ImmutableList<E> parameterMetadata
There is one entry for each parameter.
ImmutableList<E> order
This defines the order of sensitivity values, which can be used as a key to interpret sensitivity
.
Currency currency
DoubleMatrix sensitivity
The curve delta sensitivities to parameterized market data.
This is a n x m
matrix, where n
must agree with the size of parameterMetadata
and
m
must be the sum of parameter count in order
.
ImmutableList<E> sensitivities
Each entry includes details of the ParameterizedData
it relates to.
MarketDataName<T> marketDataName
This name is used in the market data system to identify the data that the sensitivities refer to.
ImmutableList<E> parameterMetadata
There is one entry for each parameter.
Currency currency
DoubleArray sensitivity
There is one sensitivity value for each parameter.
ImmutableList<E> parameterSplit
A single CurrencyParameterSensitivity
represents the sensitivity to a single ParameterizedData
instance.
However, a ParameterizedData
instance can itself be backed by more than one underlying instance.
For example, a curve formed from two underlying curves.
If this list is present, it represents how to split this sensitivity between the underlying instances.
String label
MarketDataName<T> name
int parameterCount
ShiftType shiftType
DoubleMatrix shifts
There is one row in the matrix for each scenario and one column for each parameter in the data.
Node indices are found using nodeIndices
.
ImmutableMap<K,V> nodeIndices
The key is typically the node identifier. The key may also be the node label.
ResolvedTrade trade
String label
LocalDate date
This is the date that is most closely associated with the parameter. The actual parameter is typically a year fraction based on a day count.
Tenor tenor
String label
ImmutableList<E> sensitivities
Each entry includes details of the ParameterizedData
it relates to.
MarketDataName<T> marketDataName
This name is used in the market data system to identify the data that the sensitivities refer to.
ImmutableList<E> parameterMetadata
There is one entry for each parameter.
DoubleArray sensitivity
There is one sensitivity value for each parameter.
ImmutableList<E> parameterSplit
A single UnitParameterSensitivity
represents the sensitivity to a single ParameterizedData
instance.
However, a ParameterizedData
instance can itself be backed by more than one underlying instance.
For example, a curve formed from two underlying curves.
This list is present, it represents how to split this sensitivity between the underlying instances.
LocalDate date
This is the date that is most closely associated with the parameter. The actual parameter is typically a year fraction based on a day count.
YearMonth yearMonth
String label
PortfolioItemInfo info
This allows additional information to be attached to the sensitivities.
ImmutableMap<K,V> typedSensitivities
The map allows sensitivity to different types to be expressed. For example, there might be both delta and gamma sensitivity.
ImmutableList<E> sensitivities
Each entry includes details of the market data query it relates to.
private Object readResolve()
SurfaceMetadata metadata
The metadata will have not have parameter metadata.
double zValue
SurfaceName surfaceName
ValueType xValueType
This type provides meaning to the x-values. For example, the x-value might
represent a year fraction, as represented using YEAR_FRACTION
.
If using the builder, this defaults to UNKNOWN
.
ValueType yValueType
This type provides meaning to the y-values.
If using the builder, this defaults to UNKNOWN
.
ValueType zValueType
This type provides meaning to the z-values.
If using the builder, this defaults to UNKNOWN
.
ImmutableMap<K,V> info
This stores additional information for the surface.
ImmutableList<E> parameterMetadata
If present, the parameter metadata should match the number of parameters on the surface.
SurfaceMetadata metadata
The metadata includes an optional list of parameter metadata.
Surface originalSurface
The underlying surface which receives the deformation defined by deformationFunction
.
Function<T,R> deformationFunction
The deformation to the original surface is define by this function.
The function takes DoublesPair
of x-value and y-value, then returns ValueDerivatives
which contains z-value for the specified x,y values, and node sensitivities to the original surface.
private Object readResolve()
SurfaceMetadata metadata
The metadata includes an optional list of parameter metadata. If present, the size of the parameter metadata list will match the number of parameters of this surface.
DoubleArray xValues
This array will contains at least two elements.
DoubleArray yValues
This array will contains at least two elements and be of the same length as x-values.
DoubleArray zValues
This array will contains at least two elements and be of the same length as x-values.
SurfaceInterpolator interpolator
String name
CurveInterpolator xInterpolator
CurveExtrapolator xExtrapolatorLeft
CurveExtrapolator xExtrapolatorRight
CurveInterpolator yInterpolator
CurveExtrapolator yExtrapolatorLeft
CurveExtrapolator yExtrapolatorRight
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.