Class RatesCurveGroupDefinitionBuilder
- java.lang.Object
-
- com.opengamma.strata.market.curve.RatesCurveGroupDefinitionBuilder
-
public final class RatesCurveGroupDefinitionBuilder extends Object
A mutable builder for creating instances ofCurveGroupDefinition
.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RatesCurveGroupDefinitionBuilder
addCurve(CurveDefinition curveDefinition, Currency currency, RateIndex index, RateIndex... otherIndices)
Adds the definition of a curve to the curve group definition which is used to provide discount rates and forward rates.RatesCurveGroupDefinitionBuilder
addCurve(CurveName curveName, Currency currency, RateIndex index, RateIndex... otherIndices)
Adds a curve to the curve group definition which is used to provide discount rates and forward rates.RatesCurveGroupDefinitionBuilder
addDiscountCurve(CurveDefinition curveDefinition, Currency currency, Currency... otherCurrencies)
Adds the definition of a discount curve to the curve group definition.RatesCurveGroupDefinitionBuilder
addDiscountCurve(CurveName curveName, Currency currency, Currency... otherCurrencies)
Adds the definition of a discount curve to the curve group definition.RatesCurveGroupDefinitionBuilder
addForwardCurve(CurveDefinition curveDefinition, Index index, Index... otherIndices)
Adds the definition of a forward curve to the curve group definition.RatesCurveGroupDefinitionBuilder
addForwardCurve(CurveName curveName, Index index, Index... otherIndices)
Adds the definition of a forward curve to the curve group definition.RatesCurveGroupDefinitionBuilder
addSeasonality(CurveName curveName, SeasonalityDefinition seasonalityDefinition)
Adds a seasonality to the curve group definition.RatesCurveGroupDefinition
build()
Builds the definition of the curve group from the data in this object.RatesCurveGroupDefinitionBuilder
computeJacobian(boolean computeJacobian)
Sets the 'compute Jacobian' flag of the curve group definition.RatesCurveGroupDefinitionBuilder
computePvSensitivityToMarketQuote(boolean computePvSensitivityToMarketQuote)
Sets the 'compute PV sensitivity to market quote' flag of the curve group definition.RatesCurveGroupDefinitionBuilder
name(CurveGroupName name)
Sets the name of the curve group definition.
-
-
-
Method Detail
-
name
public RatesCurveGroupDefinitionBuilder name(CurveGroupName name)
Sets the name of the curve group definition.- Parameters:
name
- the name of the curve group, not empty- Returns:
- this builder
-
computeJacobian
public RatesCurveGroupDefinitionBuilder computeJacobian(boolean computeJacobian)
Sets the 'compute Jacobian' flag of the curve group definition.- Parameters:
computeJacobian
- the flag indicating if the Jacobian matrices should be computed and stored in metadata or not- Returns:
- this builder
-
computePvSensitivityToMarketQuote
public RatesCurveGroupDefinitionBuilder computePvSensitivityToMarketQuote(boolean computePvSensitivityToMarketQuote)
Sets the 'compute PV sensitivity to market quote' flag of the curve group definition.If set, the Jacobian matrices will also be calculated, even if not requested.
- Parameters:
computePvSensitivityToMarketQuote
- the flag indicating if present value sensitivity to market quotes should be computed and stored in metadata or not- Returns:
- this builder
-
addDiscountCurve
public RatesCurveGroupDefinitionBuilder addDiscountCurve(CurveDefinition curveDefinition, Currency currency, Currency... otherCurrencies)
Adds the definition of a discount curve to the curve group definition.- Parameters:
curveDefinition
- the discount curve configurationotherCurrencies
- additional currencies for which the curve can provide discount factorscurrency
- the currency for which the curve provides discount rates- Returns:
- this builder
-
addDiscountCurve
public RatesCurveGroupDefinitionBuilder addDiscountCurve(CurveName curveName, Currency currency, Currency... otherCurrencies)
Adds the definition of a discount curve to the curve group definition.A curve added with this method cannot be calibrated by the market data system as it does not include a curve definition. It is intended to be used with curves which are supplied by the user.
- Parameters:
curveName
- the name of the curveotherCurrencies
- additional currencies for which the curve can provide discount factorscurrency
- the currency for which the curve provides discount rates- Returns:
- this builder
-
addForwardCurve
public RatesCurveGroupDefinitionBuilder addForwardCurve(CurveDefinition curveDefinition, Index index, Index... otherIndices)
Adds the definition of a forward curve to the curve group definition.- Parameters:
curveDefinition
- the definition of the forward curveindex
- the index for which the curve provides forward ratesotherIndices
- the additional indices for which the curve provides forward rates- Returns:
- this builder
-
addForwardCurve
public RatesCurveGroupDefinitionBuilder addForwardCurve(CurveName curveName, Index index, Index... otherIndices)
Adds the definition of a forward curve to the curve group definition.A curve added with this method cannot be calibrated by the market data system as it does not include a curve definition. It is intended to be used with curves which are supplied by the user.
- Parameters:
curveName
- the name of the curveindex
- the index for which the curve provides forward ratesotherIndices
- the additional indices for which the curve provides forward rates- Returns:
- this builder
-
addCurve
public RatesCurveGroupDefinitionBuilder addCurve(CurveDefinition curveDefinition, Currency currency, RateIndex index, RateIndex... otherIndices)
Adds the definition of a curve to the curve group definition which is used to provide discount rates and forward rates.- Parameters:
curveDefinition
- the definition of the forward curvecurrency
- the currency for which the curve provides discount ratesindex
- the index for which the curve provides forward ratesotherIndices
- the additional indices for which the curve provides forward rates- Returns:
- this builder
-
addCurve
public RatesCurveGroupDefinitionBuilder addCurve(CurveName curveName, Currency currency, RateIndex index, RateIndex... otherIndices)
Adds a curve to the curve group definition which is used to provide discount rates and forward rates.A curve added with this method cannot be calibrated by the market data system as it does not include a curve definition. It is intended to be used with curves which are supplied by the user.
- Parameters:
curveName
- the name of the curvecurrency
- the currency for which the curve provides discount ratesindex
- the index for which the curve provides forward ratesotherIndices
- the additional indices for which the curve provides forward rates- Returns:
- this builder
-
addSeasonality
public RatesCurveGroupDefinitionBuilder addSeasonality(CurveName curveName, SeasonalityDefinition seasonalityDefinition)
Adds a seasonality to the curve group definition.- Parameters:
curveName
- the name of the curveseasonalityDefinition
- the seasonality associated to the curve- Returns:
- this builder
-
build
public RatesCurveGroupDefinition build()
Builds the definition of the curve group from the data in this object.- Returns:
- the definition of the curve group built from the data in this object
-
-