Class RatesCurveGroupDefinitionBuilder


  • public final class RatesCurveGroupDefinitionBuilder
    extends java.lang.Object
    A mutable builder for creating instances of CurveGroupDefinition.
    • Method Detail

      • 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 configuration
        otherCurrencies - additional currencies for which the curve can provide discount factors
        currency - 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 curve
        otherCurrencies - additional currencies for which the curve can provide discount factors
        currency - 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 curve
        index - the index for which the curve provides forward rates
        otherIndices - 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 curve
        index - the index for which the curve provides forward rates
        otherIndices - 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 curve
        currency - the currency for which the curve provides discount rates
        index - the index for which the curve provides forward rates
        otherIndices - 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 curve
        currency - the currency for which the curve provides discount rates
        index - the index for which the curve provides forward rates
        otherIndices - 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 curve
        seasonalityDefinition - 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