Skip to content
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

Jan Baserba Commodity Classification #2297

Conversation

regnosys-prod-user
Copy link
Collaborator

@regnosys-prod-user regnosys-prod-user commented Aug 3, 2023

Linked to Issue #2295 which describes the reasoning behind this PR

Commodity Classification (base product, subproduct, further subproduct)
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Aug 3, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@netlify
Copy link

netlify bot commented Aug 3, 2023

Deploy Preview for finos-cdm canceled.

Name Link
🔨 Latest commit daee6cc
🔍 Latest deploy log https://app.netlify.com/sites/finos-cdm/deploys/64de2fbe819dce0007f6dab3

className string (1..1) <"The name defined by the classification system for a specific attribute in the taxonomy.">
value string (1..1) <"The value set by the taxonomu that is specific to the className attribute.">
description string (0..1) <"A descuription of the class.">
className string (0..1) <"The name defined by the classification system for a specific attribute in the taxonomy">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you give a bit more detail as to why the cardinality of className has been relaxed please?


condition CommodityReferenceFrameworkChoice: <"Requires that either the capacity unit or weather unit is populated.">
optional choice capacityUnit, weatherUnit
commodityClassification Taxonomy (0..*) <"Identifies a commodity using one or several identification systems (ex.: EMIR Refit Table 4 of the Annex to the Comission Implementing Regulation C(2022) 3588, ISDA 2005 Commodity Definitions SubAnnex A, etc.) with any number of hierarchical layers.">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay so commodityClassification replaces commodityBase and subCommodity, as you can now use the new ordinal to define the level of the product i.e. sub, sub sub, etc etc, got it!

Copy link
Contributor

@chrisisla chrisisla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes make sense to me, I just have the one question on className.

Also it was quite hard to see the code changes due to the formatting (indentation) changes. Were these changes added by Rosetta do you know?

Thanks! Chris

@JanBaserba
Copy link
Contributor

JanBaserba commented Aug 4, 2023 via email

chrisisla
chrisisla previously approved these changes Aug 4, 2023
Copy link
Contributor

@chrisisla chrisisla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation @JanBaserba, I can understand why you have made this item optional now. Before committing the changes I think it would be worth another maintainer just double checking on className being optional, but other than that I'm happy with the changes and have approved this PR.

@finos/cdm-maintainers - please can one of you confirm you can't see any potential issues with className becoming an optional attribute.

rvincentISDA
rvincentISDA previously approved these changes Aug 4, 2023
@PayalKhanna PayalKhanna dismissed stale reviews from chrisisla and rvincentISDA via 786fde9 August 4, 2023 16:13
@SimonCockx
Copy link
Contributor

Hi @chrisisla and @JanBaserba. I see you have been experiencing an issue with indentation changes. This is not intended behaviour, so we've internally raised an issue for it. As a workaround, you can turn off any whitespace diffs while reviewing in GitHub, see screenshot below. I hope that helps.

image

@chrisisla
Copy link
Contributor

Thanks for the tip @SimonCockx !

@iansloyan
Copy link
Contributor

Hi Chris, className has been relaxed to (0..1) because, unlike in other usages of Taxonomy, in commodities we may not have the name of the class. For instance for EMIR we could potentially have the name of the layer or not: (className: Commodity Base) classValue: NRGY ordinal: 1 (className: SubProduct) classValue: OILP ordinal: 2 (className: Further SubProduct) classValue: BREN ordinal: 3 But for other classification systems like ISDA Commodity Definitions 2005 SubAnnex A the different layers do not have a name, therefore className does not really make sense. Ex: classValue: Energy ordinal: 1 classValue: Oil ordinal: 2 classValue: Oil-Brent ordinal: 3 Regarding indentation, yes, this is something Rosetta does on its own unfortunately...I removed the indentation changes before contributing but apparently Rosetta introduces them again afterwards...Apologies for that. I hope this answers your questions, but please let me know if you have any further doubts. Thank you very much for the revision, Jan

On Fri, Aug 4, 2023 at 10:53 AM Chris @.> wrote: @.* commented on this pull request. The changes make sense to me, I just have the one question on className. Also it was quite hard to see the code changes due to the formatting (indentation) changes. Were these changes added by Rosetta do you know? Thanks! Chris — Reply to this email directly, view it on GitHub <#2297 (review)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYTWB6ESDJ7JK3RD7HYNGN3XTS2A3ANCNFSM6AAAAAA3DFPL7A . You are receiving this because you were mentioned.Message ID: @.***>

I am not sure I understand this? Can you share with me the sub annex A examples that support the statement in second half of the comment above?

@iansloyan
Copy link
Contributor

@JanBaserba @mgratacos Why would you have a new special attribute in this payout (CommodityPayout) when you can just use productTaxonomy which is inherited from productBase? I cannot approve this change as it creates a new special taxonomy attribute for commodities in the product model. If productTaxonomy does not have the structure you need - then fix it. Do not create a duplicative attribute in Commodity Payout

@rvincentISDA
Copy link
Contributor

The data attribute of ProductTaxonomy are not applicable here according to their descriptions. The change is about classifying the underlying commodity product not the trade. The productQualifier would not work with the current design of the qualifications function. Accordingly we only need a commodityClassificiation attribute of type Taxonomy. It enables as classification per any taxonomy, including upcoming ISDA CRP's and other ESMA's. Current commodityBase and subCommodity will be represented via the attributes of Taxonomy. This design has been reviewed and approved with Commodity SMEs on the DPBE (inc. BNPP). We will need to visit in a second phase what additional data conditions is needed for the type Taxonomy.

@rvincentISDA
Copy link
Contributor

Point to note was that objective was not to start rationalising out components in the model yet but rather ensure we have elements that support the information needed first.

JanBaserba and others added 6 commits August 16, 2023 15:42
@iansloyan
Copy link
Contributor

I can approve this on proviso that some further adjustments to the conditions are made per discussion

rvincentISDA
rvincentISDA previously approved these changes Aug 17, 2023
@minesh-s-patel minesh-s-patel merged commit d88729d into finos:master Aug 18, 2023
7 checks passed
@PayalKhanna PayalKhanna deleted the jbaserba_auth0_61976bbbe96a6c0072a5f6c3-Jan_Baserba_Subproduct branch August 30, 2023 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants