Skip to content

Class: AdjustableOrRelativeDate

A class giving the choice between defining a date as an explicit date together with applicable adjustments or as relative to some other (anchor) date.

URI: common_domain_model:AdjustableOrRelativeDate

 classDiagram
    class AdjustableOrRelativeDate
    click AdjustableOrRelativeDate href "../AdjustableOrRelativeDate/"
      AdjustableOrRelativeDate : adjustableDate





        AdjustableOrRelativeDate --> "0..1" AdjustableDate : adjustableDate
        click AdjustableDate href "../AdjustableDate/"



      AdjustableOrRelativeDate : relativeDate





        AdjustableOrRelativeDate --> "0..1" AdjustedRelativeDateOffset : relativeDate
        click AdjustedRelativeDateOffset href "../AdjustedRelativeDateOffset/"



Slots

Name Cardinality and Range Description Inheritance
adjustableDate 0..1
AdjustableDate
A date that shall be subject to adjustment if it would otherwise fall on a da... direct
relativeDate 0..1
AdjustedRelativeDateOffset
A date specified as some offset to another date (the anchor date) direct

Usages

used by used in type used
PeriodicDates startDate range AdjustableOrRelativeDate
PeriodicDates endDate range AdjustableOrRelativeDate
PriceQuantity effectiveDate range AdjustableOrRelativeDate
PerformanceValuationDates valuationDate range AdjustableOrRelativeDate
FeaturePayment paymentDate range AdjustableOrRelativeDate
DividendPaymentDate dividendDate range AdjustableOrRelativeDate
DividendPeriod dividendValuationDate range AdjustableOrRelativeDate
CalculationPeriodDates effectiveDate range AdjustableOrRelativeDate
CalculationPeriodDates terminationDate range AdjustableOrRelativeDate
CalculationPeriodDates firstPeriodStartDate range AdjustableOrRelativeDate
PaymentDateSchedule finalPaymentDate range AdjustableOrRelativeDate
FxFixingDate fxFixingDate range AdjustableOrRelativeDate
PaymentDetail paymentDate range AdjustableOrRelativeDate
EconomicTerms effectiveDate range AdjustableOrRelativeDate
EconomicTerms terminationDate range AdjustableOrRelativeDate
CancelableProvision earliestDate range AdjustableOrRelativeDate
CancelableProvision expirationDate range AdjustableOrRelativeDate
CalendarSpread expirationDateTwo range AdjustableOrRelativeDate
ExerciseTerms commencementDate range AdjustableOrRelativeDate
ExerciseTerms expirationDate range AdjustableOrRelativeDate
AssetLeg settlementDate range AdjustableOrRelativeDate

Rules

Rule Applied Preconditions Postconditions Elseconditions

In Subsets

Comments

  • Rosetta condition: AdjustableOrRelativeDateChoice — required choice adjustableDate, relativeDate
  • Rosetta func: ResolveAdjustableDate
  • Rosetta func: ConvertToAdjustableOrRelativeDate — Utility function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate
  • Rosetta func: ConvertToAdjustableOrAdjustedOrRelativeDate — Utility function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate

Identifier and Mapping Information

Annotations

property value
metadata_key True
rosetta_functions [{"name":"ResolveAdjustableDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"adjustedDate","type":"date","cardinality":"0..1"},"code_implementation":true},{"name":"ConvertToAdjustableOrRelativeDate","description":"Utility function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate","inputs":[{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}},{"name":"ConvertToAdjustableOrAdjustedOrRelativeDate","description":"Utility function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}}]

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:AdjustableOrRelativeDate
native common_domain_model:AdjustableOrRelativeDate
close fpml_5_10:AdjustableOrRelativeDate

LinkML Source

Direct

name: AdjustableOrRelativeDate
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"ResolveAdjustableDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"adjustedDate","type":"date","cardinality":"0..1"},"code_implementation":true},{"name":"ConvertToAdjustableOrRelativeDate","description":"Utility
      function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate","inputs":[{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}},{"name":"ConvertToAdjustableOrAdjustedOrRelativeDate","description":"Utility
      function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}}]'
description: A class giving the choice between defining a date as an explicit date
  together with applicable adjustments or as relative to some other (anchor) date.
comments:
- 'Rosetta condition: AdjustableOrRelativeDateChoice  required choice adjustableDate,
  relativeDate'
- 'Rosetta func: ResolveAdjustableDate'
- 'Rosetta func: ConvertToAdjustableOrRelativeDate  Utility function to convert from
  AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate'
- 'Rosetta func: ConvertToAdjustableOrAdjustedOrRelativeDate  Utility function to
  convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate'
in_subset:
- cdm_base_datetime
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:AdjustableOrRelativeDate
slots:
- adjustableDate
- relativeDate
slot_usage:
  relativeDate:
    name: relativeDate
    range: AdjustedRelativeDateOffset
rules:
- postconditions:
    exactly_one_of:
    - slot_conditions:
        adjustableDate:
          name: adjustableDate
          required: true
    - slot_conditions:
        relativeDate:
          name: relativeDate
          required: true
  description: Choice rule to represent an FpML choice construct.

Induced

name: AdjustableOrRelativeDate
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"ResolveAdjustableDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"adjustedDate","type":"date","cardinality":"0..1"},"code_implementation":true},{"name":"ConvertToAdjustableOrRelativeDate","description":"Utility
      function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate","inputs":[{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}},{"name":"ConvertToAdjustableOrAdjustedOrRelativeDate","description":"Utility
      function to convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate","inputs":[{"name":"adjustableOrRelativeDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"adjustableOrAdjustedOrRelativeDate","type":"AdjustableOrAdjustedOrRelativeDate","cardinality":"0..1"}}]'
description: A class giving the choice between defining a date as an explicit date
  together with applicable adjustments or as relative to some other (anchor) date.
comments:
- 'Rosetta condition: AdjustableOrRelativeDateChoice  required choice adjustableDate,
  relativeDate'
- 'Rosetta func: ResolveAdjustableDate'
- 'Rosetta func: ConvertToAdjustableOrRelativeDate  Utility function to convert from
  AdjustableOrAdjustedOrRelativeDate to AdjustableOrRelativeDate'
- 'Rosetta func: ConvertToAdjustableOrAdjustedOrRelativeDate  Utility function to
  convert from AdjustableOrAdjustedOrRelativeDate to AdjustableOrAdjustedOrRelativeDate'
in_subset:
- cdm_base_datetime
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:AdjustableOrRelativeDate
slot_usage:
  relativeDate:
    name: relativeDate
    range: AdjustedRelativeDateOffset
attributes:
  adjustableDate:
    name: adjustableDate
    description: A date that shall be subject to adjustment if it 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.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:AdjustableOrRelativeDate.adjustableDate
    rank: 1000
    owner: AdjustableOrRelativeDate
    domain_of:
    - AdjustableOrRelativeDate
    range: AdjustableDate
  relativeDate:
    name: relativeDate
    description: A date specified as some offset to another date (the anchor date).
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:AdjustableOrAdjustedOrRelativeDate.relativeDate
    rank: 1000
    owner: AdjustableOrRelativeDate
    domain_of:
    - AdjustableOrAdjustedOrRelativeDate
    - AdjustableOrRelativeDate
    - Composite
    range: AdjustedRelativeDateOffset
rules:
- postconditions:
    exactly_one_of:
    - slot_conditions:
        adjustableDate:
          name: adjustableDate
          required: true
    - slot_conditions:
        relativeDate:
          name: relativeDate
          required: true
  description: Choice rule to represent an FpML choice construct.