Class: TermsChangeInstruction
Specifies instructions for terms change consisting of the new transaction terms, and the renegotiation fee.
URI: common_domain_model:TermsChangeInstruction
classDiagram
class TermsChangeInstruction
click TermsChangeInstruction href "../TermsChangeInstruction/"
TermsChangeInstruction : adjustment
TermsChangeInstruction --> "0..1" NotionalAdjustmentEnum : adjustment
click NotionalAdjustmentEnum href "../NotionalAdjustmentEnum/"
TermsChangeInstruction : ancillaryParty
TermsChangeInstruction --> "*" AncillaryParty : ancillaryParty
click AncillaryParty href "../AncillaryParty/"
TermsChangeInstruction : product
TermsChangeInstruction --> "0..1" NonTransferableProduct : product
click NonTransferableProduct href "../NonTransferableProduct/"
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| product | 0..1 NonTransferableProduct |
product to be changed | direct |
| ancillaryParty | * AncillaryParty |
ancillary party to be changed | direct |
| adjustment | 0..1 NotionalAdjustmentEnum |
direct |
Usages
| used by | used in | type | used |
|---|---|---|---|
| PrimitiveInstruction | termsChange | range | TermsChangeInstruction |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
In Subsets
Comments
- Rosetta condition: AtLeastOneOf — (product exists or ancillaryParty exists or adjustment exists)
- Rosetta func: Create_TermsChange — A specification of the inputs, outputs and constraints when calculating the after tradeState based Terms Change Primitive Instruction.
- Rosetta func: Create_EffectiveOrTerminationDateTermChangeInstruction — Creates the relevant terms change primitive instruction object for rolling a contractual product, which consists in the same terms as the original contractual product but with different effective and termination dates.
- Rosetta func: Create_RollTermChangeInstruction — Creates the relevant terms change primitive instruction object for rolling a contractual product, which consists in the same terms as the original contractual product but with different effective and termination dates.
- Rosetta func: Create_OnDemandRateChangeTermsChangeInstruction — Creates a terms change instruction for an on-demand rate change, based on a new rate provided as a single number. This instruction only updates the effective date but keeps other details of the trade unchanged.
- Rosetta func: Create_CancellationTermChangeInstruction — Create a terms change instruction for a cancellation that consists in bringing the termination date forward.
- Rosetta func: Create_SubstitutionInstruction — Creates the terms change instruction that updates the payout with the new substitution payout.
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| rosetta_functions | [{"name":"Create_TermsChange","description":"A specification of the inputs, outputs and constraints when calculating the after tradeState based Terms Change Primitive Instruction.","inputs":[{"name":"termsChange","type":"TermsChangeInstruction","cardinality":"1..1"},{"name":"before","type":"TradeState","cardinality":"1..1"}],"output":{"name":"tradeState","type":"TradeState","cardinality":"1..1"}},{"name":"Create_EffectiveOrTerminationDateTermChangeInstruction","description":"Creates the relevant terms change primitive instruction object for rolling a contractual product, which consists in the same terms as the original contractual product but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_RollTermChangeInstruction","description":"Creates the relevant terms change primitive instruction object for rolling a contractual product, which consists in the same terms as the original contractual product but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_OnDemandRateChangeTermsChangeInstruction","description":"Creates a terms change instruction for an on-demand rate change, based on a new rate provided as a single number. This instruction only updates the effective date but keeps other details of the trade unchanged.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_CancellationTermChangeInstruction","description":"Create a terms change instruction for a cancellation that consists in bringing the termination date forward.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"cancellationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_SubstitutionInstruction","description":"Creates the terms change instruction that updates the payout with the new substitution payout.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"newCollateralPortfolio","type":"CollateralPortfolio","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}}] |
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:TermsChangeInstruction |
| native | common_domain_model:TermsChangeInstruction |
LinkML Source
Direct
name: TermsChangeInstruction
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"Create_TermsChange","description":"A specification of the inputs,
outputs and constraints when calculating the after tradeState based Terms Change
Primitive Instruction.","inputs":[{"name":"termsChange","type":"TermsChangeInstruction","cardinality":"1..1"},{"name":"before","type":"TradeState","cardinality":"1..1"}],"output":{"name":"tradeState","type":"TradeState","cardinality":"1..1"}},{"name":"Create_EffectiveOrTerminationDateTermChangeInstruction","description":"Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product
but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_RollTermChangeInstruction","description":"Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product
but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_OnDemandRateChangeTermsChangeInstruction","description":"Creates
a terms change instruction for an on-demand rate change, based on a new rate
provided as a single number. This instruction only updates the effective date
but keeps other details of the trade unchanged.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_CancellationTermChangeInstruction","description":"Create
a terms change instruction for a cancellation that consists in bringing the
termination date forward.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"cancellationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_SubstitutionInstruction","description":"Creates
the terms change instruction that updates the payout with the new substitution
payout.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"newCollateralPortfolio","type":"CollateralPortfolio","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}}]'
description: Specifies instructions for terms change consisting of the new transaction
terms, and the renegotiation fee.
comments:
- 'Rosetta condition: AtLeastOneOf — (product exists or ancillaryParty exists or adjustment
exists)'
- 'Rosetta func: Create_TermsChange — A specification of the inputs, outputs and constraints
when calculating the after tradeState based Terms Change Primitive Instruction.'
- 'Rosetta func: Create_EffectiveOrTerminationDateTermChangeInstruction — Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product but
with different effective and termination dates.'
- 'Rosetta func: Create_RollTermChangeInstruction — Creates the relevant terms change
primitive instruction object for rolling a contractual product, which consists in
the same terms as the original contractual product but with different effective
and termination dates.'
- 'Rosetta func: Create_OnDemandRateChangeTermsChangeInstruction — Creates a terms
change instruction for an on-demand rate change, based on a new rate provided as
a single number. This instruction only updates the effective date but keeps other
details of the trade unchanged.'
- 'Rosetta func: Create_CancellationTermChangeInstruction — Create a terms change
instruction for a cancellation that consists in bringing the termination date forward.'
- 'Rosetta func: Create_SubstitutionInstruction — Creates the terms change instruction
that updates the payout with the new substitution payout.'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- product
- ancillaryParty
- adjustment
slot_usage:
product:
name: product
description: product to be changed
required: false
ancillaryParty:
name: ancillaryParty
description: ancillary party to be changed
range: AncillaryParty
multivalued: true
rules:
- postconditions:
any_of:
- slot_conditions:
product:
name: product
required: true
- slot_conditions:
ancillaryParty:
name: ancillaryParty
required: true
- slot_conditions:
adjustment:
name: adjustment
required: true
description: AtLeastOneOf
Induced
name: TermsChangeInstruction
annotations:
rosetta_functions:
tag: rosetta_functions
value: '[{"name":"Create_TermsChange","description":"A specification of the inputs,
outputs and constraints when calculating the after tradeState based Terms Change
Primitive Instruction.","inputs":[{"name":"termsChange","type":"TermsChangeInstruction","cardinality":"1..1"},{"name":"before","type":"TradeState","cardinality":"1..1"}],"output":{"name":"tradeState","type":"TradeState","cardinality":"1..1"}},{"name":"Create_EffectiveOrTerminationDateTermChangeInstruction","description":"Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product
but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"0..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_RollTermChangeInstruction","description":"Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product
but with different effective and termination dates.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveRollDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"terminationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_OnDemandRateChangeTermsChangeInstruction","description":"Creates
a terms change instruction for an on-demand rate change, based on a new rate
provided as a single number. This instruction only updates the effective date
but keeps other details of the trade unchanged.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_CancellationTermChangeInstruction","description":"Create
a terms change instruction for a cancellation that consists in bringing the
termination date forward.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"cancellationDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}},{"name":"Create_SubstitutionInstruction","description":"Creates
the terms change instruction that updates the payout with the new substitution
payout.","inputs":[{"name":"product","type":"NonTransferableProduct","cardinality":"1..1"},{"name":"effectiveDate","type":"AdjustableOrRelativeDate","cardinality":"1..1"},{"name":"newCollateralPortfolio","type":"CollateralPortfolio","cardinality":"1..1"}],"output":{"name":"termsChangeInstruction","type":"TermsChangeInstruction","cardinality":"1..1"}}]'
description: Specifies instructions for terms change consisting of the new transaction
terms, and the renegotiation fee.
comments:
- 'Rosetta condition: AtLeastOneOf — (product exists or ancillaryParty exists or adjustment
exists)'
- 'Rosetta func: Create_TermsChange — A specification of the inputs, outputs and constraints
when calculating the after tradeState based Terms Change Primitive Instruction.'
- 'Rosetta func: Create_EffectiveOrTerminationDateTermChangeInstruction — Creates
the relevant terms change primitive instruction object for rolling a contractual
product, which consists in the same terms as the original contractual product but
with different effective and termination dates.'
- 'Rosetta func: Create_RollTermChangeInstruction — Creates the relevant terms change
primitive instruction object for rolling a contractual product, which consists in
the same terms as the original contractual product but with different effective
and termination dates.'
- 'Rosetta func: Create_OnDemandRateChangeTermsChangeInstruction — Creates a terms
change instruction for an on-demand rate change, based on a new rate provided as
a single number. This instruction only updates the effective date but keeps other
details of the trade unchanged.'
- 'Rosetta func: Create_CancellationTermChangeInstruction — Create a terms change
instruction for a cancellation that consists in bringing the termination date forward.'
- 'Rosetta func: Create_SubstitutionInstruction — Creates the terms change instruction
that updates the payout with the new substitution payout.'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
product:
name: product
description: product to be changed
required: false
ancillaryParty:
name: ancillaryParty
description: ancillary party to be changed
range: AncillaryParty
multivalued: true
attributes:
product:
name: product
description: product to be changed
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: TermsChangeInstruction
domain_of:
- ExecutionInstruction
- TermsChangeInstruction
- PositionBase
- AggregationParameters
- ExcludedProducts
- TradableProduct
range: NonTransferableProduct
required: false
ancillaryParty:
name: ancillaryParty
description: ancillary party to be changed
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:AncillaryEntity.ancillaryParty
rank: 1000
owner: TermsChangeInstruction
domain_of:
- AncillaryEntity
- ExecutionInstruction
- TermsChangeInstruction
- PartyChangeInstruction
- TradableProduct
range: AncillaryParty
multivalued: true
adjustment:
name: adjustment
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: TermsChangeInstruction
domain_of:
- TermsChangeInstruction
- TradableProduct
range: NotionalAdjustmentEnum
rules:
- postconditions:
any_of:
- slot_conditions:
product:
name: product
required: true
- slot_conditions:
ancillaryParty:
name: ancillaryParty
required: true
- slot_conditions:
adjustment:
name: adjustment
required: true
description: AtLeastOneOf