-
Notifications
You must be signed in to change notification settings - Fork 73
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
Add contractDetails to Product #2216
Comments
hereunder reasons to document my position, hope will make sense for you and clarifies : eventually the Product object is mostly used from business point of view as the Observable &/or the Underlier of Payout legs involved in a given Trade, so attaching ContractDetails to Product actually means you would attach Legal Terms to an Observable/Underlier which honestly looks a bit unusual (also would lead to obvious corner cases e.g. imagine a Trade on a Basket = multiple Products you would have multiple ContractDetails=LegalAgreements... whereas obviously you want only 1 set of legal terms for the whole trade... that is why you want it at Trade level... not Product level...) accordingly, i beleive the ContractDetails are attached in the correct place as of today that is at Trade level which present the "agreement" whether on Economics (roughly speaking "EconomicTerms") or on Legal terms as well ("ContractDetails=LegalAgreement") besides, the reasons you provide e.g. "structured products with term sheets, swap agreements based on ISDA agreement" for me are look like the reasons why proper place for ContractDetails is precisely at Trade level, and not at Product/Underlier level :
all that being, said, where i could follow you maybe is when one would like to represent some LegalTerms which are specific i.e. restricted to a given Underlier, notably in case there is a basket... I can imagine, say a mix Basket of Bonds and of Equity Stocks, why not... then you maight one to specify some LegalTerms applicable "only to Bonds" for instance... but in such a case, I would rather suggest to have a referencing attribute at Product level, which would definitly remain optional, thanks to whicbh you could reference some LegalTerms (which per se as an Object would remain an attribute of the Trade as of today) for instance would look like below what do you think ? that might meet the needs at Product level as optional, withtout undermining the good logic we have today that is to stay with original legal info (metadata key) at Trade level kind regards |
Following up on your comments.
|
thanks for clarifying Tom until you do not intend to remove contractDetails from its current place (and you confirmed in your point 1. that you effectively do not intend to do so) then as far as I'm concerned, I would agree with your proposal |
Unfortunately, the term "Product" is over-loaded and can mean different things in different contexts. But as far as the CDM is concerned, the concept is quite restricted on purpose. The idea of a This idea is embodied by the CDM namespace hierarchy: I believe a similar comment was made in a related issue: #2365 |
The legal agreement for exchange traded products governs the relationships between two or more parties (such as a brokerage, executions services or clearing agreement) and is not specific to a particular product but usually to a venue or asset class. |
I think we agree that in many or most cases you cannot execute or trade a product until a legal agreement is in place, so having contractdetails attached only to a trade is insufficient to address the cases where the legal terms and governing law are required before the execution. If in fact we consider a product to be void of an legal agreement then we would need a new type, LegalAgreementProduct. Since adding productContractDetails has a cardinality of (0..1) it serves a dual purpose without impacting the concept that a product may be defined without legal terms or with legal terms. Regarding the comment of 3) above, in a very generic sense you can define a product's economic terms without a legal agreement but the product would never be offered on an exchange until the legal agreement and governing law are defined and agreed to by any party that would even want to bid on the product. |
@lolabeis - following up on the CRWG meeting, please provide your thoughts and suggestions on how to add a product with contract details. |
modest contribution to the discussion :
hope this helps |
This issue was discussed off-line between maintainers, so I'm posting the takeaway from that conversation here for audit trail transparency. The approach being considered would not encumber the current Product representation with contract details. Instead, the proposed approach would introduce two layers of Products:
A model proposal is being worked on how this could be implemented. In addition, qualification logic will need to be enhanced so that it can work at those different layers. This is tackled by a separate issue: #2365 |
Changes to asset/product model in review. |
The current model can only support contract details at the Trade level after execution and during the contract formation phase. For most financial products a legal agreement and governing law are set on the product during the creation of the product before execution. Consider bond issuance, structured products with term sheets, swap agreements based on ISDA agreements, repo transaction executed with a GMRA vs a private agreement. I propose adding a new attribute to ProductBase -> productContract ContractDetails (0..*). I'm open to this being a required field as well.
The text was updated successfully, but these errors were encountered: