-
Notifications
You must be signed in to change notification settings - Fork 105
Adrian Jenks Legaldocumentation - Enhance the Umbrella functionality within the Legaldocumentation section of the CDM. #4190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
1fe81f1
30185ef
f8817d1
93a46d0
e7eca6c
50e8042
f08b4c8
c78b8cb
d76cf73
ae2cc09
fafdf62
5d4545d
acf5025
c33d9a5
4a51fa4
4a72819
f4717e5
32132e9
fa0ca25
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -280,3 +280,19 @@ enum TerminationCurrencyConditionEnum: | |
| FreelyAvailable <"A currency that is freely available."> | ||
| PaymentsDueAndFreelyAvailable <"A currency in which payments would be due under one or more Transactions and that is freely available."> | ||
| Specified <"Termination Currency Conditions are specified."> | ||
|
|
||
| enum UmbrellaPartyRoleEnum: | ||
| Agent <"Represents a Legal Entity who has authority to negotiate, execute and deliver confirmations on behalf of each affiliate that is linked to the Agent."> | ||
| InvestmentManager <"Represents a Legal Entity who has been authorised to act as a centralised authority empowered to negotiate, execute and manage transactions on behalf of multiple affiliated funds or accounts."> | ||
| Principal <"Represents a Legal Entity that enters into and assumes direct responsibility for transactions."> | ||
| SubAccount <"Represents an individual trading entity, fund, portfolio or managed account associated to a principal, Investment Manager or Agent Legal Entity."> | ||
| Sleeve <"Represents a distinct trading strategy, portfolio, or sub account managed within a broader legal entity or fund. It is not a legal party to the agreement."> | ||
| enum AmendmentPurposeEnum: | ||
|
||
| AmendTerms <"Amendment of Legal Agreement Terms"> | ||
| AmendEntities <"Add, Remove or Amend Legal Entities to the agreement"> | ||
| AmendandRestate <"Amend terms and restate the legal agreement elections"> | ||
| Novation <"Novate trades from existing agreement to alternative agreement"> | ||
| Superseding <"Terminate existing agreement and define new agreement as superseding original agreement"> | ||
| Termination <"Termination of existing agreement"> | ||
|
||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -63,14 +63,20 @@ type AgreementTerms: <"Specification of the content of a legal agreement."> | |
| clauseLibrary boolean (0..1) <"Specification of whether the agreement terms have been negotiated using the clause library methodology."> | ||
| counterparty Counterparty (2..2) <"Specification of the roles of the counterparties to the agreement."> | ||
|
|
||
| type AmendmentTerms: <"Represents the purpose and terms associated with an Amendment document"> | ||
| purpose AmendmentPurposeEnum (1..*) <"Purpose of the amendment"> | ||
| impactedAgreements LegalAgreementBase (0..*) <"Test"> | ||
| agreementTerms AgreementTerms (0..*) <"Test"> | ||
|
||
|
|
||
| type LegalAgreement extends LegalAgreementBase: <"The specification of a legal agreement between two parties, being negotiated or having been executed. This includes the baseline information and the optional specialised elections"> | ||
| [metadata key] | ||
| [rootType] | ||
|
|
||
| agreementTerms AgreementTerms (0..1) <"Specification of the content of the legal agreement."> | ||
| relatedAgreements LegalAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date."> | ||
| amendment AmendmentTerms (0..*) <"Represents the legal purpose of an amendment document and the Legal agreements which are impacted by the amendment"> | ||
| umbrellaAgreement UmbrellaAgreement (0..1) <"The determination of whether Umbrella Agreement terms are applicable (True) or Not Applicable (False)."> | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. super minor, unnecessary indent
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Amended
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the relationship between
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. agreementTerms is used to capture the terms of a one way or Bilateral CSA. The umbrellaAgreement is used as the entry point to define that the structure of this agreement being captured is an Umbrella.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When capturing an agreement you should either capture agreementTerms or umbrallaAgreement not both.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we should only have
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Condition added as recommended and contribution submitted |
||
| condition ConsistentlyExecutedAgreements: <"An executed agreement can only point to executed related agreements if any."> | ||
| if relatedAgreements exists and agreementDate exists | ||
| then relatedAgreements -> agreementDate exists | ||
|
|
@@ -153,18 +159,27 @@ type AgreementName: <"Specifies the agreement name through an agreement type and | |
| if creditSupportAgreementMarginType exists | ||
| then creditSupportAgreementType exists | ||
|
|
||
| type UmbrellaAgreement: <"A class to specify a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement. This data representation reflects the ISDA Create representation."> | ||
| type UmbrellaAgreement: <"Specifies a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement."> | ||
|
|
||
| isApplicable boolean (1..1) <"The determination of whether Umbrella Agreement terms are Applicable (True), or Not Applicable (False)"> | ||
| language string (0..1) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> | ||
| parties UmbrellaAgreementEntity (0..*) <"Underlying principals to the umbrella agreement."> | ||
| agreementSet UmbrellaAgreementSet (1..*) <"The language associated with the umbrella agreement, and which applies to all the parties to the umbrella agreement."> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Following on from the comment above, I believe this type should be If you have multiple agreements they can all be added in
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed to update the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated as recommended |
||
| parties UmbrellaAgreementEntity (2..*) <"Specifies the underlying entities to the agreement that either act as legal parties to the agreement or represent Legal constructs that are managed by a party to the agreement but do not represent a Legal Entity as of themselves."> | ||
|
||
| language string (0..1) <"Represents any additional language that may need to be captured regarding the structure or application of terms that may exist for the agreement."> | ||
|
|
||
| condition UmbrellaAgreementExists: <"Umbrella Agreement language and parties should not exist when Umbrella Agreement terms are Not Applicable."> | ||
| if isApplicable = True then language exists and parties exists | ||
| type UmbrellaAgreementEntity extends Counterparty: <"A class to specify the legal entities that are part of the umbrella agreement."> | ||
|
||
| umbrellaPartyrole UmbrellaPartyRoleEnum (0..1) <"Represents the legal role that each defined entity to the agreement performs within the structure of that agreement."> | ||
|
||
| parentParty Parentparty (0..1) <"Represents the identification of a parent child relationship between two entities in the Umbrella agreement, allowing non-legal entities to be linked to the appropriate legal entity and allowing funds, portfolio or managed accounts to be linked to their applicable Investment Manager or Agent within the agreement."> | ||
|
||
|
|
||
| type UmbrellaAgreementEntity extends LegalEntity: <"A class to specify the legal entities that are part of the umbrella agreement."> | ||
| condition Parentparty: <"Identifies where a parent child relationship exists between two parties to the Umbrella agreement, allowing none legal entities to be linked to the appropriate legal entity and allowing funds, protfolio or managed accounts to be linked to their applicable Investment Manager or Agent within the agreement."> | ||
|
||
| if umbrellaPartyrole = UmbrellaPartyRoleEnum -> Sleeve then parentParty exists | ||
|
||
| or | ||
| if umbrellaPartyrole = UmbrellaPartyRoleEnum -> Agent then parentParty is absent | ||
|
|
||
| terms string (0..1) <"The terms that might be associated with each party to the umbrella agreement."> | ||
| type Parentparty: <"A class to specify the hierarchical structure of the entity relationships within the Umbrella agreement."> | ||
| parentIdentifier string (0..1) <"Represents the Entity Identifier of the parent entity on this agreement for the party defined."> | ||
|
||
|
|
||
| type UmbrellaAgreementSet: <"Represents the groups of agreement term elections that exist within the agreement and to which entities that particular group of elections apply. Where all entities under the umbrella have the same set of elections only one agreement set will exist. At least one agreement set must be defined for an Umbrella agreement"> | ||
|
||
| agreement Agreement (1..1) <"Specification of the standard set of terms that define a legal agreement."> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When specifying the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added as requested |
||
| partyId PartyIdentifier (1..*) <"The identifier associated with a party, e.g. the 20 digits LEI code."> | ||
|
|
||
| type AddressForNotices: <"Specification of the address and other details for notices."> | ||
| primaryNotices ContactElection (1..1) <"Specification of primary notice details"> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @AdrianJenksD2LT are the descriptions of the values here all correct in regard to the LegalEntity / Party distinction?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added a clarification to the description
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you do the same for all the other enum values if required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All Enum descriptions updated and contributed