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

811: fx-2 change to use exists() as a function.

fx-2 requires changing to follow the specification guidelines to use exists() as a function. The rule today is: ” fx-2 (Mandatory) Context: ExchangeRate (complex type) [exists(forwardPoints)] spotRate must exist. ” The rule should be: ” fx-2 (Mandatory) Context: ExchangeRate (complex type) [exists(forwardPoints)] exists(spotRate) “

810: ref-6 is incorrect

The rule says: ref-6 (Mandatory) Context: InterestCalculationReference (complex type) The @href attribute = the @id attribute of an element of type InterestCalculation. But The InterestCalculation type does not have any attributes so it can’t be referenced. From examining the examples the correct referenced type is Rate which has an associates RateReference type an is validated … Continued