Skip to content

Class: FloatingRateProcessingParameters

Type to hold the processing parameters that should be or were used to calculate a floating amount. These parameters can vary over a schedule so this type holds the acutal values applicable to this calculation.

URI: common_domain_model:FloatingRateProcessingParameters

 classDiagram
    class FloatingRateProcessingParameters
    click FloatingRateProcessingParameters href "../FloatingRateProcessingParameters/"
      FloatingRateProcessingParameters : capRate

      FloatingRateProcessingParameters : floorRate

      FloatingRateProcessingParameters : initialRate





        FloatingRateProcessingParameters --> "0..1" Price : initialRate
        click Price href "../Price/"



      FloatingRateProcessingParameters : multiplier

      FloatingRateProcessingParameters : negativeTreatment





        FloatingRateProcessingParameters --> "0..1" NegativeInterestRateTreatmentEnum : negativeTreatment
        click NegativeInterestRateTreatmentEnum href "../NegativeInterestRateTreatmentEnum/"



      FloatingRateProcessingParameters : rounding





        FloatingRateProcessingParameters --> "0..1" Rounding : rounding
        click Rounding href "../Rounding/"



      FloatingRateProcessingParameters : spread

      FloatingRateProcessingParameters : treatment





        FloatingRateProcessingParameters --> "0..1" RateTreatmentEnum : treatment
        click RateTreatmentEnum href "../RateTreatmentEnum/"



Slots

