finos / common-domain-model

The CDM is a model for financial products, trades in those products, and the lifecycle events of those trades. It is an open source standard that aligns data, systems and processes and is available as code in multiple languages for easy implementation across technologies.
Other
123 stars 53 forks source link

CDM Asset Refactor Task Force - June 27th, 2024 #2959

Closed eteridvalishvili closed 2 months ago

eteridvalishvili commented 3 months ago

CDM Asset Refactor Task Force Minutes

Meeting Host: Lionel Smith Gordon, Regnosys

Date

June 27th, 2024 - 11 am ET / 4 pm BST

Untracked attendees

Meeting notices

Agenda

Materials

ARTForce 27Jun24 (1).pptx

Minutes

  1. Minutes: a. Minutes of 20 June approved.

  2. Product Qualification: a. Re-capped the challenge with Product Qualification for Repo and Sec Lending. b. Consensus agreement on the proposal that shows that Repo and Sec Lending can be differentiated with the model (pg 3): i. Security Lending specifies what is being lent in an Asset Payout in Economic Terms ii. Repo specifies the product using an Interest Rate Payout in Economic Terms iii. Both types also have Collateral populated iv. This model cannot differentiate between Repo and Buy Back and an Enum is proposed to resolve this. c. The design of this Enum and where it is placed in the model has not been agreed; options include: i. As an attribute on Economic Terms ii. As an attribute on Product/ProductBase with refactoring of Product Qualification to use Product as the input. This could also include the addition of LegalAgreement to the process. iii. This will be addressed next (ie in Phase 3 PR).

  3. Second Phase PR: a. PR has been submitted including the first two phases of changes (details in deck). b. Participants asked to review and provide feedback. c. Member said they are uncomfortable with some of the contents and timeline for review; how do they escalate? Suggest that they speak with ISDA to raise concerns. d. Request that TradableProduct be removed and all of its attributes moved up to Trade. e. Agreed approach for formal review: i. Changes have been documented and circulated appropriately. ii. Present PRs at CRWG. iii. Seek Maintainer approval. f. Discussion on implementation approach; refer to page 8 on samples and testing.

  4. Carried forward items a. FX i. Discussion on the use of ForwardPayout for FX, is this changing? ii. How should FX Forwards be modelled. iii. Discussion on the concept of ‘product’ for FX trading; follow-up on ForwardPayout. b. Need to confirm a solution for issue 2581, ie whether it is included in the Task Force scope; Tom/Lionel to address off-line. c. Seeking clarity on the promotion of the Choice and Deep Path functionality in Rune DSL into CDM Dev so that it can be used with the refactoring; Discussion scheduled on 28 June.

  5. AOB a. Restart drop-in sessions. b. Participants may schedule additional sessions where required.

Zoom info

Join Zoom Meeting https://zoom.us/j/91947398280?pwd=YS85Mmo4ejhvV2VKMlpaU1FmeDYydz09

Meeting ID: 919 4739 8280 Passcode: 867245

JBZ-Fragmos commented 2 months ago

@Oblongs

please could we discuss the proposed change below (whether agree to consider it in-scope or not...)

for me would really make lot of sense (for sure per se, but notably in regards of the direction we've been moving to with having a "minimum" payout, etc.)

in one word proposed change consists in

image

image

rationale : cf. below potential overlaps/inconsistencies i'm referring to in current model : image

Oblongs commented 2 months ago

Lionel Smith-Gordon for REGnosys

d-sen-gupta commented 2 months ago

Dhruva / JPMC

chrisisla commented 2 months ago

Chris Rayner / ISLA

tomhealey-icma commented 2 months ago

Tom Healey/ICMA

JBZ-Fragmos commented 2 months ago

jb ziade / FRAGMOS

dschwartznyc commented 2 months ago

Dan Schwartz / FT Advisory

dschwartznyc commented 2 months ago

Please consider moving TradeLot up a level in the model as its inclusion in TradableProduct isn't very intuitive. From experience, at minimum a "trade" in non-OTC products is determined by the composition of a product, an amount, a settlement date and a price. By including TradeLot (which contains PriceQuantity) in TradableProduct the current approach is in contrast to that standard approach and implies that multiple trades in the same product will lead to multiple instances of what is essentially the same product. image001

JBZ-Fragmos commented 2 months ago

@dschwartznyc not sure to follow your proposal or concern

kindly elaborate - thanks in advance for your answers :

Last feedback i would like to provide here is that at least from my experience in CDM implementation (FRAGMOS-CHAIN), I have not experienced so far any issue or inconsistency that would be caused by the fact TradeLot being an attribute of TradableProduct - hence why kindly asking more details to better understant why you are seeing potential issues (if theoretical concern about it) or actual issues (as part of an implementation ? but then which ones exactly ?)

Thanks JB

dschwartznyc commented 2 months ago
  1. @JBZ-Fragmos as discussed in Thursday's session, for non-OTC derivatives products the recommendation is that tradeLot should be placed alongside TradableProduct not contained in TradableProduct.
  2. WRT products likes securities, a trade is generally determined by a product selection (ie UST 10yr note), the amount traded, the price and the settlement.
  3. It seems to me that the implication of TradableProduct continuing to contain the quantity and price of the trade is that there will be two instances of the essentially the same product for each trade whereas there should just be two trades in the same product.

Lastly - I appreciate that from the modeling of OTC derivatives this would not be an issue. From my perspective, the issues arise when one considers the changes envisioned to better support modeling of other types of products.

Oblongs commented 2 months ago
  1. implication of TradableProduct continuing to contain the quantity and price of the trade is that there will be two instances of the essentially the same product for each trade whereas there should just be two trades in the same product.

I don't think this is the case. For a negotiated Product (ie OTC), there will be a large Economic Terms structure which is unlikely to ever be duplicated as each one is bespoke. For a transferable product (eg Security), the only information that is duplicated are the product references, eg an ISIN.

The following documentation may help: https://cdm.finos.org/docs/product-model#tradable-product

dschwartznyc commented 2 months ago

definitely confused - looked through the documentation. Since TradableProduct contains contains tradeLot, what happends if there are two trades in the same underlying product (as described by Product)? won't that result in two instances of what is essentially the same TradableProduct? Wasn't this issue the motivation for moving tradeLot up a level?

Oblongs commented 2 months ago

TradableProduct

Proposal presented at meeting on 3 and 4 July to resolve and accepted by @dschwartznyc