CDM Editor
Edit CDM Rosetta DSL type definitions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
namespace cdm.product.asset : <"Interest rate product definitions">
import cdm.base.datetime.*
import cdm.base.math.*
import cdm.product.common.*
type InterestRatePayout extends PayoutBase:
[metadata key]
rateSpecification RateSpecification (1..1)
[metadata scheme]
dayCountFraction DayCountFractionEnum (1..1)
calculationPeriodDates CalculationPeriodDates (1..1)
paymentDates PaymentDates (1..1)
resetDates ResetDates (0..1)
stubPeriod StubPeriod (0..1)
compoundingMethod CompoundingMethodEnum (0..1)
cashflowRepresentation CashflowRepresentation (0..1)
condition PaymentDatesPresent:
paymentDates exists
condition ResetDatesForFloating:
if rateSpecification -> floatingRate exists
then resetDates exists
type RateSpecification:
fixedRate FixedRateSpecification (0..1)
floatingRate FloatingRateSpecification (0..1)
condition OneOf:
one-of
type FixedRateSpecification:
rateSchedule RateSchedule (1..1)
meta MetaFields (0..1)
type FloatingRateSpecification:
floatingRateIndex FloatingRateIndexEnum (1..1)
indexTenor Period (0..1)
spreadSchedule SpreadSchedule (0..1)
rateTreatment RateTreatmentEnum (0..1)
capRateSchedule StrikeSchedule (0..1)
floorRateSchedule StrikeSchedule (0..1)
Line 12, Col 8|CDM 6.0.0|UTF-8
43 lines|Rosetta DSL
Validation
Errors0
Warnings2
Info0
⚠️
Type "StubPeriod" referenced but not defined in current namespace
Line 16
⚠️
Consider adding description annotation to "RateSpecification"
Line 24
Type Hierarchy
PayoutBase
└ InterestRatePayout
├ RateSpecification
├ FixedRateSpecification
└ FloatingRateSpecification
References
Used by4 types
Depends on8 types
Namespacecdm.product.asset