Name Cardinality and Range Description Inheritance
initialRate 0..1
Price
The rate to be applied for the initial period direct
multiplier 0..1
Decimal
floating rate multiplier direct
spread 0..1
Decimal
spread to be added to the floating rate direct
treatment 0..1
RateTreatmentEnum
US rate treatment (Bond Equivalent Yield or Money Market Yield, if applicable direct
capRate 0..1
Decimal
capt to be applied to the floating rate direct
floorRate 0..1
Decimal
floor to be applied to the floating rate direct
rounding 0..1
Rounding
THe final rate rounding to be applied direct
negativeTreatment 0..1
NegativeInterestRateTreatmentEnum
How to handle negative interest rates direct

Usages

used by used in type used
FloatingRateProcessingDetails processingParameters range FloatingRateProcessingParameters

In Subsets

Comments

  • Rosetta func: GetFloatingRateProcessingParameters — Determine the processing parameters to use from the InterestRatePayout by looking them up if necessary from the corresponding schedules in the interest rate stream.
  • Rosetta func: ApplyFloatingRateProcessing — Perform rate treatments on floating rates, such as applying spreads, multipliers, caps and floors, rounding, and negative interest treatment. TODO: initialRate needs to be supported. Also, to support compounding methods, it may be necessary to split the before spread and after spread values and return both, so that cashflows can be computed both ways. This may require this function to be redesigned or split into pieces (e.g. factor out the post-spread processing). Rate treatments are described in Section 6 of the 2021 ISDA Definitions. Negative treatment does not correctly support the case where compounded periods are applicable and will need to be enhanced for that case when compounding calculations are developed.
  • Rosetta func: ApplyFloatingRatePostSpreadProcessing — Perform post-spread rate treatments on floating rates, such as applying caps and floors, rounding, and negative interest treatment. TODOO: initialRate needs to be supported. Also, to support compounding methods, it may be necessary to split the before spread and after spread values and return both, so that cashflows can be computed both ways. This may require this function to be redesigned or split into pieces (e.g. factor out the post-spread processing).
  • Rosetta func: ApplyCapsAndFloors — Apply any cap or floor rate as a constraint on a regular swap rate, as discussed in the 2021 ISDA Definitions, section 6.5.8 and 6.5.9.

Identifier and Mapping Information

Annotations

property value
rosetta_functions [{"name":"GetFloatingRateProcessingParameters","description":"Determine the processing parameters to use from the InterestRatePayout by looking them up if necessary from the corresponding schedules in the interest rate stream.","inputs":[{"name":"interestRatePayout","type":"InterestRatePayout","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"}],"output":{"name":"processingParameters","type":"FloatingRateProcessingParameters","cardinality":"1..1"}},{"name":"ApplyFloatingRateProcessing","description":"Perform rate treatments on floating rates, such as applying spreads, multipliers, caps and floors, rounding, and negative interest treatment. TODO: initialRate needs to be supported. Also, to support compounding methods, it may be necessary to split the before spread and after spread values and return both, so that cashflows can be computed both ways. This may require this function to be redesigned or split into pieces (e.g. factor out the post-spread processing). Rate treatments are described in Section 6 of the 2021 ISDA Definitions. Negative treatment does not correctly support the case where compounded periods are applicable and will need to be enhanced for that case when compounding calculations are developed.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"rawRate","type":"number","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"},{"name":"isInitialPeriod","type":"boolean","cardinality":"1..1"}],"output":{"name":"details","type":"FloatingRateProcessingDetails","cardinality":"1..1"}},{"name":"ApplyFloatingRatePostSpreadProcessing","description":"Perform post-spread rate treatments on floating rates, such as applying caps and floors, rounding, and negative interest treatment. TODOO: initialRate needs to be supported. Also, to support compounding methods, it may be necessary to split the before spread and after spread values and return both, so that cashflows can be computed both ways. This may require this function to be redesigned or split into pieces (e.g. factor out the post-spread processing).","inputs":[{"name":"inputRate","type":"number","cardinality":"1..1"},{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"}],"output":{"name":"processedRate","type":"number","cardinality":"1..1"}},{"name":"ApplyCapsAndFloors","description":"Apply any cap or floor rate as a constraint on a regular swap rate, as discussed in the 2021 ISDA Definitions, section 6.5.8 and 6.5.9.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"inputRate","type":"number","cardinality":"1..1"}],"output":{"name":"cappedAndFlooredRate","type":"number","cardinality":"1..1"}}]

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:FloatingRateProcessingParameters
native common_domain_model:FloatingRateProcessingParameters

LinkML Source

Direct

name: FloatingRateProcessingParameters
annotations:
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"GetFloatingRateProcessingParameters","description":"Determine
      the processing parameters to use from the InterestRatePayout by looking them
      up if necessary from the corresponding schedules in the interest rate stream.","inputs":[{"name":"interestRatePayout","type":"InterestRatePayout","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"}],"output":{"name":"processingParameters","type":"FloatingRateProcessingParameters","cardinality":"1..1"}},{"name":"ApplyFloatingRateProcessing","description":"Perform
      rate treatments on floating rates, such as applying spreads, multipliers, caps
      and floors, rounding, and negative interest treatment. TODO: initialRate needs
      to be supported.  Also, to support compounding methods, it may be necessary
      to split the before spread and after spread values and return both, so that
      cashflows can be computed both ways. This may require this function to be redesigned
      or split into pieces (e.g. factor out the post-spread processing).  Rate treatments
      are described in Section 6 of the 2021 ISDA Definitions.  Negative treatment
      does not correctly support the case where compounded periods are applicable
      and will need to be enhanced for that case when compounding calculations are
      developed.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"rawRate","type":"number","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"},{"name":"isInitialPeriod","type":"boolean","cardinality":"1..1"}],"output":{"name":"details","type":"FloatingRateProcessingDetails","cardinality":"1..1"}},{"name":"ApplyFloatingRatePostSpreadProcessing","description":"Perform
      post-spread rate treatments on floating rates, such as applying caps and floors,
      rounding, and negative interest treatment.  TODOO:  initialRate needs to be
      supported.  Also, to support compounding methods, it may be necessary to split
      the before spread and after spread values and return both, so that cashflows
      can be computed both ways.  This may require this function to be redesigned
      or split into pieces (e.g. factor out the post-spread processing).","inputs":[{"name":"inputRate","type":"number","cardinality":"1..1"},{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"}],"output":{"name":"processedRate","type":"number","cardinality":"1..1"}},{"name":"ApplyCapsAndFloors","description":"Apply
      any cap or floor rate as a constraint on a regular swap rate, as discussed in
      the 2021 ISDA Definitions, section 6.5.8 and 6.5.9.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"inputRate","type":"number","cardinality":"1..1"}],"output":{"name":"cappedAndFlooredRate","type":"number","cardinality":"1..1"}}]'
description: Type to hold the processing parameters that should be or were used to
  calculate a floating amount.  These parameters can vary over a schedule so this
  type holds the acutal values applicable to this calculation.
comments:
- 'Rosetta func: GetFloatingRateProcessingParameters  Determine the processing parameters
  to use from the InterestRatePayout by looking them up if necessary from the corresponding
  schedules in the interest rate stream.'
- 'Rosetta func: ApplyFloatingRateProcessing  Perform rate treatments on floating
  rates, such as applying spreads, multipliers, caps and floors, rounding, and negative
  interest treatment. TODO: initialRate needs to be supported.  Also, to support compounding
  methods, it may be necessary to split the before spread and after spread values
  and return both, so that cashflows can be computed both ways. This may require this
  function to be redesigned or split into pieces (e.g. factor out the post-spread
  processing).  Rate treatments are described in Section 6 of the 2021 ISDA Definitions.  Negative
  treatment does not correctly support the case where compounded periods are applicable
  and will need to be enhanced for that case when compounding calculations are developed.'
