-
Notifications
You must be signed in to change notification settings - Fork 60
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
Marc Gratacos Updated Qualifying functions for Known Amount ZC #2560
Marc Gratacos Updated Qualifying functions for Known Amount ZC #2560
Conversation
Release CDM version 6.0.0-dev.x
Updated the qualifying functions and synonym mappings for Known Amount ZC Swaps.
✅ Deploy Preview for finos-cdm ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
This PR replaces Eric's PR 2540 #2540 |
Please add the following labels to this PR: |
Background The qualification function for a zero-coupon swap is too restrictive in CDM, since it requires that all the payout legs should feature one unique payment at Term. Normally a zero coupon only points out that at least one leg has a unique payment made at term. This release fixes this, along with some inaccurate provisions of qualifying functions regarding zero-coupon swaps. In addition, a new This release also removes the use of conditional synonym mappings from FpML to CDM of the What is being released?
Qualification
Translate
Review directions In the CDM Portal, select the Textual Browser and inspect each of the changes identified above. Inspect Pull Request: #2560 |
* Fixed CVE scan * Added JAVA_HOME env * Fixed versioning * Fixed versioning * Fixed versioning
* Corrected action workflows * Test * Test * Fixed * Cleaned
@@ -1084,7 +1095,7 @@ func Qualify_InterestRate_IRSwap_Basis: <"Qualifies a product as a Basis (Float- | |||
and Qualify_SubProduct_Basis(economicTerms) = True | |||
and Qualify_Transaction_OIS(economicTerms) = False | |||
|
|||
func Qualify_InterestRate_IRSwap_FixedFloat_ZeroCoupon: <"Qualifies a product as a Fixed-Float Zero Coupon Interest Rate Swap based on the economic terms and the following criteria: 1) An interest rate product with one fixed and one floating leg and more than one payment, 2) without inflation features or cross-currency features, and 3) where the floating leg is not based on an OIS index."> | |||
func Qualify_InterestRate_IRSwap_FixedFloat_ZeroCoupon: <"Qualifies a product as a Fixed-Float Zero Coupon Interest Rate Swap based on the economic terms and the following criteria: 1) An interest rate product with one fixed and one floating leg, 2) where the fixed leg represents one singular payment agreed upon execution and to be made at maturity, 3) where the floating leg is not based on an OIS index and 4) without any inflation features or cross-currency features."> |
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.
This function should call Qualify_Transaction_ZeroCoupon_KnownAmount
@@ -1191,7 +1202,7 @@ func Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_Year: <"Qualifies a pr | |||
* and Qualify_InterestRate_InflationSwap_Basis_ZeroCoupon (economicTerms) = False | |||
* and Qualify_InterestRate_InflationSwap_Basis_YearOn_Year (economicTerms) = False | |||
*/ | |||
func Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon: <"Qualifies a product as a Fixed-Float Inflation Swap with a single accrual period based on the economic terms and the following criteria: 1) An interest rate product with one fixed and one inflation rate leg and more than one payment, and 2) without cross-currency features."> | |||
func Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon: <"Qualifies a product as a Fixed-Float Inflation Swap based on the economic terms and the following criteria: 1) An interest rate product with one fixed and one inflation rate leg, 2) where the fixed leg represents one singular payment agreed upon execution and to be made at maturity, 3) where the inflation leg features an inflation floating rate and 4) without cross-currency features."> |
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.
This function should call Qualify_Transaction_ZeroCoupon_KnownAmount
Qualify_SubProduct_FixedFloat(economicTerms) = True and | ||
Qualify_Transaction_ZeroCoupon(economicTerms) = True and | ||
(economicTerms -> payout -> interestRatePayout | ||
filter item -> priceQuantity exists and rateSpecification is absent and paymentDates -> paymentFrequency -> periodMultiplier = 1 and paymentDates -> paymentFrequency -> period = PeriodExtendedEnum -> T then exists) |
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.
the logic should rather check that if rateSpecification is present it is a fixed rate. The peer review group indicated that a Zerocoupon_knownamount can also feature accruals but they have to be deterministic i.e. fixed rate.
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.
No, it doesn't include the fixed rate. That's the whole point about ZC with a Known Amount. There is no fixed rate in the fixed leg. The Known Amount is the result of the accrued fixed rate calculations so the fixed rate is not included as part of the product representation, only the resulting calculated amount.
Updated the Qualifying functions for Known Amount Zero Coupon Swaps.
This reverts commit b297b46.
This reverts commit 42aedde.
7cb1008
to
506f6ac
Compare
I just saw that there is a problem potentially. I don't think the following is correct for Qualify_InterestRate_IRSwap_FixedFloat_ZeroCoupon and for Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon |
Replaced by #2571 |
No description provided.