Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 63 additions & 70 deletions rosetta-source/src/main/rosetta/legaldocumentation-csa-type.rosetta
Original file line number Diff line number Diff line change
Expand Up @@ -670,13 +670,6 @@ type JurisdictionRelatedTerms: <"A class to specify terms jurisdiction related t
type MarginApproach: <"A class for selection of Margin Approach.">
marginApproach MarginApproachEnum (1..1) <"Specifies the margin approach specific to Initial Margin agreements.">

type MinimumTransferAmount: <"A class to specify amount of exposure reached before collateral has to be posted or returned.">
[docReference ISDA CSD_IM_English_2016 paragraph "13 General Principles" clause "(c)(vi)(B)" name "Minimum Transfer Amount"]
[docReference ISDA CSA_IM_Japanese_2016 paragraph "13 General Principles" clause "(d)(vi)(B)" name "Minimum Transfer Amount"]
[docReference ISDA CSA_IM_NewYork_2016 paragraph "13 General Principles" clause "(c)(vi)(B)" name "Minimum Transfer Amount"]

partyElection ElectiveAmountElection (2..2) <"The parties' minimum transfer amount elections.">

type MinimumTransferAmountAmendment: <" A class to specify whether Amendment to Minimum Transfer Amount language is applicable or not.">
isApplicable boolean (1..1) <"The definition of Minimum Transfer Amount in any Other Regulatory CSA will be amended when applicable.">
effectiveDate AmendmentEffectiveDate (0..1) <"The effective date of the Amendment to Termination Currency.">
Expand Down Expand Up @@ -957,13 +950,6 @@ type TerminationCurrencyElection: <"A class to specify the Amendment to Terminat
condition CurrencyElection: <"A Termination Currency election should only exist when required by the affected parties election.">
if isSpecified = False then currency is absent

type Threshold: <"A class to specify the unsecured credit exposure that each party to the agreement is prepared to accept before asking for collateral.">
[docReference ISDA CSD_IM_English_2016 paragraph "13 General Principles" clause "(c)(vi)(A)" name "Threshold"]
[docReference ISDA CSA_IM_Japanese_2016 paragraph "13 General Principles" clause "(d)(vi)(A)" name "Threshold"]
[docReference ISDA CSA_IM_NewYork_2016 paragraph "13 General Principles" clause "(c)(vi)(A)" name "Threshold"]

partyElection ElectiveAmountElection (2..2) <"The parties' Threshold election.">

type AdditionalObligations: <"The election of party specific additional obligations applicable to the agreement.">
party CounterpartyRoleEnum (1..1) <"The party that the additional obligations apply to.">
additionalObligations string (1..1) <"The party specific additional obligations applicable to the agreement.">
Expand Down Expand Up @@ -996,27 +982,19 @@ type CreditSupportObligations: <"A class to specify the Credit Support Obligatio
otherEligibleSupportIM string (0..1) <"The Other Eligible Support election. If not specified, this election is deemed as not applicable.">
[docReference ISDA CSA_IM_NewYork_2016]
[docReference ISDA CSA_IM_NewYork_2018]
threshold Threshold (1..1) <"The amount of net exposure that a party is willing to bear in relation to the other party before it requires asking for collateral.">
[docReference ISDA CSD_IM_English_2016 paragraph "13 General Principles" clause "(c )(vi)(A)" name "Threshold"]
[docReference ISDA CSA_IM_Japanese_2016 paragraph "13 General Principles" clause "(d)(vi)(A)" name "Threshold"]
[docReference ISDA CSA_IM_NewYork_2016 paragraph "13 General Principles" clause "(c )(vi)(A)" name "Threshold"]
minimumTransferAmount MinimumTransferAmount (1..1) <"The net amount of exposure reached before collateral has to be posted or returned.">
[docReference ISDA CSD_IM_English_2016 paragraph "13 General Principles" clause "(c )(vi)(B)" name "Minimum Transfer Amount"]
[docReference ISDA CSA_IM_Japanese_2016 paragraph "13 General Principles" clause "(d)(vi)(B)" name "Minimum Transfer Amount"]
[docReference ISDA CSA_IM_NewYork_2016 paragraph "13 General Principles" clause "(c )(vi)(B)" name "Minimum Transfer Amount"]
rounding CollateralRounding (0..1) <"The rounding methodology applicable to the Delivery Amount and the Return Amount in terms of nearest integral multiple of Base Currency units.">
[docReference ISDA CSD_IM_English_2016 paragraph "13 General Principles" clause "(c)(vi)( C )" name "Rounding"]
[docReference ISDA CSA_IM_Japanese_2016 paragraph "13 General Principles" clause "(d)(vi)( C )" name "Rounding"]
[docReference ISDA CSA_IM_NewYork_2016 paragraph "13 General Principles" clause "(c)(vi)( C )" name "Rounding"]
bespokeTransferTiming BespokeTransferTiming (0..1) <"The time by which the transfer of collateral must take place when different from the Regular Settlement Day as a result of parties' election.">
creditSupportObligationsVariationMargin CreditSupportObligationsVariationMargin (0..1) <"The specification of Credit Support Obligations applicable to Variation Margin agreements.">
legacyThreshold CSAThreshold (0..2)
threshold Threshold (0..1) <"Represents the amount of unsecured risk that a party is willing to tolerate without holding any posted collateral provided by the other party.">
[docReference ISDA CSA_NewYork_1994]
[docReference ISDA CSA_English_1995]
[docReference ISDA CSD_English_1995]
[docReference ISDA CSA_VM_English_2016]
[docReference ISDA CSA_VM_NewYork_2016]
legacyMinimumTransferAmount CSAMinimumTransferAmount (0..2)
minimumTransferAmount MinimumTransferAmount (0..1) <"Represents the threshold specified in the agreement below which collateral need not be delivered, and represents the smallest incremental value of exposure that must be reached before the parties are obliged to transfer collateral.">
[docReference ISDA CSA_NewYork_1994]
[docReference ISDA CSA_English_1995]
[docReference ISDA CSD_English_1995]
Expand All @@ -1038,56 +1016,61 @@ type CreditSupportObligations: <"A class to specify the Credit Support Obligatio
[docReference ISDA CSD_English_1995]
[docReference ISDA CSA_VM_English_2016]
[docReference ISDA CSA_VM_NewYork_2016]

type EligibleCreditSupport: <"Specifies the collateral posting obligations of the security provider or security providers as specified in the corresponding agreement">
partyElection EligibleCollateralElection (1..2) <"The specification of the collateral posting obligations for the security provider party(ies)">

type EligibleCollateralElection extends PostingObligationsElection: <"Specifies the collateral posting obligations for the security provider party(ies).">
otherEligibleSupport string (1..1) <"Specifies the Other Eligible Support conditions. If not specified, this election is deemed as not applicable.">
[docReference ISDA CSA_NewYork_1994 paragraph "13" clause "(b)(iii)"]
[docReference ISDA CSD_English_1995 paragraph "13" clause "(c)(iii)"]
[docReference ISDA CSA_VM_NewYork_2016]
[docReference ISDA CSA_IM_NewYork_2018]
[docReference ISDA CSA_IM_NewYork_2016]

type SecurityInterestForObligations: <"Security Interest for Obligations clause applicable to 1994 NY CSA, 1995 English Law CSA, 1995 English Law Credit Support Deed, 2016 English Law VM CSA and 2016 New York Law VM CSA.">
[docReference ISDA CSA_NewYork_1994 name "Security Interest for Obligations"]
[docReference ISDA CSA_English_1995 name "Security Interest for Obligations"]
[docReference ISDA CSD_English_1995 name "Security Interest for Obligations"]
[docReference ISDA CSA_VM_English_2016 name "Security Interest for Obligations"]
[docReference ISDA CSA_VM_NewYork_2016 name "Security Interest for Obligations"]

party CounterpartyRoleEnum (2..2) <"The elective party to which the Security Interest for Obligations is applicable.">
obligations SecurityInterestObligationsEnum (1..1) <"A description of any additional obligations secured by the credit support arrangements.">
obligee SecurityInterestObligeeEnum (1..1) <"The party to whom obligations under the Master Agreement are owed and secured by the credit support arrangements.">
other string (0..1) <"Exception value.">

type SinglePostingParty: <"Where only a single party is explicitly designated to post collateral, the party which is specified as the sole poster of collateral.">
party CounterpartyRoleEnum (0..1) <"The party acting as the Single Posting Party.">
other string (0..1) <"Utilised where the clause data structure is not able to capture a material aspect of the clause.">

type CSAThreshold:
type Threshold: <"Represents the amount of unsecured risk that a party is willing to tolerate without holding any posted collateral provided by the other party.">
[docReference ISDA CSA_NewYork_1994 name "Threshold"]
[docReference ISDA CSA_English_1995 name "Threshold"]
[docReference ISDA CSD_English_1995 name "Threshold"]
[docReference ISDA CSA_VM_English_2016 name "Threshold"]
[docReference ISDA CSA_VM_NewYork_2016 name "Threshold"]
thresholdType ThresholdType (1..1) <"Details whether the threshold is rating based, a fixed amount, or infinity.">

type ThresholdType: <"Details whether the threshold is rating based, a fixed amount, or infinity.">
fixedAmount ThresholdFixedAmount (0..1) <"Defines that the Threshold is a Fixed Amount.">
ratingsBased ThresholdRatingsBased (0..1) <"Defines that the Threshold is based on a Ratings condition(s).">
infinity Infinity (0..1) <"Defines that the Threshold is Infinity.">
other string (0..1) <"Utilised where the clause data structure is not able to capture a material aspect of the clause.">
partyElection ThresholdElection (0..2) <"The party specific election for the threshold clause.">

type ThresholdFixedAmount: <"Defines that the Threshold is based on a Fixed Amount.">
party CounterpartyRoleEnum (1..1) <"The party to which the threshold applies.">
amount int (1..1) <"The amount value applicable to the Threshold.">
currency ISOCurrencyCodeEnum (1..1) <"The Threshold currency code.">
amountIsInfinity boolean (0..1) <"Flag detailing whether the collateral Threshold Amount is set to infinity for a particular party.">
type ThresholdMinmumTransferAmountBase: <"A logical container designed to hold a set of related data. In this case, designed to hold a set of information required to specify conditions under which Threshold or Minimum Transfer Amount can fall to zero.">
zeroEvent boolean (1..1) <"Indicates whether a trigger applies for the Threshold or Minimum Transfer Amount to fall to zero. If 'True' then such a trigger exists.">
event ZeroEventEnum (0..*) <"Specifies the relevant trigger for the Threshold or Minimum Transfer Amount to fall to zero.">

condition ZeroEvent: <"If zero event exists then boolean must be set to 'True' and event must be specified.">
if zeroEvent = True
then event exists

type ThresholdRatingsBased: <"Defines that the Threshold is based on Ratings condition(s).">
type ThresholdElection: <"Specifies whether the threshold is rating based, a fixed amount, or infinity.">
party CounterpartyRoleEnum (1..1) <"The party to which the threshold applies.">
fixedAmount ThresholdMinimumTransferAmountFixedAmount (0..1) <"Defines that the Threshold is a Fixed Amount.">
ratingsBased ThresholdRatingsBased (0..1) <"Defines that the Threshold is based on a Ratings condition(s).">
infinity boolean (0..1) <"Specifies that the Threshold is Infinity. If 'True' then the threshold for the elective party is Infinity.">
other string (0..1) <"Utilised where the clause data structure is not able to capture a material aspect of the clause.">

condition ThresholdOneOf: <"Ensures that threshold is specified as one-of fixedAmount, ratingsBased, infinity, or other.">
required choice fixedAmount, ratingsBased, infinity, other

type ThresholdRatingsBased extends ThresholdMinmumTransferAmountBase: <"Defines that the Threshold is based on Ratings condition(s).">
currency ISOCurrencyCodeEnum (1..1) <"The threshold currency code.">
ratingType RatingTypeEnum (1..1) <"The relevant rating type.">
variableSet CSAThresholdVariableSet (0..*) <"Defines a combination of Rating Agency, Rating Value, Threshold amount and Currency code.">
Expand All @@ -1098,57 +1081,67 @@ type ThresholdRatingsBased: <"Defines that the Threshold is based on Ratings con
noRating boolean (1..1) <"What conditions apply where a party has no rating.">
notRatedBy NotRatedByEnum (0..1) <"Defines where conditions apply if no Rating where ratings may not exist.">
numberOfRatingAgencies NumberOfRatingAgenciesEnum (0..1) <"Defines the number of Rating Agencies that the Party must be rated by.">
zeroEvent boolean (1..1) <"Whether a trigger applies for the threshold to fall to zero.">
event ZeroEventEnum (0..*) <"The relevant trigger for the threshold to fall to zero.">

type Infinity: <"Defines that the Threshold is Infinity.">
party CounterpartyRoleEnum (0..1) <"Elective Party to which the condition applies.">


condition NamedEntity: <"If the rated party is NamedEntity then the entity must be specified.">
if ratedParty = RatedPartyEnum -> NamedEntity
then namedEntity exists

condition NamedAffiliate: <"If rated party is NamedAffilite then the affiliate must be specified.">
if ratedParty = RatedPartyEnum -> NamedAffiliate
then namedAffiliate exists

type CSAThresholdVariableSet: <"Defines a combination of Rating Agency, Rating Value, Threshold amount and Currency code.">
name CreditRatingAgencyEnum (0..1) <"The relevant rating agency.">
value string (0..1) <"Rating applicable to the party from a given rating agency.">
amount int (0..1) <"The amount value applicable to the Threshold.">

condition NameMustExist: <"If we have a name then we must also have a value.">
if name exists then value exists

condition ValueMustExist: <"If we have a value then we must also have a name.">
if value exists then name exists

type CSAMinimumTransferAmount:
type MinimumTransferAmount: <"Represents the threshold specified in the agreement below which collateral need not be delivered, and represents the smallest incremental value of exposure that must be reached before the parties are obliged to transfer collateral.">
[docReference ISDA CSA_NewYork_1994 name "Minimum Transfer Amount"]
[docReference ISDA CSA_English_1995 name "Minimum Transfer Amount"]
[docReference ISDA CSD_English_1995 name "Minimum Transfer Amount"]
[docReference ISDA CSA_VM_English_2016 name "Minimum Transfer Amount"]
[docReference ISDA CSA_VM_NewYork_2016 name "Minimum Transfer Amount"]
mtaType MTAType (1..1) <"Details whether the Minimum Transfer Amount (MTA) is rating based, a fixed amount, or infinity.">
partyElection MinimumTransferAmountElection (0..2) <"The party specific elections for the Minimum Transfer Amount clause.">

type MTAType: <"Details whether the Minimum Transfer Amount is rating based, a fixed amount, or infinity.">
fixedAmount MTAFixedAmount (0..1) <"Defines that the Minimum Transfer Amount (MTA) is a Fixed Amount.">
ratingsBased MTARatingsBased (0..1) <"Defines that the Minimum Transfer Amount (MTA) is based on a Ratings condition(s).">
type MinimumTransferAmountElection: <"Specifies the method by which the minimum transfer amount is defined, such as a fixed amount, ratings based, or an alternative basis set out in the agreement.">
party CounterpartyRoleEnum (1..1) <"The party to which the minimum transfer amount applies.">
fixedAmount ThresholdMinimumTransferAmountFixedAmount (0..1) <"Defines that the Minimum Transfer Amount (MTA) is a Fixed Amount.">
ratingsBased MinimumTransferAmountRatingsBased (0..1) <"Defines that the Minimum Transfer Amount (MTA) is based on a Ratings condition(s).">
other string (0..1) <"Utilised where the clause data structure is not able to capture a material aspect of the clause.">