- 'Rosetta func: ApplyFloatingRatePostSpreadProcessing  Perform post-spread rate
  treatments on floating rates, such as applying caps and floors, rounding, and negative
  interest treatment.  TODOO:  initialRate needs to be supported.  Also, to support
  compounding methods, it may be necessary to split the before spread and after spread
  values and return both, so that cashflows can be computed both ways.  This may require
  this function to be redesigned or split into pieces (e.g. factor out the post-spread
  processing).'
- 'Rosetta func: ApplyCapsAndFloors  Apply any cap or floor rate as a constraint
  on a regular swap rate, as discussed in the 2021 ISDA Definitions, section 6.5.8
  and 6.5.9.'
in_subset:
- cdm_product_asset_floatingrate
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- initialRate
- multiplier
- spread
- treatment
- capRate
- floorRate
- rounding
- negativeTreatment
slot_usage:
  initialRate:
    name: initialRate
    description: The rate to be applied for the initial period.
  multiplier:
    name: multiplier
    description: floating rate multiplier.
    range: decimal
  spread:
    name: spread
    description: spread to be added to the floating rate.
    required: false
  treatment:
    name: treatment
    description: US rate treatment (Bond Equivalent Yield or Money Market Yield, if
      applicable.
    range: RateTreatmentEnum
  capRate:
    name: capRate
    description: capt to be applied to the floating rate.
    range: decimal
    multivalued: false
  floorRate:
    name: floorRate
    description: floor to be applied to the floating rate.
    range: decimal
    multivalued: false
  rounding:
    name: rounding
    description: THe final rate rounding to be applied.
    range: Rounding

Induced

name: FloatingRateProcessingParameters
annotations:
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"GetFloatingRateProcessingParameters","description":"Determine
      the processing parameters to use from the InterestRatePayout by looking them
      up if necessary from the corresponding schedules in the interest rate stream.","inputs":[{"name":"interestRatePayout","type":"InterestRatePayout","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"}],"output":{"name":"processingParameters","type":"FloatingRateProcessingParameters","cardinality":"1..1"}},{"name":"ApplyFloatingRateProcessing","description":"Perform
      rate treatments on floating rates, such as applying spreads, multipliers, caps
      and floors, rounding, and negative interest treatment. TODO: initialRate needs
      to be supported.  Also, to support compounding methods, it may be necessary
      to split the before spread and after spread values and return both, so that
      cashflows can be computed both ways. This may require this function to be redesigned
      or split into pieces (e.g. factor out the post-spread processing).  Rate treatments
      are described in Section 6 of the 2021 ISDA Definitions.  Negative treatment
      does not correctly support the case where compounded periods are applicable
      and will need to be enhanced for that case when compounding calculations are
      developed.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"rawRate","type":"number","cardinality":"1..1"},{"name":"calculationPeriod","type":"CalculationPeriodBase","cardinality":"1..1"},{"name":"isInitialPeriod","type":"boolean","cardinality":"1..1"}],"output":{"name":"details","type":"FloatingRateProcessingDetails","cardinality":"1..1"}},{"name":"ApplyFloatingRatePostSpreadProcessing","description":"Perform
      post-spread rate treatments on floating rates, such as applying caps and floors,
      rounding, and negative interest treatment.  TODOO:  initialRate needs to be
      supported.  Also, to support compounding methods, it may be necessary to split
      the before spread and after spread values and return both, so that cashflows
      can be computed both ways.  This may require this function to be redesigned
      or split into pieces (e.g. factor out the post-spread processing).","inputs":[{"name":"inputRate","type":"number","cardinality":"1..1"},{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"}],"output":{"name":"processedRate","type":"number","cardinality":"1..1"}},{"name":"ApplyCapsAndFloors","description":"Apply
      any cap or floor rate as a constraint on a regular swap rate, as discussed in
      the 2021 ISDA Definitions, section 6.5.8 and 6.5.9.","inputs":[{"name":"processing","type":"FloatingRateProcessingParameters","cardinality":"1..1"},{"name":"inputRate","type":"number","cardinality":"1..1"}],"output":{"name":"cappedAndFlooredRate","type":"number","cardinality":"1..1"}}]'
description: Type to hold the processing parameters that should be or were used to
  calculate a floating amount.  These parameters can vary over a schedule so this
  type holds the acutal values applicable to this calculation.
comments:
- 'Rosetta func: GetFloatingRateProcessingParameters  Determine the processing parameters
  to use from the InterestRatePayout by looking them up if necessary from the corresponding
  schedules in the interest rate stream.'
- 'Rosetta func: ApplyFloatingRateProcessing  Perform rate treatments on floating
  rates, such as applying spreads, multipliers, caps and floors, rounding, and negative
  interest treatment. TODO: initialRate needs to be supported.  Also, to support compounding
  methods, it may be necessary to split the before spread and after spread values
  and return both, so that cashflows can be computed both ways. This may require this
  function to be redesigned or split into pieces (e.g. factor out the post-spread
  processing).  Rate treatments are described in Section 6 of the 2021 ISDA Definitions.  Negative
  treatment does not correctly support the case where compounded periods are applicable
  and will need to be enhanced for that case when compounding calculations are developed.'
- 'Rosetta func: ApplyFloatingRatePostSpreadProcessing  Perform post-spread rate
  treatments on floating rates, such as applying caps and floors, rounding, and negative
  interest treatment.  TODOO:  initialRate needs to be supported.  Also, to support
  compounding methods, it may be necessary to split the before spread and after spread
  values and return both, so that cashflows can be computed both ways.  This may require
  this function to be redesigned or split into pieces (e.g. factor out the post-spread
  processing).'
- 'Rosetta func: ApplyCapsAndFloors  Apply any cap or floor rate as a constraint
  on a regular swap rate, as discussed in the 2021 ISDA Definitions, section 6.5.8
  and 6.5.9.'
in_subset:
- cdm_product_asset_floatingrate
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
  initialRate:
    name: initialRate
    description: The rate to be applied for the initial period.
  multiplier:
    name: multiplier
    description: floating rate multiplier.
    range: decimal
  spread:
    name: spread
    description: spread to be added to the floating rate.
    required: false
  treatment:
    name: treatment
    description: US rate treatment (Bond Equivalent Yield or Money Market Yield, if
      applicable.
    range: RateTreatmentEnum
  capRate:
    name: capRate
    description: capt to be applied to the floating rate.
    range: decimal
    multivalued: false
  floorRate:
    name: floorRate
    description: floor to be applied to the floating rate.
    range: decimal
    multivalued: false
  rounding:
    name: rounding
    description: THe final rate rounding to be applied.
    range: Rounding
attributes:
  initialRate:
    name: initialRate
    description: The rate to be applied for the initial period.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - FloatingRateSpecification
    - FloatingRateProcessingParameters
    range: Price
  multiplier:
    name: multiplier
    description: floating rate multiplier.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - QuantitySchedule
    - FloatingRateProcessingParameters
    range: decimal
  spread:
    name: spread
    description: spread to be added to the floating rate.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - SwapCurveValuation
    - FloatingRateDefinition
    - FloatingRateProcessingParameters
    - CommodityPriceReturnTerms
    range: decimal
    required: false
  treatment:
    name: treatment
    description: US rate treatment (Bond Equivalent Yield or Money Market Yield, if
      applicable.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CollateralPosition.treatment
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - CollateralPosition
    - FloatingRateProcessingParameters
    - EligibleCollateralCriteria
    range: RateTreatmentEnum
  capRate:
    name: capRate
    description: capt to be applied to the floating rate.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - FloatingRateDefinition
    - FloatingRateProcessingParameters
    range: decimal
    multivalued: false
    inlined: true
    inlined_as_list: true
  floorRate:
    name: floorRate
    description: floor to be applied to the floating rate.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - FloatingRateDefinition
    - FloatingRateProcessingParameters
    range: decimal
    multivalued: false
    inlined: true
    inlined_as_list: true
  rounding:
    name: rounding
    description: THe final rate rounding to be applied.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - RelativeTimeOffset
    - CreditSupportObligationsLegacy
    - CreditSupportObligationsInitialMargin
    - CreditSupportObligationsCollateralTransferAgreement
    - CreditSupportObligationsVariationMargin
    - FloatingRateProcessingParameters
    - CollateralInterestCalculationParameters
    - CommodityPriceReturnTerms
    range: Rounding
  negativeTreatment:
    name: negativeTreatment
    description: How to handle negative interest rates.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: FloatingRateProcessingParameters
    domain_of:
    - FloatingRateProcessingParameters
    range: NegativeInterestRateTreatmentEnum