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
- from schema: https://w3id.org/lmodel/common-domain-model
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