FpML Issues Tracker

1155: Validation Rules and views

December 4, 2012

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:

    • Confirmation
    • Reporting

    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

    • Business rules for Transparency and Recordkeeping views are regulator specific and they keep changing.
    • The information is currently maintained by the FpML Reporting WG in a spreadsheet format.
    • We don’t have a demand currently to have validation rules for Transparency and Recordkeeping.
    • We agreed not to expand the current business rules for Transparency and Recordkeeping views for the moment.
  • Leave an update

    You must be logged in to post an update.