Class: SettlementDate
A data defining the settlement date(s) for cash or physical settlement as either a set of explicit dates, together with applicable adjustments, or as a date relative to some other (anchor) date, or as any date in a range of contiguous business days. This data type provides a level of abstraction on top of the different legacy methods used to specify a settlement / payment date, which vary across product types, asset classes and delivery types.
URI: common_domain_model:SettlementDate
classDiagram
class SettlementDate
click SettlementDate href "../SettlementDate/"
SettlementDate : adjustableDates
SettlementDate --> "0..1" AdjustableDates : adjustableDates
click AdjustableDates href "../AdjustableDates/"
SettlementDate : adjustableOrRelativeDate
SettlementDate --> "0..1" AdjustableOrAdjustedOrRelativeDate : adjustableOrRelativeDate
click AdjustableOrAdjustedOrRelativeDate href "../AdjustableOrAdjustedOrRelativeDate/"
SettlementDate : businessDateRange
SettlementDate --> "0..1" BusinessDateRange : businessDateRange
click BusinessDateRange href "../BusinessDateRange/"
SettlementDate : cashSettlementBusinessDays
SettlementDate : paymentDelay
SettlementDate : valueDate
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| adjustableOrRelativeDate | 0..1 AdjustableOrAdjustedOrRelativeDate |
A single settlement date subject to adjustment or specified as relative to an... | direct |
| valueDate | 0..1 date |
The settlement date for a forward settling product | direct |
| adjustableDates | 0..1 AdjustableDates |
A series of dates that shall be subject to adjustment if they would otherwise... | direct |
| businessDateRange | 0..1 BusinessDateRange |
A range of contiguous business days | direct |
| cashSettlementBusinessDays | 0..1 Integer |
The number of business days used in the determination of the cash settlement ... | direct |
| paymentDelay | 0..1 Boolean |
Applicable to CDS on MBS to specify whether payment delays are applicable to ... | direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| SettlementTerms | settlementDate | range | SettlementDate |
| SettlementBase | settlementDate | range | SettlementDate |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'cashSettlementBusinessDays': {'required': True}} |
{'cashSettlementBusinessDays': {'minimum_value': 0}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
In Subsets
Comments
- Rosetta condition: BusinessDays — if cashSettlementBusinessDays exists then cashSettlementBusinessDays >= 0 else adjustableOrRelativeDate exists or valueDate exists or adjustableDates exists or businessDateRange exists
- Rosetta condition: DateChoice — optional choice adjustableOrRelativeDate, valueDate, adjustableDates, businessDateRange
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| metadata_key | True |
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:SettlementDate |
| native | common_domain_model:SettlementDate |
LinkML Source
Direct
name: SettlementDate
annotations:
metadata_key:
tag: metadata_key
value: true
description: A data defining the settlement date(s) for cash or physical settlement
as either a set of explicit dates, together with applicable adjustments, or as a
date relative to some other (anchor) date, or as any date in a range of contiguous
business days. This data type provides a level of abstraction on top of the different
legacy methods used to specify a settlement / payment date, which vary across product
types, asset classes and delivery types.
comments:
- 'Rosetta condition: BusinessDays — if cashSettlementBusinessDays exists then cashSettlementBusinessDays
>= 0 else adjustableOrRelativeDate exists or valueDate exists or adjustableDates
exists or businessDateRange exists'
- 'Rosetta condition: DateChoice — optional choice adjustableOrRelativeDate, valueDate,
adjustableDates, businessDateRange'
in_subset:
- cdm_product_common_settlement
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- adjustableOrRelativeDate
- valueDate
- adjustableDates
- businessDateRange
- cashSettlementBusinessDays
- paymentDelay
slot_usage:
valueDate:
name: valueDate
description: The settlement date for a forward settling product. For Foreign Exchange
contracts, this represents a common settlement date between both currency legs.
To specify different settlement dates for each currency leg, see the ForeignExchange
class. This attribute was formerly part of 'SettlementTerms', which is now being
harmonised to include a common 'SettlementDate', as inherited from 'SettlementBase'.
required: false
adjustableDates:
name: adjustableDates
description: A series of dates that shall be subject to adjustment if they would
otherwise fall on a day that is not a business day in the specified business
centers, together with the convention for adjusting the date. This attributes
was formerly part of 'CashSettlementPaymentDate' as included into 'OptionCashSettlement'
(which is now merged into a unique 'CashSettlementTerms' data type.
rules:
- preconditions:
slot_conditions:
cashSettlementBusinessDays:
name: cashSettlementBusinessDays
required: true
postconditions:
slot_conditions:
cashSettlementBusinessDays:
name: cashSettlementBusinessDays
minimum_value: 0
description: FpML specifies cashSettlementBusinessDays as a nonNegativeInteger.
If cashSettlementBusinessDays is not specified, then another settlement date method
must be specified.
- postconditions:
any_of:
- slot_conditions:
adjustableOrRelativeDate:
name: adjustableOrRelativeDate
required: true
- slot_conditions:
valueDate:
name: valueDate
required: true
- slot_conditions:
adjustableDates:
name: adjustableDates
required: true
- slot_conditions:
businessDateRange:
name: businessDateRange
required: true
description: Settlement date must be specified either throught the 'settlementDate'
or 'valueDate' attribute. This is a temporary work-around until such time when
we can retire the 'valueDate' attribute.
Induced
name: SettlementDate
annotations:
metadata_key:
tag: metadata_key
value: true
description: A data defining the settlement date(s) for cash or physical settlement
as either a set of explicit dates, together with applicable adjustments, or as a
date relative to some other (anchor) date, or as any date in a range of contiguous
business days. This data type provides a level of abstraction on top of the different
legacy methods used to specify a settlement / payment date, which vary across product
types, asset classes and delivery types.
comments:
- 'Rosetta condition: BusinessDays — if cashSettlementBusinessDays exists then cashSettlementBusinessDays
>= 0 else adjustableOrRelativeDate exists or valueDate exists or adjustableDates
exists or businessDateRange exists'
- 'Rosetta condition: DateChoice — optional choice adjustableOrRelativeDate, valueDate,
adjustableDates, businessDateRange'
in_subset:
- cdm_product_common_settlement
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
valueDate:
name: valueDate
description: The settlement date for a forward settling product. For Foreign Exchange
contracts, this represents a common settlement date between both currency legs.
To specify different settlement dates for each currency leg, see the ForeignExchange
class. This attribute was formerly part of 'SettlementTerms', which is now being
harmonised to include a common 'SettlementDate', as inherited from 'SettlementBase'.
required: false
adjustableDates:
name: adjustableDates
description: A series of dates that shall be subject to adjustment if they would
otherwise fall on a day that is not a business day in the specified business
centers, together with the convention for adjusting the date. This attributes
was formerly part of 'CashSettlementPaymentDate' as included into 'OptionCashSettlement'
(which is now merged into a unique 'CashSettlementTerms' data type.
attributes:
adjustableOrRelativeDate:
name: adjustableOrRelativeDate
description: A single settlement date subject to adjustment or specified as relative
to another date (e.g. the trade date). This attribute was formerly part of 'SettlementTerms',
which is now being harmonised to include a common 'SettlementDate', as inherited
from 'SettlementBase'.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: SettlementDate
domain_of:
- SettlementDate
range: AdjustableOrAdjustedOrRelativeDate
valueDate:
name: valueDate
description: The settlement date for a forward settling product. For Foreign Exchange
contracts, this represents a common settlement date between both currency legs.
To specify different settlement dates for each currency leg, see the ForeignExchange
class. This attribute was formerly part of 'SettlementTerms', which is now being
harmonised to include a common 'SettlementDate', as inherited from 'SettlementBase'.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: SettlementDate
domain_of:
- FutureValueAmount
- SettlementDate
range: date
required: false
adjustableDates:
name: adjustableDates
description: A series of dates that shall be subject to adjustment if they would
otherwise fall on a day that is not a business day in the specified business
centers, together with the convention for adjusting the date. This attributes
was formerly part of 'CashSettlementPaymentDate' as included into 'OptionCashSettlement'
(which is now merged into a unique 'CashSettlementTerms' data type.
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:AdjustableOrRelativeDates.adjustableDates
rank: 1000
owner: SettlementDate
domain_of:
- AdjustableOrRelativeDates
- AdjustableRelativeOrPeriodicDates
- SettlementDate
range: AdjustableDates
businessDateRange:
name: businessDateRange
description: A range of contiguous business days. This attribute is meant to be
merged with the 'settlementDate' at some future point once we refactor 'Date'
to use a single complex type across the model. This attributes was formerly
part of 'CashSettlementPaymentDate', as included into 'OptionCashSettlement'
(which is now merged into a unique 'CashSettlementTerms' data type.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: SettlementDate
domain_of:
- SettlementDate
range: BusinessDateRange
cashSettlementBusinessDays:
name: cashSettlementBusinessDays
description: 'The number of business days used in the determination of the cash
settlement payment date. If a cash settlement amount is specified, the cash
settlement payment date will be this number of business days following the calculation
of the final price. If a cash settlement amount is not specified, the cash settlement
payment date will be this number of business days after all conditions to settlement
are satisfied. ISDA 2003 Term: Cash Settlement Date. This attribute was formerly
part of ''CashSettlementTerms'' as used for credit event settlement, which now
includes a common ''SettlementDate'' attribute.'
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: SettlementDate
domain_of:
- SettlementDate
range: integer
paymentDelay:
name: paymentDelay
description: Applicable to CDS on MBS to specify whether payment delays are applicable
to the fixed Amount. RMBS typically have a payment delay of 5 days between the
coupon date of the reference obligation and the payment date of the synthetic
swap. CMBS do not, on the other hand, with both payment dates being on the 25th
of each month.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: SettlementDate
domain_of:
- InterestRatePayout
- SettlementDate
range: boolean
rules:
- preconditions:
slot_conditions:
cashSettlementBusinessDays:
name: cashSettlementBusinessDays
required: true
postconditions:
slot_conditions:
cashSettlementBusinessDays:
name: cashSettlementBusinessDays
minimum_value: 0
description: FpML specifies cashSettlementBusinessDays as a nonNegativeInteger.
If cashSettlementBusinessDays is not specified, then another settlement date method
must be specified.
- postconditions:
any_of:
- slot_conditions:
adjustableOrRelativeDate:
name: adjustableOrRelativeDate
required: true
- slot_conditions:
valueDate:
name: valueDate
required: true
- slot_conditions:
adjustableDates:
name: adjustableDates
required: true
- slot_conditions:
businessDateRange:
name: businessDateRange
required: true
description: Settlement date must be specified either throught the 'settlementDate'
or 'valueDate' attribute. This is a temporary work-around until such time when
we can retire the 'valueDate' attribute.