Skip to content

Class: CalculationPeriodFrequency

A class to specify the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and their roll date convention.

URI: common_domain_model:CalculationPeriodFrequency

 classDiagram
    class CalculationPeriodFrequency
    click CalculationPeriodFrequency href "../CalculationPeriodFrequency/"
      Frequency <|-- CalculationPeriodFrequency
        click Frequency href "../Frequency/"
      
      CalculationPeriodFrequency : balanceOfFirstPeriod
        
      CalculationPeriodFrequency : period
        
          
    
        
        
        CalculationPeriodFrequency --> "1" PeriodExtendedEnum : period
        click PeriodExtendedEnum href "../PeriodExtendedEnum/"
    

        
      CalculationPeriodFrequency : periodMultiplier
        
      CalculationPeriodFrequency : rollConvention
        
          
    
        
        
        CalculationPeriodFrequency --> "1" RollConventionEnum : rollConvention
        click RollConventionEnum href "../RollConventionEnum/"
    

        
      
Name Cardinality and Range Description Inheritance
rollConvention 1
RollConventionEnum
The roll convention specifies the period term as part of a periodic schedule,… direct
balanceOfFirstPeriod 0..1
Boolean
Indicates, when true, that that the first Calculation Period should run from … direct
periodMultiplier 1
Integer
A time period multiplier, e Frequency
period 1
PeriodExtendedEnum
A time period, e Frequency
Expressions & Logic

The class must satisfy all of:

  • AnonymousClassExpression({ ‘description’: (’From Frequency. PositivePeriodMultiplier: FpML specifies periodMultiplier as ’ ‘a positive integer.’), ‘slot_conditions’: {‘periodMultiplier’: SlotDefinition({‘name’: ‘periodMultiplier’, ‘minimum_value’: 1})} })
used by used in type used
AveragingSchedule averagingPeriodFrequency range CalculationPeriodFrequency
PeriodicDates periodFrequency range CalculationPeriodFrequency
CalculationPeriodDates calculationPeriodFrequency range CalculationPeriodFrequency

