FpML Issues Tracker
closed
Minor
Have not tried
Validation Rules
danieldui
mgratacos
Summary
We need to organize better rules with relation to views.
1) Some rules that were present in 4.9 have been removed from the conf view in 5.x because they apply to the reporting view. But they are not included in the reporting view.
2) Many ID/IDREF Rules apply to multiple views. But they are included only in the Conf view.
3) Shared Rules: released currently only for conf view. Some shared rules could apply to multiple views. But they may need to be made more conservative because many elements are optional in views other than conf.
4) Product Specific rules: They apply only to the conf view. Many elements are optional in views other than conf view. Almost all rules would need to be re-formulated more conservatively.
5) Messaging Rules: All view-specific
6) Schemes: Apply to all rules.
Notes:
danieldui
12/04/12 3:51 pm
As a first step we want to deal with ID/IDREF.
Action: ISDA – Go through ID/IDREF rules in FpML 4.9 and indicate for each rule to which view the rule applies. Then check also FpML 5.x to make sure we have not missed any rule.
danieldui
12/17/12 10:40 am
To propagate rules to multiple view automatically, we could use a syntax similar to the one used in the master schema. E.g.:
mkoli
12/17/12 2:24 pm
Created an analysis (attached) to ensure all the ref rules from 4.9 are propagated to 5.X and specify in while views they should be available
danieldui
12/18/12 2:30 pm
TODO: ISDA – make changes as per spreadsheet.
Next step – analysis for shared rules.
mkoli
12/19/12 3:48 pm
http://www.fpml.org/issues/view.php?id=1155
As discussed in 12/4/2012 meeting made the reference rules generation available in all views and added constraints for view not applicable in the transparency view.
Changes have been checked in files:
fpml-validation-architecture.xml
rules-english-ref.xml
do-validation-rules.bat (generation script)
danieldui
01/15/13 2:09 pm
Actions:
ISDA: Please add ID/IDREF rules also to pre-trade view
Update from Maithili – Analysis ongoing. Please post share results when ready.
Other discussions:
We said that not shared rules may be propagated and that they need to be updated to work on multiple rules.
We agreed that product rules should not be propagated.
mkoli
01/22/13 8:36 pm
Attaching the analysis for shared rules
danieldui
01/28/13 4:06 pm
Commenting on the analysis spreadsheet:
It’s not clear to me now why rules shared-2 and shared-3 were removed. I also noticed that the annotation for the Offset type is out of date. The rule was written when dayType could be only “Business” or “Calandar”, whereas now it can have also other values.
I think that shared-16 and shared-17 are not needed because ref-29 enforces this constraint.
See updated excel file for shared-29.
danieldui
01/29/13 3:28 pm
Maithili provided a spreadsheet with the result of her analysis.
all rules that are not removed or deprecated in 4.9 and 5.4 can be propagated to other views.
One exception is shared-29, which will not be propagated because the elements over whiuch the rule is expressed are optional in the other views.
ACTION: Maithili – please propagate rules to other views.
danieldui
02/26/13 3:16 pm
Clarification: At the last meeting we decided that Rule shared-29 should be included only in the confirmation view. Not in other views, because the elements in question are either absent or optional. In the former case having the rule makes no sense. In the latter case the rule would need to be changed which is something that we decided not to do.
ACTION: DD Check spreadsheet again. In particular shared-4, 5, 15, 25, 26.
ACTION: ISDA/Maithili: Analysis about propagation of rule shared-5.
mkoli
03/20/13 6:52 pm
As discussed in the March 11 meeting- the examples/test cases in other cases have not been created. As an action ISDA/Maithili will be commenting the reference of test cases from other views.
danieldui
04/09/13 1:53 pm
mkoli
06/18/13 12:02 pm
Daniel- I have created ref rules for Ref -1 / 7/8/9/11/12/25/26/27/33/34/38. Please find attached and review.
danieldui
06/25/13 3:26 pm
We decided to proceed as follows:
1) Create rules for other views
2) Review within ISDA
3) Review with VWG
4) create test cases
5) Add note in confirmation view documentation mentioning that the rules are now included in the reporting view.
6) When done check also issue 1013
ACTION: Maithili owns this piece of work.
danieldui
07/16/13 1:18 pm
Still in progress.
– Some Rules are ready for review.
danieldui
07/30/13 2:07 pm
Still in progress.
– Some Rules are ready for review.
danieldui
08/19/13 9:41 am
Maithili prepared some test cases to review (2013_08_13_validation_rules.zip)
danieldui
08/19/13 9:42 am
Andrew Jacobs reviewed the rules:
invalid-ref-7-01.xml contains the wrong kind of product. The file contains an interest rate swap but the rule only applies to equity swaps.
The other examples trigger the right rules. Here is the trace output
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-1-01.xml
ref-1 /requestMargin/expectedCollateral/variationMargin/return/cash/assetReference The @href attribute of a ‘AssetReference’ element should match with an @id attribute on a ‘Asset’ element. [party1]
col-1 /requestMargin The value of the variationMargin amounts are not equal
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-11-01.xml
ref-11 /dataDocument/trade/swap/swapStream[1]/settlementProvision/nonDeliverableSettlement/fxFixingDate/dateRelativeToPaymentDates/paymentDatesReference The @href attribute of a ‘PaymentDatesReference’ element should match with an @id attribute on a ‘PaymentDates’ element. [PrincipalExchanges]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-12-01.xml
ref-8 /dataDocument/trade/swap/swapStream[1]/settlementProvision/nonDeliverableSettlement/fxFixingDate/dateRelativeToCalculationPeriodDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [floatingLegTerminationDate]
ref-8 /dataDocument/trade/swap/swapStream[2]/settlementProvision/nonDeliverableSettlement/fxFixingDate/dateRelativeToCalculationPeriodDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [fixedLegTerminationDate]
ref-12 /dataDocument/trade/swap/swapStream[2]/paymentDates/resetDatesReference The @href attribute of a ‘ResetDatesReference’ element should match with an @id attribute on a ‘ResetDates’ element. [partyA]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-13-01.xml
ref-13 /dataDocument/trade/creditDefaultSwapOption/feature/knock/knockOut/trigger/creditEventsReference The @href attribute of a ‘CreditEventsReference’ element should match with an @id attribute on a ‘CreditEvents’ element. [PartyA]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-14-01.xml
ref-14 /tradeCashflowsAsserted/payment/calculationDetails[1]/calculationElements/calculationPeriod[1]/calculatedRateReference The @href attribute of a ‘CashflowFixingReference’ element should match with an @id attribute on a ‘CashflowFixing’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-15-01.xml
ref-15 /tradeCashflowsAsserted/payment/calculationDetails[1]/calculationElements/calculatedRate[1]/observationReference The @href attribute of a ‘CashflowObservationReference’ element should match with an @id attribute on a ‘CashflowObservation’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-16-01.xml
scheme-75 /positionReport/position/constituent/trade/swap/productType An unrecognized scheme URI has been used as a qualifier [http://www.datastandardsworkinggroup.org/products-1-0]
ref-16 /positionReport/position/payment/calculationDetails/calculationElements/calculationPeriod/fixedRateStepReference The @href attribute of a ‘StepReference’ element should match with an @id attribute on a ‘Step’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-17-01.xml
ref-17 /tradeCashflowsAsserted/payment/calculationDetails[2]/observationElements/underlyerReference The @href attribute of a ‘TradeUnderlyerReference’ element should match with an @id attribute on a ‘TradeUnderlyer’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-19-01.xml
ref-19 /requestValuationReport/portfolioValuationItem/tradeValuationItem/valuationSet/valuationScenario/marketReference The @href attribute of a ‘MarketReference’ element should match with an @id attribute on a ‘Market’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-2-01.xml
ref-2 /requestValuationReport/tradeValuationItem/trade/creditDefaultSwapOption/strike/strikeReference The @href attribute of a ‘FixedRateReference’ element should match with an @id attribute on a ‘FixedRate’ element. [SPREAD]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-20-01.xml
ref-20 /requestValuationReport/market/volatilityMatrixValuation/dataPoints/point/coordinateReference The @href attribute of a ‘PricingDataPointCoordinateReference’ element should match with an @id attribute on a ‘PricingDataPointCoordinate’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-21-01.xml
ref-31 /valuationReport/portfolioValuationItem/tradeValuationItem/valuationSet/sensitivitySetDefinition/pricingInputReference The @href attribute of a ‘PricingStructureReference’ element should match with an @id attribute on a ‘PricingStructure’ element. [yc1-vals]
ref-21 /valuationReport/portfolioValuationItem/tradeValuationItem/valuationSet/sensitivitySetDefinition/sensitivityDefinition[15]/formula/term/partialDerivativeReference The @href attribute of a ‘PricingParameterDerivativeReference’ element should match with an @id attribute on a ‘PricingParameterDerivative’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-3-01.xml
ref-3 /requestValuationReport/tradeValuationItem/trade/creditDefaultSwap/generalTerms/basketReferenceInformation/referencePool/referencePoolItem[1]/protectionTermsReference The @href attribute of a ‘ProtectionTermsReference’ element should match with an @id attribute on a ‘ProtectionTerms’ element. [creditEventOne]
ref-3 /requestValuationReport/tradeValuationItem/trade/creditDefaultSwap/generalTerms/basketReferenceInformation/referencePool/referencePoolItem[2]/protectionTermsReference The @href attribute of a ‘ProtectionTermsReference’ element should match with an @id attribute on a ‘ProtectionTerms’ element. [party1]
ref-3 /requestValuationReport/tradeValuationItem/trade/creditDefaultSwap/generalTerms/basketReferenceInformation/referencePool/referencePoolItem[3]/protectionTermsReference The @href attribute of a ‘ProtectionTermsReference’ element should match with an @id attribute on a ‘ProtectionTerms’ element. [creditEventTwo]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-7-01.xml
ref-8 /dataDocument/trade/swap/swapStream[1]/paymentDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [party1]
ref-8 /dataDocument/trade/swap/swapStream[1]/resetDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [floatingSwapStream]
ref-8 /dataDocument/trade/swap/swapStream[2]/paymentDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [fixedSwapStreamCalcPeriodDates]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-8-01.xml
ref-8 /dataDocument/trade/swap/swapStream[1]/paymentDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [party1]
ref-8 /dataDocument/trade/swap/swapStream[1]/resetDates/calculationPeriodDatesReference The @href attribute of a ‘CalculationPeriodDatesReference’ element should match with an @id attribute on a ‘CalculationPeriodDates’ element. [party1]
>> files-fpmltest-casesfpml5-6reportinginvalid-testcasesinvalid-ref-9-01.xml
ref-9 /dataDocument/trade/swap/cancelableProvision/finalCalculationPeriodDateAdjustment/swapStreamReference The @href attribute of a ‘InterestRateStreamReference’ element should match with an @id attribute on a ‘InterestRateStream’ element. [party1]
danieldui
08/20/13 1:36 pm
Actions:
– MK: check the example that AJ has flagged.
– MK + ISDA: keep working on 2nd batch of examples (22-38)
mgratacos
10/03/18 5:30 am
Assigned to mgratacos.
mgratacos
08/28/19 9:40 am
We currently have rules for the following views:
We need to discuss with the FpML AWG the coverage for Recordkeeping and Transparency views.
mgratacos
09/06/19 5:00 am
AWG 2019-09-05