Skip to content

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

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.