type MTAFixedAmount: <"Defines that the Minimum Transfer Amount (MTA) is a Fixed Amount.">
party CounterpartyRoleEnum (1..1) <"The party to which the Minimum Transfer Amount (MTA) applies.">
amount int (1..1) <"The amount value applicable to the Minimum Transfer Amount (MTA).">
currency ISOCurrencyCodeEnum (1..1) <"The minimum transfer amount currency code.">

type MTARatingsBased: <"Defines that the Minimum Transfer Amount (MTA) is based on a Ratings condition(s).">
party CounterpartyRoleEnum (1..1) <"The party to which the Minimum Transfer Amount (MTA) applies.">
condition MinimumTransferAmountOneOf: <"Ensures that Minimum Transfer Amount is specified as one-of fixedAmount, ratingsBased, or other.">
required choice fixedAmount, ratingsBased, other

type ThresholdMinimumTransferAmountFixedAmount extends ThresholdMinmumTransferAmountBase: <"Defines the Threshold or the Minimum Transfer Amount (MTA) as a fixed amount.">
amount Money (1..1) <"Specifies the monetary value of the Threshold or the Minimum Transfer Amount (MTA) applicable to collateral transfer obligations.">

type MinimumTransferAmountRatingsBased extends ThresholdMinmumTransferAmountBase: <"Defines that the Minimum Transfer Amount (MTA) is based on a Ratings condition(s).">
currency ISOCurrencyCodeEnum (1..1) <"The minimum transfer amount currency code.">
ratingType RatingTypeEnum (1..1) <"The relevant rating type.">
variableSet CSAMTAVariableSet (0..*) <"Defines a combination of Rating Agency, Rating Value, amount and Currency code.">
variableSet CSAMinimumTransferAmountVariableSet (0..*) <"Defines a combination of Rating Agency, Rating Value, amount and Currency code.">
ratedParty RatedPartyEnum (0..1) <"The party to which a rating applies.">
namedEntity string (0..1) <"Details the Named Entity where the Rated Party is Named Entity.">
namedAffiliate string (0..1) <"Details the Named Affiliate where the Rated Party is Named Affiliate.">
compare CreditNotationMismatchResolutionEnum (0..1) <"Where two ratings are specified whether the higher or lower rating prevails.">
noRating boolean (1..1) <"What conditions apply where a party has no rating.">
notRatedBy NotRatedByEnum (0..1) <"Defines where conditions apply if no Rating where ratings may not exist.">
numberOfRatingAgencies NumberOfRatingAgenciesEnum (0..1) <"Defines the number of Rating Agencies that the Party must be rated by.">
zeroEvent boolean (1..1) <"Whether a trigger applies for the threshold to fall to zero.">
event ZeroEventEnum (0..*) <"The relevant trigger for the to fall to zero.">

condition NamedEntity: <"If the rated party is NamedEntity then the entity must be specified.">
if ratedParty = RatedPartyEnum -> NamedEntity
then namedEntity exists

condition NamedAffiliate: <"If rated party is NamedAffilite then the affiliate must be specified.">
if ratedParty = RatedPartyEnum -> NamedAffiliate
then namedAffiliate exists

type CSAMTAVariableSet: <"Defines a combination of Rating Agency, Rating Value, amount and Currency code.">
type CSAMinimumTransferAmountVariableSet: <"Defines a combination of Rating Agency, Rating Value, amount and Currency code.">
name CreditRatingAgencyEnum (0..1) <"The name of the Rating Agency.">
value string (0..1) <"The value assigned to the rating.">
amount int (0..1) <"The Minimum Transfer Amount (MTA) applicable to the Rating.">
Expand Down
Loading