821: invalid-fx-45-01.xml does not exercise fx-45

The validation rule sample invalid-fx-45-01.xml does not exercise rule fx-45. The rule today is: ” fx-45 (Mandatory) Context: FxAverageRateOption (complex type) [exists(fxOptionPremium)] buyerPartyReference/@href = fxOptionPremium/payerPartyReference/@href and sellerPartyReference/@href = fxOptionPremium/receiverPartyReference/@href. Test cases: [Invalid] ” The problem is that the sample is a Digital Option, not a FXAverageRateOption: CITI10019 UBSW20019 2001-11-12 Double no touch

819: fx-26 unhandled condition

The rules fx-26 has an unhandled condition. There is a test on fxSingleLegvalueDate, but this field may not exist. The outcome is undefined if the field does not exist. According to the FpML Rules Specification the outcome must always evaluate to 1 boolean result for each test. The rule today: ” fx-26 (Mandatory) Context: FxSwap … Continued

818: fx-24 refers to non-existent element

fx-24 refers to //element(*, FXOptionLeg)/rate which is an element that does not exist in FpML. The rule today: ” fx-24 (Mandatory) Context: FxOptionLeg (complex type) rate > 0. ” The element rate does not exist in this context.

816: rewrite fx-13 as per the FpML rule specification guidelines

fx-13 should be written out as per the FpML rule specification guidelines. The rule today is: ” fx-13 (Mandatory) Context: FxAverageRateOption (complex type) [exists(averageRateObservationDate elements)] Each observedRates/observationDate should match one of the dates defined by averageRateObservationDate/observationDate. ” 1. The use of “should” must be replace with something stronger (like “must”). 2. The function “match” is … Continued

815: fx-12 needs defining completely

The current fx-12 leaves a large amount to interpretation: ” fx-12 (Mandatory) Context: FxAverageRateOption (complex type) [exists(averageRateObservationSchedule)] The values of observedRates/observationDate should match the calculated schedule dates derived from parameters defined within the averageRateObservationSchedule element and the business day calendar implied by fixingTime/businessCenter. ” The rule must define: “match”, “calculated schedule date”, the derivation process … Continued

814: invalid-fx-10-01 does not exercise the rule

The invalid sample invalid-fx-10-01.xml does not exercise rule fx-10 because the guard on the rule only applying to periods in days rules out this sample. The guard is added in issue #813. 2001-11-01 2001-11-30 4 M NONE The sample needs to be changed to exercise the rule. The same problem also occurs with invalid-fx-10-02.xml

813: fx-10 only works on Day Periods.

fx-10 is currently defined as: ” fx-10 (Mandatory) Context: FxAverageRateObservationSchedule (complex type) The observation period defined by observationStartDate and observationEndDate should be an integer multiple of the calculationPeriodFrequency. ” This calculation only makes sense where /FpML/trade/fxAverageRateOption/averageRateObservationSchedule/calculationPeriodFrequency/period is a day. It does not make sense to divide days by months, years, or anything else. The additional … Continued

812: SameCurrencyScheme should be a function

The Condition “SameCurrencyScheme” should be a function according to the FpML Rules Specification. Please rewrite this as a function. ” Condition: SameCurrencyScheme Elements containing currency code values (e.g. GBP, USD, etc.) can only be tested for equality or inequality if they are both reference the same currency scheme URI in their currencyScheme attribute. ” There … Continued