Rule Applied Preconditions Postconditions Elseconditions
any_of [{'slot_conditions': {'period': {'equals_string': 'M'}}}, {'slot_conditions': {'period': {'equals_string': 'Y'}}}]
all_of [{'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'NONE'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'SFE'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'MON'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'TUE'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'WED'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'THU'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'FRI'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'SAT'}}}]}, {'none_of': [{'slot_conditions': {'rollConvention': {'value_presence': 'PRESENT', 'equals_string': 'SUN'}}}]}]
Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'period': {'equals_string': 'W'}}
any_of [{'slot_conditions': {'rollConvention': {'equals_string': 'NONE'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'SFE'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'MON'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'TUE'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'WED'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'THU'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'FRI'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'SAT'}}}, {'slot_conditions': {'rollConvention': {'equals_string': 'SUN'}}}]
Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'period': {'equals_string': 'T'}} {'rollConvention': {'equals_string': 'NONE'}}
Mapping Type Mapped Value
self common_domain_model:CalculationPeriodFrequency
native common_domain_model:CalculationPeriodFrequency
name: CalculationPeriodFrequency
description: A class to specify the frequency at which calculation period end dates
occur within the regular part of the calculation period schedule and their roll
date convention.
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: Frequency
attributes:
rollConvention:
name: rollConvention
description: The roll convention specifies the period term as part of a periodic
schedule, i.e. the calculation period end date within the regular part of the
calculation period. The value could be a rule, e.g. IMM Settlement Dates, which
is the 3rd Wednesday of the month, or it could be a specific day of the month,
such as the first day of the applicable month. It is used in conjunction with
a frequency and the regular period start date of a calculation period.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
rank: 1000
domain_of:
- CalculationPeriodFrequency
range: RollConventionEnum
required: true
balanceOfFirstPeriod:
name: balanceOfFirstPeriod
description: Indicates, when true, that that the first Calculation Period should
run from the Effective Date to the end of the calendar period in which the Effective
Date falls, e.g. Jan 15 - Jan 31 if the calculation periods are one month long
and Effective Date is Jan 15. If false, the first Calculation Period should
run from the Effective Date for one whole period, e.g. Jan 15 to Feb 14 if the
calculation periods are one month long and Effective Date is Jan 15. Mostly
used in Commmodity Swaps.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
rank: 1000
domain_of:
- CalculationPeriodFrequency
range: boolean
rules:
- preconditions:
any_of:
- slot_conditions:
period:
name: period
equals_string: M
- slot_conditions:
period:
name: period
equals_string: Y
postconditions:
all_of:
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: NONE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SFE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: MON
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: TUE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: WED
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: THU
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: FRI
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SAT
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SUN
description: 'FpML_ird_57: FpML validation rule ird-57 - Context: CalculationPeriodFrequency.
[period eq (''M'', ''Y'')] not(rollConvention = (''NONE'', ''SFE'', ''MON'', ''TUE'',
''WED'', ''THU'', ''FRI'', ''SAT'',''SUN'')).'
- preconditions:
slot_conditions:
period:
name: period
equals_string: W
postconditions:
any_of:
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: NONE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SFE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: MON
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: TUE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: WED
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: THU
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: FRI
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SAT
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SUN
description: 'FpML_ird_58: FpML validation rule ird-58 - Context: CalculationPeriodFrequency.
When the period is ''W'', the rollConvention must be a week day, ''SFE'' or ''NONE''.'
- preconditions:
slot_conditions:
period:
name: period
equals_string: T
postconditions:
slot_conditions:
rollConvention:
name: rollConvention
equals_string: NONE
description: 'FpML_ird_60: FpML validation rule ird-60 - Context: CalculationPeriodFrequency.
When the period is ''T'', the rollConvention must be ''NONE''.'
all_of:
- description: 'From Frequency. PositivePeriodMultiplier: FpML specifies periodMultiplier
as a positive integer.'
slot_conditions:
periodMultiplier:
name: periodMultiplier
minimum_value: 1
name: CalculationPeriodFrequency
description: A class to specify the frequency at which calculation period end dates
occur within the regular part of the calculation period schedule and their roll
date convention.
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: Frequency
attributes:
rollConvention:
name: rollConvention
description: The roll convention specifies the period term as part of a periodic
schedule, i.e. the calculation period end date within the regular part of the
calculation period. The value could be a rule, e.g. IMM Settlement Dates, which
is the 3rd Wednesday of the month, or it could be a specific day of the month,
such as the first day of the applicable month. It is used in conjunction with
a frequency and the regular period start date of a calculation period.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
rank: 1000
owner: CalculationPeriodFrequency
domain_of:
- CalculationPeriodFrequency
range: RollConventionEnum
required: true
balanceOfFirstPeriod:
name: balanceOfFirstPeriod
description: Indicates, when true, that that the first Calculation Period should
run from the Effective Date to the end of the calendar period in which the Effective
Date falls, e.g. Jan 15 - Jan 31 if the calculation periods are one month long
and Effective Date is Jan 15. If false, the first Calculation Period should
run from the Effective Date for one whole period, e.g. Jan 15 to Feb 14 if the
calculation periods are one month long and Effective Date is Jan 15. Mostly
used in Commmodity Swaps.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
rank: 1000
owner: CalculationPeriodFrequency
domain_of:
- CalculationPeriodFrequency
range: boolean
periodMultiplier:
name: periodMultiplier
description: A time period multiplier, e.g. 1, 2, or 3. If the period value is
T (Term) then period multiplier must contain the value 1.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
rank: 1000
owner: CalculationPeriodFrequency
domain_of:
- Frequency
- Period
- Velocity
range: integer
required: true
period:
name: period
description: A time period, e.g. a day, week, month, year or term of the stream.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_base_datetime
owner: CalculationPeriodFrequency
domain_of:
- CalculationFrequency
- Frequency
- Period
- PeriodBound
- Velocity
- AverageTradingVolume
range: PeriodExtendedEnum
required: true
rules:
- preconditions:
any_of:
- slot_conditions:
period:
name: period
equals_string: M
- slot_conditions:
period:
name: period
equals_string: Y
postconditions:
all_of:
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: NONE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SFE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: MON
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: TUE
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: WED
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: THU
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: FRI
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SAT
- none_of:
- slot_conditions:
rollConvention:
name: rollConvention
value_presence: PRESENT
equals_string: SUN
description: 'FpML_ird_57: FpML validation rule ird-57 - Context: CalculationPeriodFrequency.
[period eq (''M'', ''Y'')] not(rollConvention = (''NONE'', ''SFE'', ''MON'', ''TUE'',
''WED'', ''THU'', ''FRI'', ''SAT'',''SUN'')).'
- preconditions:
slot_conditions:
period:
name: period
equals_string: W
postconditions:
any_of:
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: NONE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SFE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: MON
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: TUE
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: WED
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: THU
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: FRI
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SAT
- slot_conditions:
rollConvention:
name: rollConvention
equals_string: SUN
description: 'FpML_ird_58: FpML validation rule ird-58 - Context: CalculationPeriodFrequency.
When the period is ''W'', the rollConvention must be a week day, ''SFE'' or ''NONE''.'
- preconditions:
slot_conditions:
period:
name: period
equals_string: T
postconditions:
slot_conditions:
rollConvention:
name: rollConvention
equals_string: NONE
description: 'FpML_ird_60: FpML validation rule ird-60 - Context: CalculationPeriodFrequency.
When the period is ''T'', the rollConvention must be ''NONE''.'
all_of:
- description: 'From Frequency. PositivePeriodMultiplier: FpML specifies periodMultiplier
as a positive integer.'
slot_conditions:
periodMultiplier:
name: periodMultiplier
minimum_value: 1